Merge branch '3.0' into fix/unclosed-client-session-websocket-proxy

This commit is contained in:
Guobin Yue authored and GitHub committed 2026-05-19 00:02:26 +08:00
commit 11fe3a24cf
19 files changed
+548 -523

No files matched your search

+31 -16
View File
@@ -1,41 +1,56 @@
{
"appliance_id": "088df570-f637-46f5-8a68-85acde538e5e",
"appliance_id": "8fecbf89-5cd1-4aea-b735-5f36cf0efbb7",
"name": "BIRD",
"category": "router",
"description": "The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General Public License.",
"vendor_name": "CZ.NIC Labs",
"vendor_url": "http://bird.network.cz/",
"documentation_url": "http://bird.network.cz/?get_doc&f=bird.html",
"vendor_url": "https://bird.network.cz",
"documentation_url": "https://bird.network.cz/?get_doc&f=bird.html&v=20",
"product_name": "BIRD internet routing daemon",
"registry_version": 4,
"status": "stable",
"maintainer": "GNS3 Team",
"maintainer_email": "developers@gns3.net",
"usage": "\n*** BIRD v1 is end-of-life ***\nPlease use the BIRD2 appliance.\n\nConfigure interfaces in /opt/bootlocal.sh, BIRD configuration is done in /usr/local/etc/bird",
"maintainer": "Bernhard Ehlers",
"maintainer_email": "dev-ehlers@mailbox.org",
"usage": "Username:\tgns3\nPassword:\tgns3\nTo become root, use \"sudo -s\".\n\nNetwork configuration:\nsudo nano /etc/network/interfaces\nsudo systemctl restart networking\n\nBIRD:\nRestart: sudo systemctl restart bird\nReconfigure: birdc configure",
"port_name_format": "eth{0}",
"qemu": {
"adapter_type": "e1000",
"adapter_type": "virtio-net-pci",
"adapters": 4,
"ram": 128,
"hda_disk_interface": "ide",
"ram": 512,
"hda_disk_interface": "scsi",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "allow"
},
"images": [
{
"filename": "bird-tinycore64-1.5.0.img",
"version": "1.5.0",
"md5sum": "08d50ba2b1b262e2e03e4babf90abf69",
"filesize": 22413312,
"filename": "bird2-debian-2.14.qcow2",
"version": "2.14",
"md5sum": "029cf1756201ee79497c169502b08b88",
"filesize": 303717376,
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird-tinycore64-1.5.0.img"
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.14.qcow2"
},
{
"filename": "bird2-debian-2.0.12.qcow2",
"version": "2.0.12",
"md5sum": "435218a2e90cba921cc7fde1d64a9419",
"filesize": 287965184,
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.0.12.qcow2"
}
],
"versions": [
{
"name": "1.5.0",
"name": "2.14",
"images": {
"hda_disk_image": "bird-tinycore64-1.5.0.img"
"hda_disk_image": "bird2-debian-2.14.qcow2"
}
},
{
"name": "2.0.12",
"images": {
"hda_disk_image": "bird2-debian-2.0.12.qcow2"
}
}
]
-57
View File
@@ -1,57 +0,0 @@
{
"appliance_id": "8fecbf89-5cd1-4aea-b735-5f36cf0efbb7",
"name": "BIRD2",
"category": "router",
"description": "The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General Public License.",
"vendor_name": "CZ.NIC Labs",
"vendor_url": "https://bird.network.cz",
"documentation_url": "https://bird.network.cz/?get_doc&f=bird.html&v=20",
"product_name": "BIRD internet routing daemon",
"registry_version": 4,
"status": "stable",
"maintainer": "Bernhard Ehlers",
"maintainer_email": "dev-ehlers@mailbox.org",
"usage": "Username:\tgns3\nPassword:\tgns3\nTo become root, use \"sudo -s\".\n\nNetwork configuration:\nsudo nano /etc/network/interfaces\nsudo systemctl restart networking\n\nBIRD:\nRestart: sudo systemctl restart bird\nReconfigure: birdc configure",
"port_name_format": "eth{0}",
"qemu": {
"adapter_type": "virtio-net-pci",
"adapters": 4,
"ram": 512,
"hda_disk_interface": "scsi",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "allow"
},
"images": [
{
"filename": "bird2-debian-2.14.qcow2",
"version": "2.14",
"md5sum": "029cf1756201ee79497c169502b08b88",
"filesize": 303717376,
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.14.qcow2"
},
{
"filename": "bird2-debian-2.0.12.qcow2",
"version": "2.0.12",
"md5sum": "435218a2e90cba921cc7fde1d64a9419",
"filesize": 287965184,
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.0.12.qcow2"
}
],
"versions": [
{
"name": "2.14",
"images": {
"hda_disk_image": "bird2-debian-2.14.qcow2"
}
},
{
"name": "2.0.12",
"images": {
"hda_disk_image": "bird2-debian-2.0.12.qcow2"
}
}
]
}
+1 -1
View File
@@ -58,7 +58,7 @@ class CrashReport:
Report crash to a third party service
"""
DSN = "https://802f8f0336dbfdf312ac94641ea9e8ff@o19455.ingest.us.sentry.io/38482"
DSN = "https://2fe45e33c13e7f8cc1f5483e323765f8@o19455.ingest.us.sentry.io/38482"
_instance = None
def __init__(self):
@@ -0,0 +1 @@
import{$ as a}from"./chunk-6EPHFCHO.js";import"./chunk-LG2N72QL.js";export{a as TopologySummaryComponent};
@@ -1 +0,0 @@
import{Qf as a}from"./chunk-UKWNOQKZ.js";export{a as TopologySummaryComponent};
@@ -0,0 +1,18 @@
import{$a as N,$b as di,$d as Se,$e as Q,A as Ye,Aa as Wt,Ab as kt,Ba as Y,Bb as Ot,Bc as bi,Cb as ke,Cd as Ci,D as Ke,Da as O,Dc as W,Dd as Ti,Ea as ai,Ed as ae,Ee as le,F as J,Fc as S,Fe as Bi,G as dt,Gb as lt,Gc as bt,Gd as ne,Ge as zi,Hb as Rt,Hc as gi,Ib as u,Id as U,Ie as Ni,Jb as si,Je as ji,Kb as p,Kd as qt,Ke as Ut,Lb as B,Ld as oe,Le as ce,M as Ze,Mb as y,Md as Mi,N as Xe,Nb as et,Nd as Si,Oa as ye,Ob as V,Oc as vi,Od as Lt,Oe as de,Pa as c,Pb as m,Pd as Ii,Pe as Vi,Qb as h,Qd as ct,Qe as Hi,Ra as rt,Rb as li,Rc as yi,Re as $i,Sa as Dt,Sb as ci,Sc as xi,Sd as re,Tb as we,Td as Di,U as Je,Ua as st,Ub as ht,Ue as Wi,Vb as Ce,Ve as Ie,W as ti,Wb as _,Wc as ki,Wd as Ei,We as Qi,X as ei,Xa as ee,Xb as _t,Xd as Fi,Xe as K,Y as at,Yb as E,Yd as Oi,Z as $t,Zb as pt,Zd as se,Ze as Gi,_ as I,_a as C,_b as ft,_d as Me,a as X,ab as x,ac as mi,ae as Pt,af as De,bc as hi,bf as Yt,cc as pi,cf as gt,da as P,db as q,dc as fi,ea as z,eb as tt,ef as Ct,fb as ni,fe as Ri,g as it,ga as w,gc as $,gf as Kt,ha as nt,hb as oi,hc as ui,he as Ai,hf as qi,i as Jt,ia as r,ic as _i,if as Ui,j as k,jf as vt,k as St,lf as me,ma as R,mb as ri,me as Li,na as A,nb as T,nd as wi,nf as Yi,o as Ue,oa as mt,od as wt,of as Ki,pb as g,q as te,qa as G,qc as Te,ra as It,rb as v,rd as Gt,tb as xe,ua as F,ub as Et,uc as At,ud as ot,v as Ht,va as H,vb as Ft,vd as ut,wb as D,wc as ie,wd as j,we as Pi,xb as l,ya as Z,yb as d,za as ii,zb as M,zc as Qt}from"./chunk-LG2N72QL.js";var Ee=class{_box;_destroyed=new k;_resizeSubject=new k;_resizeObserver;_elementObservables=new Map;constructor(s){this._box=s,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(t=>this._resizeSubject.next(t)))}observe(s){return this._elementObservables.has(s)||this._elementObservables.set(s,new Jt(t=>{let e=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(s,{box:this._box}),()=>{this._resizeObserver?.unobserve(s),e.unsubscribe(),this._elementObservables.delete(s)}}).pipe(dt(t=>t.some(e=>e.target===s)),ti({bufferSize:1,refCount:!0}),I(this._destroyed))),this._elementObservables.get(s)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},he=(()=>{class a{_cleanupErrorListener;_observers=new Map;_ngZone=r(H);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,t]of this._observers)t.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(t,e){let i=e?.box||"content-box";return this._observers.has(i)||this._observers.set(i,new Ee(i)),this._observers.get(i).observe(t)}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var Bt=["*"];function on(a,s){a&1&&y(0)}var ta=["tabListContainer"],ea=["tabList"],ia=["tabListInner"],aa=["nextPaginator"],na=["previousPaginator"],rn=["content"];function sn(a,s){}var ln=["tabBodyWrapper"],cn=["tabHeader"];function dn(a,s){}function mn(a,s){if(a&1&&tt(0,dn,0,0,"ng-template",12),a&2){let t=p().$implicit;D("cdkPortalOutlet",t.templateLabel)}}function hn(a,s){if(a&1&&E(0),a&2){let t=p().$implicit;pt(t.textLabel)}}function pn(a,s){if(a&1){let t=lt();l(0,"div",7,2),u("click",function(){let i=R(t),n=i.$implicit,o=i.$index,f=p(),b=ht(1);return A(f._handleClick(n,b,o))})("cdkFocusChange",function(i){let n=R(t).$index,o=p();return A(o._tabFocusChanged(i,n))}),M(2,"span",8)(3,"div",9),l(4,"span",10)(5,"span",11),g(6,mn,1,1,null,12)(7,hn,1,1),d()()()}if(a&2){let t=s.$implicit,e=s.$index,i=ht(1),n=p();_t(t.labelClass),_("mdc-tab--active",n.selectedIndex===e),D("id",n._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",n.fitInkBarToContent),T("tabIndex",n._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",n._tabs.length)("aria-controls",n._getTabContentId(e))("aria-selected",n.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),c(3),D("matRippleTrigger",i)("matRippleDisabled",t.disabled||n.disableRipple),c(3),v(t.templateLabel?6:7)}}function fn(a,s){a&1&&y(0)}function un(a,s){if(a&1){let t=lt();l(0,"mat-tab-body",13),u("_onCentered",function(){R(t);let i=p();return A(i._removeTabBodyWrapperHeight())})("_onCentering",function(i){R(t);let n=p();return A(n._setTabBodyWrapperHeight(i))})("_beforeCentering",function(i){R(t);let n=p();return A(n._bodyCentered(i))}),d()}if(a&2){let t=s.$implicit,e=s.$index,i=p();_t(t.bodyClass),D("id",i._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",i.animationDuration)("preserveContent",i.preserveContent),T("tabindex",i.contentTabIndex!=null&&i.selectedIndex===e?i.contentTabIndex:null)("aria-labelledby",i._getTabLabelId(t,e))("aria-hidden",i.selectedIndex!==e)}}var _n=["mat-tab-nav-bar",""],bn=["mat-tab-link",""],gn=new w("MatTabContent"),vn=(()=>{class a{template=r(Dt);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matTabContent",""]],feLine truncated
`],encapsulation:2})}return a})(),da=new w("MAT_TABS_CONFIG"),Ji=(()=>{class a extends Lt{_host=r(Oe);_ngZone=r(H);_centeringSub=it.EMPTY;_leavingSub=it.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(at(this._host._isCenterPosition())).subscribe(t=>{this._host._content&&t&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matTabBodyHost",""]],features:[q]})}return a})(),Oe=(()=>{class a{_elementRef=r(O);_dir=r(ut,{optional:!0});_ngZone=r(H);_injector=r(G);_renderer=r(st);_diAnimationsDisabled=Q();_eventCleanups;_initialized=!1;_fallbackTimer;_positionIndex;_dirChangeSubscription=it.EMPTY;_position;_previousPosition;_onCentering=new F;_beforeCentering=new F;_afterLeavingCenter=new F;_onCentered=new F(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(t){this._positionIndex=t,this._computePositionAnimationState()}constructor(){if(this._dir){let t=r(W);this._dirChangeSubscription=this._dir.change.subscribe(e=>{this._computePositionAnimationState(e),t.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),rt(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(t=>t()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let t=this._elementRef.nativeElement,e=i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),i.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(t,"transitionstart",i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(t,"transitionend",e),this._renderer.listen(t,"transitioncancel",e)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let t=this._position==="center";this._beforeCentering.emit(t),t&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(t){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",t)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(t=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=t=="ltr"?"left":"right":this._positionIndex>0?this._position=t=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),rt(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(e&1&&V(Ji,5)(rn,5),e&2){let n;m(n=h())&&(i._portalHost=n.first),m(n=h())&&(i._contentElement=n.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(e,i){e&2&&T("inert",i._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(e,i){e&1&&(l(0,"div",1,0),tt(2,sn,0,0,"ng-template",2),d()),e&2&&_("mat-tab-body-content-left",i._position==="left")("mat-tab-body-content-right",i._position==="right")("mat-tab-body-content-can-animate",i._position==="center"||i._previousPosition==="center")},dependencies:[Ji,Ti],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mLine truncated
`],encapsulation:2})}return a})(),ma=(()=>{class a{_elementRef=r(O);_changeDetectorRef=r(W);_ngZone=r(H);_tabsSubscription=it.EMPTY;_tabLabelSubscription=it.EMPTY;_tabBodySubscription=it.EMPTY;_diAnimationsDisabled=Q();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new ai;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(t){this._fitInkBarToContent=t,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=isNaN(t)?null:t}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(t){this._contentTabIndex=isNaN(t)?null:t}_contentTabIndex=null;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new F;focusChange=new F;animationDone=new F;selectedTabChange=new F(!0);_groupId;_isServer=!r(ot).isBrowser;constructor(){let t=r(da,{optional:!0});this._groupId=r(U).getId("mat-tab-group-"),this.animationDuration=t&&t.animationDuration?t.animationDuration:"500ms",this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.dynamicHeight=t&&t.dynamicHeight!=null?t.dynamicHeight:!1,t?.contentTabIndex!=null&&(this.contentTabIndex=t.contentTabIndex),this.preserveContent=!!t?.preserveContent,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0,this.alignTabs=t&&t.alignTabs!=null?t.alignTabs:null}ngAfterContentChecked(){let t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){let e=this._selectedIndex==null;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));let i=this._tabBodyWrapper.nativeElement;i.style.minHeight=i.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((i,n)=>i.isActive=n===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,i)=>{e.position=i-t,this._selectedIndex!=null&&e.position==0&&!e.origin&&(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let t=this._clampTabIndex(this._indexToSelect);if(t===this._selectedIndex){let e=this._tabs.toArray(),i;for(let n=0;n<e.length;n++)if(e[n].isActive){this._indexToSelect=this._selectedIndex=n,this._lastFocusedTabIndex=null,i=e[n];break}!i&&e[t]&&Promise.resolve().then(()=>{e[t].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(t))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(at(this._allTabs)).subscribe(t=>{this._tabs.reset(t.filter(e=>e._closestTabGroup===this||!e._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(t){let e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this._lastFocusedTabIndex=t,this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){let e=new Re;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=J(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t,e){return t.id||`${this._groupId}-label-${e}`}_getTabContentId(t){return`${this._groupId}-content-${t}`}_setTabBodyWrapperHeight(t){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=t;return}let e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){let t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeig Line truncated
`],encapsulation:2})}return a})(),Re=class{index;tab},Tn=(()=>{class a extends ca{_focusedItem=Z(null);get fitInkBarToContent(){return this._fitInkBarToContent.value}set fitInkBarToContent(t){this._fitInkBarToContent.next(t),this._changeDetectorRef.markForCheck()}_fitInkBarToContent=new St(!1);stretchTabs=!0;get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;_items;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;get disableRipple(){return this._disableRipple()}set disableRipple(t){this._disableRipple.set(t)}_disableRipple=Z(!1);color="primary";tabPanel;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;constructor(){let t=r(da,{optional:!0});super(),this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0}_itemSelected(){}ngAfterContentInit(){this._inkBar=new pe(this._items),this._items.changes.pipe(at(null),I(this._destroyed)).subscribe(()=>this.updateActiveLink()),super.ngAfterContentInit(),this._keyManager.change.pipe(at(null),I(this._destroyed)).subscribe(()=>this._focusedItem.set(this._keyManager?.activeItem||null))}ngAfterViewInit(){this.tabPanel,super.ngAfterViewInit()}updateActiveLink(){if(!this._items)return;let t=this._items.toArray();for(let e=0;e<t.length;e++)if(t[e].active){this.selectedIndex=e,this.tabPanel&&(this.tabPanel._activeTabId=t[e].id),this._focusedItem.set(t[e]),this._changeDetectorRef.markForCheck();return}this.selectedIndex=-1}_getRole(){return this.tabPanel?"tablist":this._elementRef.nativeElement.getAttribute("role")}_hasFocus(t){return this._keyManager?.activeItem===t}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["","mat-tab-nav-bar",""]],contentQueries:function(e,i,n){if(e&1&&et(n,Mn,5),e&2){let o;m(o=h())&&(i._items=o)}},viewQuery:function(e,i){if(e&1&&V(ta,7)(ea,7)(ia,7)(aa,5)(na,5),e&2){let n;m(n=h())&&(i._tabListContainer=n.first),m(n=h())&&(i._tabList=n.first),m(n=h())&&(i._tabListInner=n.first),m(n=h())&&(i._nextPaginator=n.first),m(n=h())&&(i._previousPaginator=n.first)}},hostAttrs:[1,"mat-mdc-tab-nav-bar","mat-mdc-tab-header"],hostVars:17,hostBindings:function(e,i){e&2&&(T("role",i._getRole()),Ce("--mat-tab-animation-duration",i.animationDuration),_("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl",i._getLayoutDirection()=="rtl")("mat-mdc-tab-nav-bar-stretch-tabs",i.stretchTabs)("mat-primary",i.color!=="warn"&&i.color!=="accent")("mat-accent",i.color==="accent")("mat-warn",i.color==="warn")("_mat-animation-noopable",i._animationsDisabled))},inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",S],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",S],animationDuration:"animationDuration",backgroundColor:"backgroundColor",disableRipple:[2,"disableRipple","disableRipple",S],color:"color",tabPanel:"tabPanel"},exportAs:["matTabNavBar","matTabNav"],features:[q],attrs:_n,ngContentSelectors:Bt,decls:13,vars:6,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-link-container",3,"keydown"],[1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-links"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(e,i){e&1&&(B(),l(0,"div",5,0),u("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(o){return i._handlePaginatorPress("before",o)})("touchend",function(){return i._stopInterval()}),M(2,"div",6),d(),l(3,"div",7,1),u("keydown",function(o){return i._handleKeydown(o)}),l(5,"div",8,2),u("cdkObserveContent",function(){return i._onContentChanges()}),l(7,"div",9,3),y(9),d()()(),l(10,"div",10,4),u("mousedown",function(o){return i._handlePaginatorPress("after",o)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),M(12,"div",6),d()),e&2&&(_("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),D("matRippleDisabled",i._disableScrollBefore||i.disableRipple),c(10),_("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),D("matRippleDisabled",i._disableScrollAfter||i.disableRipple))},dependencies:[gt,Ut],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 Line truncated
`],encapsulation:2})}return a})(),Mn=(()=>{class a extends sa{_tabNavBar=r(Tn);elementRef=r(O);_focusMonitor=r(le);_destroyed=new k;_isActive=!1;_tabIndex=At(()=>this._tabNavBar._focusedItem()===this?this.tabIndex:-1);get active(){return this._isActive}set active(t){t!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink())}disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(t){this._disableRipple.set(t)}_disableRipple=Z(!1);tabIndex=0;rippleConfig;get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}id=r(U).getId("mat-tab-link-");constructor(){super(),r(wt).load(Ct);let t=r(Yt,{optional:!0}),e=r(new ie("tabindex"),{optional:!0});this.rippleConfig=t||{},this.tabIndex=e==null?0:parseInt(e)||0,Q()&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0}),this._tabNavBar._fitInkBarToContent.pipe(I(this._destroyed)).subscribe(i=>{this.fitInkBarToContent=i})}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),super.ngOnDestroy(),this._focusMonitor.stopMonitoring(this.elementRef)}_handleFocus(){this._tabNavBar.focusIndex=this._tabNavBar._items.toArray().indexOf(this)}_handleKeydown(t){(t.keyCode===32||t.keyCode===13)&&(this.disabled?t.preventDefault():this._tabNavBar.tabPanel&&(t.keyCode===32&&t.preventDefault(),this.elementRef.nativeElement.click()))}_getAriaControls(){return this._tabNavBar.tabPanel?this._tabNavBar.tabPanel?.id:this.elementRef.nativeElement.getAttribute("aria-controls")}_getAriaSelected(){return this._tabNavBar.tabPanel?this.active?"true":"false":this.elementRef.nativeElement.getAttribute("aria-selected")}_getAriaCurrent(){return this.active&&!this._tabNavBar.tabPanel?"page":null}_getRole(){return this._tabNavBar.tabPanel?"tab":this.elementRef.nativeElement.getAttribute("role")}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mdc-tab","mat-mdc-tab-link","mat-focus-indicator"],hostVars:11,hostBindings:function(e,i){e&1&&u("focus",function(){return i._handleFocus()})("keydown",function(o){return i._handleKeydown(o)}),e&2&&(T("aria-controls",i._getAriaControls())("aria-current",i._getAriaCurrent())("aria-disabled",i.disabled)("aria-selected",i._getAriaSelected())("id",i.id)("tabIndex",i._tabIndex())("role",i._getRole()),_("mat-mdc-tab-disabled",i.disabled)("mdc-tab--active",i.active))},inputs:{active:[2,"active","active",S],disabled:[2,"disabled","disabled",S],disableRipple:[2,"disableRipple","disableRipple",S],tabIndex:[2,"tabIndex","tabIndex",t=>t==null?0:bt(t)],id:"id"},exportAs:["matTabLink"],features:[q],attrs:bn,ngContentSelectors:Bt,decls:5,vars:2,consts:[[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"]],template:function(e,i){e&1&&(B(),M(0,"span",0)(1,"div",1),l(2,"span",2)(3,"span",3),y(4),d()()),e&2&&(c(),D("matRippleTrigger",i.elementRef.nativeElement)("matRippleDisabled",i.rippleDisabled))},dependencies:[gt],styles:[`.mat-mdc-tab-link{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab-link.mdc-tab{flex-grow:0}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab-link:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab-link.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-primary))}.Line truncated
`],encapsulation:2,changeDetection:0})}return a})(),ss=(()=>{class a{id=r(U).getId("mat-tab-nav-panel-");_activeTabId;static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-tab-nav-panel"]],hostAttrs:["role","tabpanel",1,"mat-mdc-tab-nav-panel"],hostVars:2,hostBindings:function(e,i){e&2&&T("aria-labelledby",i._activeTabId)("id",i.id)},inputs:{id:"id"},exportAs:["matTabNavPanel"],ngContentSelectors:Bt,decls:1,vars:0,template:function(e,i){e&1&&(B(),y(0))},encapsulation:2,changeDetection:0})}return a})(),ha=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[j]})}return a})();var In=["*",[["mat-option"],["ng-container"]]],Dn=["*","mat-option, ng-container"],En=["text"],Fn=[[["mat-icon"]],"*"],On=["mat-icon","*"];function Rn(a,s){if(a&1&&M(0,"mat-pseudo-checkbox",1),a&2){let t=p();D("disabled",t.disabled)("state",t.selected?"checked":"unchecked")}}function An(a,s){if(a&1&&M(0,"mat-pseudo-checkbox",3),a&2){let t=p();D("disabled",t.disabled)}}function Ln(a,s){if(a&1&&(l(0,"span",4),E(1),d()),a&2){let t=p();c(),ft("(",t.group.label,")")}}var fe=new w("MAT_OPTION_PARENT_COMPONENT"),ue=new w("MatOptgroup"),Pe=(()=>{class a{label;disabled=!1;_labelId=r(U).getId("mat-optgroup-label-");_inert;constructor(){let t=r(fe,{optional:!0});this._inert=t?.inertGroups??!1}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-mdc-optgroup"],hostVars:3,hostBindings:function(e,i){e&2&&T("role",i._inert?null:"group")("aria-disabled",i._inert?null:i.disabled.toString())("aria-labelledby",i._inert?null:i._labelId)},inputs:{label:"label",disabled:[2,"disabled","disabled",S]},exportAs:["matOptgroup"],features:[$([{provide:ue,useExisting:a}])],ngContentSelectors:Dn,decls:5,vars:4,consts:[["role","presentation",1,"mat-mdc-optgroup-label",3,"id"],[1,"mdc-list-item__primary-text"]],template:function(e,i){e&1&&(B(In),kt(0,"span",0)(1,"span",1),E(2),y(3),Ot()(),y(4,1)),e&2&&(_("mdc-list-item--disabled",i.disabled),Rt("id",i._labelId),c(2),ft("",i.label," "))},styles:[`.mat-mdc-optgroup{color:var(--mat-optgroup-label-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mat-optgroup-label-text-font, var(--mat-sys-title-small-font));line-height:var(--mat-optgroup-label-text-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-optgroup-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-optgroup-label-text-tracking, var(--mat-sys-title-small-tracking));font-weight:var(--mat-optgroup-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-optgroup-label{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;outline:none}.mat-mdc-optgroup-label.mdc-list-item--disabled{opacity:.38}.mat-mdc-optgroup-label .mdc-list-item__primary-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;white-space:normal;color:inherit}
`],encapsulation:2,changeDetection:0})}return a})(),Le=class{source;isUserInput;constructor(s,t=!1){this.source=s,this.isUserInput=t}},zt=(()=>{class a{_element=r(O);_changeDetectorRef=r(W);_parent=r(fe,{optional:!0});group=r(ue,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=r(U).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(t){this._disabled.set(t)}_disabled=Z(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new F;_text;_stateChanges=new k;constructor(){let t=r(wt);t.load(Ct),t.load(zi),this._signalDisableRipple=!!this._parent&&oi(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(t=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),t&&this._emitSelectionChangeEvent())}deselect(t=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),t&&this._emitSelectionChangeEvent())}focus(t,e){let i=this._getHostElement();typeof i.focus=="function"&&i.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(t.keyCode===13||t.keyCode===32)&&!ct(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=t)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Le(this,t))}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-option"]],viewQuery:function(e,i){if(e&1&&V(En,7),e&2){let n;m(n=h())&&(i._text=n.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(e,i){e&1&&u("click",function(){return i._selectViaInteraction()})("keydown",function(o){return i._handleKeydown(o)}),e&2&&(Rt("id",i.id),T("aria-selected",i.selected)("aria-disabled",i.disabled.toString()),_("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",S]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:On,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(e,i){e&1&&(B(Fn),g(0,Rn,1,2,"mat-pseudo-checkbox",1),y(1),l(2,"span",2,0),y(4,1),d(),g(5,An,1,1,"mat-pseudo-checkbox",3),g(6,Ln,2,1,"span",4),M(7,"div",5)),e&2&&(v(i.multiple?0:-1),c(5),v(!i.multiple&&i.selected&&!i.hideSingleSelectionIndicator?5:-1),c(),v(i.group&&i.group._inert?6:-1),c(),D("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[Ki,gt],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-opLine truncated
`],encapsulation:2,changeDetection:0})}return a})();function pa(a,s,t){if(t.length){let e=s.toArray(),i=t.toArray(),n=0;for(let o=0;o<a+1;o++)e[o].group&&e[o].group===i[n]&&n++;return n}return 0}function fa(a,s,t,e){return a<t?a:a+s>t+e?Math.max(0,a-e+s):t}var Pn=["notch"],Bn=["matFormFieldNotchedOutline",""],zn=["*"],ua=["iconPrefixContainer"],_a=["textPrefixContainer"],ba=["iconSuffixContainer"],ga=["textSuffixContainer"],Nn=["textField"],jn=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],Vn=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function Hn(a,s){a&1&&M(0,"span",21)}function $n(a,s){if(a&1&&(l(0,"label",20),y(1,1),g(2,Hn,1,0,"span",21),d()),a&2){let t=p(2);D("floating",t._shouldLabelFloat())("monitorResize",t._hasOutline())("id",t._labelId),T("for",t._control.disableAutomaticLabeling?null:t._control.id),c(2),v(!t.hideRequiredMarker&&t._control.required?2:-1)}}function Wn(a,s){if(a&1&&g(0,$n,3,5,"label",20),a&2){let t=p();v(t._hasFloatingLabel()?0:-1)}}function Qn(a,s){a&1&&M(0,"div",7)}function Gn(a,s){}function qn(a,s){if(a&1&&tt(0,Gn,0,0,"ng-template",13),a&2){p(2);let t=ht(1);D("ngTemplateOutlet",t)}}function Un(a,s){if(a&1&&(l(0,"div",9),g(1,qn,1,1,null,13),d()),a&2){let t=p();D("matFormFieldNotchedOutlineOpen",t._shouldLabelFloat()),c(),v(t._forceDisplayInfixLabel()?-1:1)}}function Yn(a,s){a&1&&(l(0,"div",10,2),y(2,2),d())}function Kn(a,s){a&1&&(l(0,"div",11,3),y(2,3),d())}function Zn(a,s){}function Xn(a,s){if(a&1&&tt(0,Zn,0,0,"ng-template",13),a&2){p();let t=ht(1);D("ngTemplateOutlet",t)}}function Jn(a,s){a&1&&(l(0,"div",14,4),y(2,4),d())}function to(a,s){a&1&&(l(0,"div",15,5),y(2,5),d())}function eo(a,s){a&1&&M(0,"div",16)}function io(a,s){a&1&&(l(0,"div",18),y(1,6),d())}function ao(a,s){if(a&1&&(l(0,"mat-hint",22),E(1),d()),a&2){let t=p(2);D("id",t._hintLabelId),c(),pt(t.hintLabel)}}function no(a,s){if(a&1&&(l(0,"div",19),g(1,ao,2,2,"mat-hint",22),y(2,7),M(3,"div",23),y(4,8),d()),a&2){let t=p();c(),v(t.hintLabel?1:-1)}}var Be=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["mat-label"]]})}return a})(),Ta=new w("MatError"),oo=(()=>{class a{id=r(U).getId("mat-mdc-error-");constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["mat-error"],["","matError",""]],hostAttrs:[1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(e,i){e&2&&Rt("id",i.id)},inputs:{id:"id"},features:[$([{provide:Ta,useExisting:a}])]})}return a})(),ze=(()=>{class a{align="start";id=r(U).getId("mat-mdc-hint-");static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(e,i){e&2&&(Rt("id",i.id),T("align",null),_("mat-mdc-form-field-hint-end",i.align==="end"))},inputs:{align:"align",id:"id"}})}return a})(),Ma=new w("MatPrefix"),ro=(()=>{class a{set _isTextSelector(t){this._isText=!0}_isText=!1;static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matPrefix",""],["","matIconPrefix",""],["","matTextPrefix",""]],inputs:{_isTextSelector:[0,"matTextPrefix","_isTextSelector"]},features:[$([{provide:Ma,useExisting:a}])]})}return a})(),Sa=new w("MatSuffix"),so=(()=>{class a{set _isTextSelector(t){this._isText=!0}_isText=!1;static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matSuffix",""],["","matIconSuffix",""],["","matTextSuffix",""]],inputs:{_isTextSelector:[0,"matTextSuffix","_isTextSelector"]},features:[$([{provide:Sa,useExisting:a}])]})}return a})(),Ia=new w("FloatingLabelParent"),va=(()=>{class a{_elementRef=r(O);get floating(){return this._floating}set floating(t){this._floating=t,this.monitorResize&&this._handleResize()}_floating=!1;get monitorResize(){return this._monitorResize}set monitorResize(t){this._monitorResize=t,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}_monitorResize=!1;_resizeObserver=r(he);_ngZone=r(H);_parent=r(Ia);_resizeSubscription=new it;constructor(){}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return lo(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static \u0275fac=function(e){return new(e||a)};s Line truncated
`],encapsulation:2,changeDetection:0})}return a})();var Ea=(()=>{class a{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var be=class{_defaultMatcher;ngControl;_parentFormGroup;_parentForm;_stateChanges;errorState=!1;matcher;constructor(s,t,e,i,n){this._defaultMatcher=s,this.ngControl=t,this._parentFormGroup=e,this._parentForm=i,this._stateChanges=n}updateErrorState(){let s=this.errorState,t=this._parentFormGroup||this._parentForm,e=this.matcher||this._defaultMatcher,i=this.ngControl?this.ngControl.control:null,n=e?.isErrorState(i,t)??!1;n!==s&&(this.errorState=n,this._stateChanges.next())}};var ge=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[j]})}return a})();var Nt=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[Kt,ge,zt,j]})}return a})();var Fa=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[ce,Da,j]})}return a})();var _o=["trigger"],bo=["panel"],go=[[["mat-select-trigger"]],"*"],vo=["mat-select-trigger","*"];function yo(a,s){if(a&1&&(l(0,"span",4),E(1),d()),a&2){let t=p();c(),pt(t.placeholder)}}function xo(a,s){a&1&&y(0)}function ko(a,s){if(a&1&&(l(0,"span",11),E(1),d()),a&2){let t=p(2);c(),pt(t.triggerValue)}}function wo(a,s){if(a&1&&(l(0,"span",5),g(1,xo,1,0)(2,ko,2,1,"span",11),d()),a&2){let t=p();c(),v(t.customTrigger?1:2)}}function Co(a,s){if(a&1){let t=lt();l(0,"div",12,1),u("keydown",function(i){R(t);let n=p();return A(n._handleKeydown(i))}),y(2,1),d()}if(a&2){let t=p();_t(t.panelClass),_("mat-select-panel-animations-enabled",!t._animationsDisabled)("mat-primary",(t._parentFormField==null?null:t._parentFormField.color)==="primary")("mat-accent",(t._parentFormField==null?null:t._parentFormField.color)==="accent")("mat-warn",(t._parentFormField==null?null:t._parentFormField.color)==="warn")("mat-undefined",!(t._parentFormField!=null&&t._parentFormField.color)),T("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}var To=new w("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let a=r(G);return()=>re(a)}}),Mo=new w("MAT_SELECT_CONFIG"),So=new w("MatSelectTrigger"),Ve=class{source;value;constructor(s,t){this.source=s,this.value=t}},Aa=(()=>{class a{_viewportRuler=r(ae);_changeDetectorRef=r(W);_elementRef=r(O);_dir=r(ut,{optional:!0});_idGenerator=r(U);_renderer=r(st);_parentFormField=r(je,{optional:!0});ngControl=r(Ai,{self:!0,optional:!0});_liveAnnouncer=r(de);_defaultOptions=r(Mo,{optional:!0});_animationsDisabled=Q();_popoverLocation;_initialized=new k;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(t){let e=this.options.toArray()[t];if(e){let i=this.panel.nativeElement,n=pa(t,this.options,this.optionGroups),o=e._getHostElement();t===0&&n===1?i.scrollTop=0:i.scrollTop=fa(o.offsetTop,o.offsetHeight,i.scrollTop,i.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(t){return new Ve(this,t)}_scrollStrategyFactory=r(To);_panelOpen=!1;_compareWith=(t,e)=>t===e;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new k;_errorStateTracker;stateChanges=new k;disableAutomaticLabeling=!0;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=!1;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(t){this._disableRipple.set(t)}_disableRipple=Z(!1);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(t){this._hideSingleSelectionIndicator=t,this._syncParentProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(Ri.required)??!1}set required(t){this._required=t,this.stateChanges.next()}_required;get multiple(){return this._multiple}set multi Line truncated
`],encapsulation:2,changeDetection:0})}return a})();var La=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[Pt,Nt,j,ne,Fa,Nt]})}return a})();var Do=["mat-internal-form-field",""],Eo=["*"],Fl=(()=>{class a{labelPosition="after";static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(e,i){e&2&&_("mdc-form-field--align-end",i.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:Do,ngContentSelectors:Eo,decls:1,vars:0,template:function(e,i){e&1&&(B(),y(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}
`],encapsulation:2,changeDetection:0})}return a})();var Al=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[j]})}return a})();var $e=(()=>{class a{get vertical(){return this._vertical}set vertical(t){this._vertical=K(t)}_vertical=!1;get inset(){return this._inset}set inset(t){this._inset=K(t)}_inset=!1;static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,i){e&2&&(T("aria-orientation",i.vertical?"vertical":"horizontal"),_("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,i){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
`],encapsulation:2,changeDetection:0})}return a})(),ve=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[j]})}return a})();var Fo=["tooltip"],Oo=20;var Ro=new w("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let a=r(G);return()=>re(a,{scrollThrottle:Oo})}}),Ao=new w("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var Pa="tooltip-panel",Lo={passive:!0},Po=8,Bo=8,zo=24,No=200,We=(()=>{class a{_elementRef=r(O);_ngZone=r(H);_platform=r(ot);_ariaDescriber=r(Qi);_focusMonitor=r(le);_dir=r(ut);_injector=r(G);_viewContainerRef=r(ee);_mediaMatcher=r(Ni);_document=r(It);_renderer=r(st);_animationsDisabled=Q();_defaultOptions=r(Ao,{optional:!0});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=Ba;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=!1;_dirSubscribed=!1;get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(t){this._positionAtOrigin=K(t),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(t){let e=K(t);this._disabled!==e&&(this._disabled=e,e?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(t){this._showDelay=Gt(t)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(t){this._hideDelay=Gt(t),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(t){let e=this._message;this._message=t!=null?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(e)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_eventCleanups=[];_touchstartTimeout=null;_destroyed=new k;_isDestroyed=!1;constructor(){let t=this._defaultOptions;t&&(this._showDelay=t.showDelay,this._hideDelay=t.hideDelay,t.position&&(this.position=t.position),t.positionAtOrigin&&(this.positionAtOrigin=t.positionAtOrigin),t.touchGestures&&(this.touchGestures=t.touchGestures),t.tooltipClass&&(this.tooltipClass=t.tooltipClass)),this._viewportMargin=Po}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(I(this._destroyed)).subscribe(t=>{t?t==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let t=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._eventCleanups.forEach(e=>e()),this._eventCleanups.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay,e){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let i=this._createOverlay(e);this._detach(),this._portal=this._portal||new qt(this._tooltipComponent,this._viewContainerRef);let n=this._tooltipInstance=i.attach(this._portal).instance;n._triggerElement=this._elementRef.nativeElement,n._mouseLeaveHideDelay=this._hideDelay,n.afterHidden().pipe(I(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),n.show(t)}hide(t=this.hideDelay){let e=this._tooltipInstance;e&&(e.isVisible()?e.hide(t):(e._cancelPendingAnimations(),this._detach()))}toggle(t){this._isTooltipVisible()?this.hide():this.show(void 0,t)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(t){if(this._overlayRef){let o=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!t)&&o._origin instanceof O)return this._overlayRef;this._detach()}let e=this._injector.get(Ci).getAncestorScrollContainers(this._elementRef),i=`${this._cssClassPrefix}-${Pa}`,n=Ei(this._injector,this.positionAtOrigin?t||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(e).withPopoverLocation("global");return n.positionChanges.pipe(I(this._destroyed)).subscribe(o=>{this._updateCurrentPositionClass(o.connectionPair),this._tooltipInstan Line truncated
`],encapsulation:2,changeDetection:0})}return a})();var za=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({imports:[Vi,Pt,j,ne]})}return a})();var jt=class{data=[];dataChange=new St([]);itemUpdated=new k;getItems(){return this.data}add(s){this.findIndex(s)>=0?this.update(s):(this.data.push(s),this.dataChange.next(this.data))}set(s){s.forEach(e=>{let i=this.findIndex(e);if(i>=0){let n=Object.assign(this.data[i],e);this.data[i]=n}else this.data.push(e)}),this.data.filter(e=>s.filter(i=>this.getItemKey(i)===this.getItemKey(e)).length===0).forEach(e=>this.remove(e)),this.dataChange.next(this.data)}get(s){let t=this.data.findIndex(e=>this.getItemKey(e)===s);if(t>=0)return this.data[t]}update(s){let t=this.findIndex(s);if(t>=0){let e=Object.assign(this.data[t],s);this.data[t]=e,this.dataChange.next(this.data),this.itemUpdated.next(e)}}remove(s){let t=this.findIndex(s);t>=0&&(this.data.splice(t,1),this.dataChange.next(this.data))}get changes(){return this.dataChange}get itemChanged(){return this.itemUpdated}clear(){this.data=[],this.dataChange.next(this.data)}findIndex(s){return this.data.findIndex(t=>this.getItemKey(t)===this.getItemKey(s))}};var Na=(()=>{class a extends jt{getItemKey(t){return t.link_id}static \u0275fac=(()=>{let t;return function(i){return(t||(t=Y(a)))(i||a)}})();static \u0275prov=P({token:a,factory:a.\u0275fac})}return a})();var ja=(()=>{class a extends jt{getItemKey(t){return t.node_id}static \u0275fac=(()=>{let t;return function(i){return(t||(t=Y(a)))(i||a)}})();static \u0275prov=P({token:a,factory:a.\u0275fac})}return a})();var Va=(()=>{class a{httpController;constructor(t){this.httpController=t}getComputes(t){return this.httpController.get(t,"/computes")}getCompute(t,e){return this.httpController.get(t,`/computes/${e}`)}createCompute(t,e){return this.httpController.post(t,"/computes",e)}updateCompute(t,e,i){return this.httpController.put(t,`/computes/${e}`,i)}deleteCompute(t,e){return this.httpController.delete(t,`/computes/${e}`)}connectCompute(t,e){return this.httpController.post(t,`/computes/${e}/connect`,null)}getStatistics(t){return this.httpController.get(t,"/statistics")}static \u0275fac=function(e){return new(e||a)(nt(me))};static \u0275prov=P({token:a,factory:a.\u0275fac})}return a})();var Ha=(()=>{class a{settings={crash_reports:!0,console_command:void 0,anonymous_statistics:!0};reportsSettings="crash_reports";consoleSettings="console_command";statisticsSettings="statistics_command";constructor(){this.getItem(this.reportsSettings)&&(this.settings.crash_reports=this.getItem(this.reportsSettings)==="true"),this.getItem(this.consoleSettings)&&(this.settings.console_command=this.getItem(this.consoleSettings)),this.getItem(this.statisticsSettings)&&(this.settings.anonymous_statistics=this.getItem(this.statisticsSettings)==="true")}setReportsSettings(t){this.settings.crash_reports=t,this.removeItem(this.reportsSettings),t?this.setItem(this.reportsSettings,"true"):this.setItem(this.reportsSettings,"false")}setStatisticsSettings(t){this.settings.anonymous_statistics=t,this.removeItem(this.statisticsSettings),t?this.setItem(this.statisticsSettings,"true"):this.setItem(this.statisticsSettings,"false")}getReportsSettings(){return this.getItem(this.reportsSettings)==="true"}getStatisticsSettings(){return this.getItem(this.statisticsSettings)==="true"}setConsoleSettings(t){this.settings.console_command=t,this.removeItem(this.consoleSettings),this.setItem(this.consoleSettings,t)}getConsoleSettings(){return this.getItem(this.consoleSettings)}removeItem(t){localStorage.removeItem(t)}setItem(t,e){localStorage.setItem(t,e)}getItem(t){return localStorage.getItem(t)}getAll(){return this.settings}setAll(t){this.settings=t,this.setConsoleSettings(t.console_command),this.setReportsSettings(t.crash_reports),this.setStatisticsSettings(t.anonymous_statistics)}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var $a=(()=>{class a{controllerId;projectId;controllerIdProjectList;setcontrollerId(t){this.controllerId=t}setProjectId(t){this.projectId=t}setcontrollerIdProjectList(t){this.controllerIdProjectList=t}getcontrollerId(){return this.controllerId}getProjectId(){return this.projectId}getcontrollerIdProjectList(){return this.controllerIdProjectList}removeData(){this.controllerId="",this.projectId=""}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac})}return a})();var Wa=(()=>{class a{httpController;settingsService;recentlyOpenedProjectService;compression_methods=[{id:1,value:"none",name:"None"},{id:2,value:"zip",name:"Zip compression (deflate)"},{id:3,value:"bzip2",name:"Bzip2 compression"},{id:4,value:"lzma",name:"Lzma compression"},{id:5,value:"zstd",name:"Zstandard compression"}];compression_level_default_value=[{id:1,name:"none",value:"",selectionValues:[]},{id:2,name:"zip",value:6,selectionValues:[0,1,2,3,4,5,6,7,8,9 Line truncated
`),c(),v(i.hasAction?2:-1))},dependencies:[qi,Yo,Ko,Zo],styles:[`.mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto}
`],encapsulation:2,changeDetection:0})}return a})(),Qe="_mat-snack-bar-enter",Ge="_mat-snack-bar-exit",Xo=(()=>{class a extends Mi{_ngZone=r(H);_elementRef=r(O);_changeDetectorRef=r(W);_platform=r(ot);_animationsDisabled=Q();snackBarConfig=r(Vt);_document=r(It);_trackedModals=new Set;_enterFallback;_exitFallback;_injector=r(G);_announceDelay=150;_announceTimeoutId;_destroyed=!1;_portalOutlet;_onAnnounce=new k;_onExit=new k;_onEnter=new k;_animationState="void";_live;_label;_role;_liveElementId=r(U).getId("mat-snack-bar-container-live-");constructor(){super();let t=this.snackBarConfig;t.politeness==="assertive"&&!t.announcementMessage?this._live="assertive":t.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(t){this._assertNotAttached();let e=this._portalOutlet.attachComponentPortal(t);return this._afterPortalAttached(),e}attachTemplatePortal(t){this._assertNotAttached();let e=this._portalOutlet.attachTemplatePortal(t);return this._afterPortalAttached(),e}attachDomPortal=t=>{this._assertNotAttached();let e=this._portalOutlet.attachDomPortal(t);return this._afterPortalAttached(),e};onAnimationEnd(t){t===Ge?this._completeExit():t===Qe&&(clearTimeout(this._enterFallback),this._ngZone.run(()=>{this._onEnter.next(),this._onEnter.complete()}))}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce(),this._animationsDisabled?rt(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(Qe)))},{injector:this._injector}):(clearTimeout(this._enterFallback),this._enterFallback=setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-snack-bar-fallback-visible"),this.onAnimationEnd(Qe)},200)))}exit(){return this._destroyed?te(void 0):(this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._animationsDisabled?rt(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(Ge)))},{injector:this._injector}):(clearTimeout(this._exitFallback),this._exitFallback=setTimeout(()=>this.onAnimationEnd(Ge),200))}),this._onExit)}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){clearTimeout(this._exitFallback),queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(o=>t.classList.add(o)):t.classList.add(e)),this._exposeToModals();let i=this._label.nativeElement,n="mdc-snackbar__label";i.classList.toggle(n,!i.querySelector(`.${n}`))}_exposeToModals(){let t=this._liveElementId,e=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let i=0;i<e.length;i++){let n=e[i],o=n.getAttribute("aria-owns");this._trackedModals.add(n),o?o.indexOf(t)===-1&&n.setAttribute("aria-owns",o+" "+t):n.setAttribute("aria-owns",t)}}_clearFromModals(){this._trackedModals.forEach(t=>{let e=t.getAttribute("aria-owns");if(e){let i=e.replace(this._liveElementId,"").trim();i.length>0?t.setAttribute("aria-owns",i):t.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{if(this._destroyed)return;let t=this._elementRef.nativeElement,e=t.querySelector("[aria-hidden]"),i=t.querySelector("[aria-live]");if(e&&i){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(n=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),n?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-snack-bar-container"]],viewQuery:function(e,i){if(e&1&&V(Lt,7)(Go,7),e&2){let n;m(n=h())&&(i._portalOutlet=n.first),m(n=h())&&(i._label=n.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:6,hostBindings:function(e,i){e&1&&u("animationend",function(o){return i.onAnimationEnd(o.animationName)})("animationcancel",function(o){return i.onAnimationEnd(o.animationName)}),e&2&&_("mat-snack-bar-container-enter",i._animationState==="visible")("mat-snack-bar-container-exit",i._animationState==="hidden")("mat-snack-bar-container-animations-enabled",!i._animationsDisabled)},features:[q],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){e&1&&(l(0,"div",1)(1,"div",2,0)(3,"div",3),tt(4,qo,0,0,"ng-template",4),d(),M(5,"div"),d()()),e&2&&(c(5),T("aria-l Line truncated
`],encapsulation:2})}return a})(),Jo=new w("mat-snack-bar-default-options",{providedIn:"root",factory:()=>new Vt}),qe=(()=>{class a{_live=r(de);_injector=r(G);_breakpointObserver=r(ji);_parentSnackBar=r(a,{optional:!0,skipSelf:!0});_defaultConfig=r(Jo);_animationsDisabled=Q();_snackBarRefAtThisLevel=null;simpleSnackBarComponent=Ua;snackBarContainerComponent=Xo;handsetCssClass="mat-mdc-snack-bar-handset";get _openedSnackBarRef(){let t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}constructor(){}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",i){let n=X(X({},this._defaultConfig),i);return n.data={message:t,action:e},n.announcementMessage===t&&(n.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,n)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){let i=e&&e.viewContainerRef&&e.viewContainerRef.injector,n=G.create({parent:i||this._injector,providers:[{provide:Vt,useValue:e}]}),o=new qt(this.snackBarContainerComponent,e.viewContainerRef,n),f=t.attach(o);return f.instance.snackBarConfig=e,f.instance}_attach(t,e){let i=X(X(X({},new Vt),this._defaultConfig),e),n=this._createOverlay(i),o=this._attachSnackBarContainer(n,i),f=new Zt(o,n);if(t instanceof Dt){let b=new oe(t,null,{$implicit:i.data,snackBarRef:f});f.instance=o.attachTemplatePortal(b)}else{let b=this._createInjector(i,f),xt=new qt(t,void 0,b),Mt=o.attachComponentPortal(xt);f.instance=Mt.instance}return this._breakpointObserver.observe(Gi.HandsetPortrait).pipe(I(n.detachments())).subscribe(b=>{n.overlayElement.classList.toggle(this.handsetCssClass,b.matches)}),i.announcementMessage&&o._onAnnounce.subscribe(()=>{this._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(f,i),this._openedSnackBarRef=f,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration)),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter()}_createOverlay(t){let e=new Di;e.direction=t.direction;let i=Fi(this._injector),n=t.direction==="rtl",o=t.horizontalPosition==="left"||t.horizontalPosition==="start"&&!n||t.horizontalPosition==="end"&&n,f=!o&&t.horizontalPosition!=="center";return o?i.left("0"):f?i.right("0"):i.centerHorizontally(),t.verticalPosition==="top"?i.top("0"):i.bottom("0"),e.positionStrategy=i,e.disableAnimations=this._animationsDisabled,se(this._injector,e)}_createInjector(t,e){let i=t&&t.viewContainerRef&&t.viewContainerRef.injector;return G.create({parent:i||this._injector,providers:[{provide:Zt,useValue:e},{provide:qa,useValue:t.data}]})}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var ad=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=N({type:a});static \u0275inj=z({providers:[qe],imports:[Pt,Ii,Ui,Ua,j]})}return a})();var Ya=(()=>{class a{snackbar;snackBarConfigForSuccess={duration:4e3,panelClass:["snackabar-success"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};snackBarConfigForWarning={duration:4e3,panelClass:["snackabar-warning"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};snackBarConfigForError={duration:1e4,panelClass:["snackabar-error"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};constructor(t){this.snackbar=t}error(t){console.error(t),this.snackbar.open(t,"Close",this.snackBarConfigForError)}warning(t){this.snackbar.open(t,"Close",this.snackBarConfigForWarning)}success(t){this.snackbar.open(t,"Close",this.snackBarConfigForSuccess)}static \u0275fac=function(e){return new(e||a)(nt(qe))};static \u0275prov=P({token:a,factory:a.\u0275fac})}return a})();var Ka=["*"],Za=`.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item{display:flex;position:relative;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer;padding-left:16px;padding-right:16px;background-color:var(--mat-list-list-item-container-color, transparent);border-radius:var(--mat-list-list-item-container-shape, var(--mat-sys-corner-none))}.mdc-list-item.mdc-list-item--selected{background-color:var(--mat-list-list-item-selected-container-color)}.mdc-list-item:focus{outline:0}.mdc-list-item.mdc-list-item--disabled{cursor:auto}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mat-list-list-item-one-line-contaiLine truncated
`,er=["unscopedContent"],ir=["text"],ar=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],nr=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"];var or=new w("ListOption"),rr=(()=>{class a{_elementRef=r(O);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return a})(),sr=(()=>{class a{_elementRef=r(O);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return a})(),lr=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return a})(),Xa=(()=>{class a{_listOption=r(or,{optional:!0});constructor(){}_isAlignedAtStart(){return!this._listOption||this._listOption?._getTogglePosition()==="after"}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,hostVars:4,hostBindings:function(e,i){e&2&&_("mdc-list-item__start",i._isAlignedAtStart())("mdc-list-item__end",!i._isAlignedAtStart())}})}return a})(),cr=(()=>{class a extends Xa{static \u0275fac=(()=>{let t;return function(i){return(t||(t=Y(a)))(i||a)}})();static \u0275dir=x({type:a,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[q]})}return a})(),dr=(()=>{class a extends Xa{static \u0275fac=(()=>{let t;return function(i){return(t||(t=Y(a)))(i||a)}})();static \u0275dir=x({type:a,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[q]})}return a})(),mr=new w("MAT_LIST_CONFIG"),Xt=(()=>{class a{_isNonInteractive=!0;get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=K(t)}_disableRipple=!1;get disabled(){return this._disabled()}set disabled(t){this._disabled.set(K(t))}_disabled=Z(!1);_defaultOptions=r(mr,{optional:!0});static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,hostVars:1,hostBindings:function(e,i){e&2&&T("aria-disabled",i.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return a})(),hr=(()=>{class a{_elementRef=r(O);_ngZone=r(H);_listBase=r(Xt,{optional:!0});_platform=r(ot);_hostElement;_isButtonElement;_noopAnimations=Q();_avatars;_icons;set lines(t){this._explicitLines=Gt(t,null),this._updateItemLines(!1)}_explicitLines=null;get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(t){this._disableRipple=K(t)}_disableRipple=!1;get disabled(){return this._disabled()||!!this._listBase?.disabled}set disabled(t){this._disabled.set(K(t))}_disabled=Z(!1);_subscriptions=new it;_rippleRenderer=null;_hasUnscopedTextContent=!1;rippleConfig;get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(){r(wt).load(Ct);let t=r(Yt,{optional:!0});this.rippleConfig=t||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement=this._hostElement.nodeName.toLowerCase()==="button",this._listBase&&!this._listBase._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),this._rippleRenderer!==null&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!!(this._avatars.length||this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new De(this,this._ngZone,this._hostElement,this._platform,r(G)),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(J(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(t){if(!this._lines||!this._titles||!this._unscopedContent)return;t&&this._checkDomForUnscopedTextContent();let e=this._explicitLines??this._inferLinesFromContent(),i=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",e<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",e<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",e===2),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",e===3),this._hasUnscopedTextContent){let n=this._titles.length===0&&e===1;i.classList.toggle("mdc-list-item__primary-text",n),i.classList.toggle("mdc-list-item__secondary-text",!n)}else i.classList.remove("mdc-list-item__primary-text"),i Line truncated
`):""}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["app-topology-summary"]],inputs:{controller:"controller",project:"project"},outputs:{closeTopologySummary:"closeTopologySummary"},decls:2,vars:2,consts:[["mwlResizable","",1,"summaryWrapper",3,"ngStyle","ngClass","validateResize","resizeEdges","enableGhostResize"],[3,"mousemove","mouseup"],["mwlResizable","",1,"summaryWrapper",3,"mousedown","resizeStart","resizeEnd","ngStyle","ngClass","validateResize","resizeEdges","enableGhostResize"],[1,"summaryHeader"],["label","Map topology",3,"click"],[1,"tabContent"],[1,"summaryFilters"],["placeholder","Filter nodes","multiple",""],["label","Status filter"],["value","started",3,"onSelectionChange"],["value","suspended",3,"onSelectionChange"],["value","stopped",3,"onSelectionChange"],["label","Capture filter"],["value","capture",3,"onSelectionChange"],["value","packet",3,"onSelectionChange"],[1,"summarySorting"],["placeholder","Sorting",3,"selectionChange","valueChange","value"],["value","asc"],["value","desc"],[1,"divider"],[1,"summaryContent",3,"ngStyle"],[1,"nodeRow"],["label","Computes",3,"click"],[1,"summaryContentComputes"],["matTooltipPosition","above",1,"nodeRow",3,"matTooltip"],["width","10","height","10"],["x","0","y","0","width","10","height","10","fill","green",1,"status_started"],["x","0","y","0","width","10","height","10","fill","yellow",1,"status_suspended"],["x","0","y","0","width","10","height","10","fill","red",1,"status_stopped"]],template:function(e,i){e&1&&(g(0,_r,1,0,"div"),g(1,Mr,34,10,"div",0)),e&2&&(v(i.isDraggingEnabled?0:-1),c(),v(i.projectsStatistics?1:-1))},dependencies:[ki,vi,yi,ha,Ae,ma,La,Aa,zt,Pe,Nt,ve,$e,za,We],styles:["@media screen and (max-width:600px){.summaryWrapper[_ngcontent-%COMP%]{visibility:hidden}}mat-tab-group[_ngcontent-%COMP%]{width:100%}.summaryWrapper[_ngcontent-%COMP%]{box-shadow:0 4px 16px color-mix(in srgb,var(--mat-sys-shadow) 25%,transparent);position:fixed;top:60px;right:0;height:400px;width:320px;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px;margin:16px;border-radius:4px}.summaryHeaderMenu[_ngcontent-%COMP%]{height:24px}.summaryHeader[_ngcontent-%COMP%]{width:100%;display:flex}.summaryFilters[_ngcontent-%COMP%], .summarySorting[_ngcontent-%COMP%]{height:25px;margin-left:8px;margin-right:8px}.tabContent[_ngcontent-%COMP%]{padding:10px}.summaryContent[_ngcontent-%COMP%]{overflow:auto;scrollbar-color:darkgrey var(--mat-sys-surface);scrollbar-width:thin}.summaryContentComputes[_ngcontent-%COMP%]{max-height:350px;overflow:auto;scrollbar-color:darkgrey var(--mat-sys-surface);scrollbar-width:thin}.titleButton[_ngcontent-%COMP%]{margin-left:8px;margin-top:4px;outline:none;border-radius:0}.marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary);border-bottom:2px solid var(--mat-sys-primary)}.divider[_ngcontent-%COMP%]{margin-top:8px;margin-bottom:8px;width:100%;height:2px}.nodeRow[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;padding-right:8px}.nodeRow[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.nodeRow[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{flex-shrink:0;vertical-align:middle}.radio-group-wrapper[_ngcontent-%COMP%]{margin-top:8px}.radio-group[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.closeButton[_ngcontent-%COMP%]{cursor:pointer;font-size:18px;margin-top:8px;margin-right:8px}.filterBox[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.notvisible[_ngcontent-%COMP%]{display:none}"],changeDetection:0})}return a})();export{We as a,za as b,Be as c,oo as d,ze as e,ro as f,so as g,Ne as h,je as i,Da as j,Fa as k,Ea as l,be as m,fe as n,ue as o,Pe as p,Le as q,zt as r,pa as s,fa as t,Nt as u,Aa as v,La as w,Va as x,Ga as y,Zt as z,qa as A,qe as B,ad as C,Ya as D,Fl as E,Al as F,$e as G,ve as H,Fd as I,Od as J,Rd as K,Ad as L,Qa as M,vn as N,xn as O,Ae as P,ma as Q,Tn as R,Mn as S,ss as T,ha as U,Ha as V,$a as W,Wa as X,jt as Y,Na as Z,ja as _,em as $};
@@ -0,0 +1,8 @@
import{$ as ft,$a as E,$e as ut,A as ht,Aa as de,B as ie,Ba as vt,Da as I,Dc as st,Dd as we,Ee as Rt,F as ne,Fb as yt,Fc as y,G as rt,Gc as xt,Hb as Wt,He as it,I as f,Ia as K,Ib as tt,Id as z,Kb as Ct,Kd as Qt,Lb as St,Ld as Te,Mb as It,Md as De,Me as Fe,N,Nb as _e,Ne as Re,Ob as et,Od as ct,Pa as k,Pb as U,Pd as dt,Pe as Ne,Qb as W,Qd as ot,R as ae,Ra as ue,Rd as Ot,Sa as ge,Sc as ye,Td as xe,Ua as me,Ub as kt,Ud as Ae,V as re,Vb as wt,Vd as Ee,Wb as O,Xb as Tt,Xd as Mt,Y as pt,Zd as Oe,_a as A,_e as Pe,a as M,ab as L,ad as Ce,ae as Ft,b as Xt,ca as se,cb as he,ce as Me,cf as Le,da as D,db as Z,ea as x,eb as Y,ef as Be,g as te,ga as h,gc as be,gd as At,gf as je,ha as S,i as Ht,ia as l,j as T,k as ee,kd as Se,l as Vt,lf as Nt,md as Et,nb as g,nf as ze,oa as Ut,od as Ie,of as Ge,pa as le,pb as pe,q as Q,qa as F,qc as ve,r as m,ra as J,rb as fe,rd as $t,u as oe,ua as P,ud as ke,v as q,va as ce,vd as lt,wa as _t,wb as B,wc as Dt,wd as j,xb as v,ya as bt,yb as w,zb as X}from"./chunk-LG2N72QL.js";var co=["determinateSpinner"];function uo(i,s){if(i&1&&(Ut(),v(0,"svg",11),X(1,"circle",12),w()),i&2){let t=Ct();g("viewBox",t._viewBox()),k(),wt("stroke-dasharray",t._strokeCircumference(),"px")("stroke-dashoffset",t._strokeCircumference()/2,"px")("stroke-width",t._circleStrokeWidth(),"%"),g("r",t._circleRadius())}}var go=new h("mat-progress-spinner-default-options",{providedIn:"root",factory:()=>({diameter:He})}),He=100,mo=10,ni=(()=>{class i{_elementRef=l(I);_noopAnimations;get color(){return this._color||this._defaultColor}set color(t){this._color=t}_color;_defaultColor="primary";_determinateCircle;constructor(){let t=l(go),e=Pe(),o=this._elementRef.nativeElement;this._noopAnimations=e==="di-disabled"&&!!t&&!t._forceAnimations,this.mode=o.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&e==="reduced-motion"&&o.classList.add("mat-progress-spinner-reduced-motion"),t&&(t.color&&(this.color=this._defaultColor=t.color),t.diameter&&(this.diameter=t.diameter),t.strokeWidth&&(this.strokeWidth=t.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,t||0))}_value=0;get diameter(){return this._diameter}set diameter(t){this._diameter=t||0}_diameter=He;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(t){this._strokeWidth=t||0}_strokeWidth;_circleRadius(){return(this.diameter-mo)/2}_viewBox(){let t=this._circleRadius()*2+this.strokeWidth;return`0 0 ${t} ${t}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=A({type:i,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,o){if(e&1&&et(co,5),e&2){let n;U(n=W())&&(o._determinateCircle=n.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(e,o){e&2&&(g("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",o.mode==="determinate"?o.value:null)("mode",o.mode),Tt("mat-"+o.color),wt("width",o.diameter,"px")("height",o.diameter,"px")("--mat-progress-spinner-size",o.diameter+"px")("--mat-progress-spinner-active-indicator-width",o.diameter+"px"),O("_mat-animation-noopable",o._noopAnimations)("mdc-circular-progress--indeterminate",o.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",xt],diameter:[2,"diameter","diameter",xt],strokeWidth:[2,"strokeWidth","strokeWidth",xt]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,o){if(e&1&&(Y(0,uo,2,8,"ng-template",null,0,ve),v(2,"div",2,1),Ut(),v(4,"svg",3),X(5,"circle",4),w()(),le(),v(6,"div",5)(7,"div",6)(8,"div",7),yt(9,8),w(),v(10,"div",9),yt(11,8),w(),v(12,"div",10),yt(13,8),w()()()),e&2){let n=kt(1);k(4),g("viewBox",o._viewBox()),k(),wt("stroke-dasharray",o._strokeCircumference(),"px")("stroke-dashoffset",o._strokeDashOffset(),"px")("stroke-width",o._circleStrokeWidth(),"%"),g("r",o._circleRadius()),k(4),B("ngTemplateOutlet",Line truncated
`],encapsulation:2,changeDetection:0})}return i})();var ai=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=E({type:i});static \u0275inj=x({imports:[j]})}return i})();function Ve(i){return Error(`Unable to find icon with the name "${i}"`)}function po(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function Ue(i){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${i}".`)}function We(i){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${i}".`)}var R=class{url;svgText;options;svgElement=null;constructor(s,t,e){this.url=s,this.svgText=t,this.options=e}},Qe=(()=>{class i{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(t,e,o,n){this._httpClient=t,this._sanitizer=e,this._errorHandler=n,this._document=o}addSvgIcon(t,e,o){return this.addSvgIconInNamespace("",t,e,o)}addSvgIconLiteral(t,e,o){return this.addSvgIconLiteralInNamespace("",t,e,o)}addSvgIconInNamespace(t,e,o,n){return this._addSvgIconConfig(t,e,new R(o,null,n))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,o,n){let a=this._sanitizer.sanitize(K.HTML,o);if(!a)throw We(o);let r=it(a);return this._addSvgIconConfig(t,e,new R("",r,n))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,o){return this._addSvgIconSetConfig(t,new R(e,null,o))}addSvgIconSetLiteralInNamespace(t,e,o){let n=this._sanitizer.sanitize(K.HTML,e);if(!n)throw We(e);let a=it(n);return this._addSvgIconSetConfig(t,new R("",a,o))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(...t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){let e=this._sanitizer.sanitize(K.RESOURCE_URL,t);if(!e)throw Ue(t);let o=this._cachedIconsByUrl.get(e);return o?Q(Pt(o)):this._loadSvgIconFromConfig(new R(t,null)).pipe(ft(n=>this._cachedIconsByUrl.set(e,n)),q(n=>Pt(n)))}getNamedSvgIcon(t,e=""){let o=$e(e,t),n=this._svgIconConfigs.get(o);if(n)return this._getSvgFromConfig(n);if(n=this._getIconConfigFromResolvers(e,t),n)return this._svgIconConfigs.set(o,n),this._getSvgFromConfig(n);let a=this._iconSetConfigs.get(e);return a?this._getSvgFromIconSetConfigs(t,a):m(Ve(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Q(Pt(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(q(e=>Pt(e)))}_getSvgFromIconSetConfigs(t,e){let o=this._extractIconWithNameFromAnySet(t,e);if(o)return Q(o);let n=e.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(f(r=>{let c=`Loading icon set URL: ${this._sanitizer.sanitize(K.RESOURCE_URL,a.url)} failed: ${r.message}`;return this._errorHandler.handleError(new Error(c)),Q(null)})));return ie(n).pipe(q(()=>{let a=this._extractIconWithNameFromAnySet(t,e);if(!a)throw Ve(t);return a}))}_extractIconWithNameFromAnySet(t,e){for(let o=e.length-1;o>=0;o--){let n=e[o];if(n.svgText&&n.svgText.toString().indexOf(t)>-1){let a=this._svgElementFromConfig(n),r=this._extractSvgIconFromSet(a,t,n.options);if(r)return r}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(ft(e=>t.svgText=e),q(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Q(null):this._fetchIcon(t).pipe(ft(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,o){let n=t.querySelector(`[id="${e}"]`);if(!n)return null;let a=n.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,o);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),o);let r=this._svgElementFromString(it("<svg></svg>"));return r.appendChild(a),this._setSvgAttributes(r,o)}_svgElementFromString(t){let e=this._document.createElement("DIV");e.innerHTML=t;let o=e.querySelector("svg");if(!o)throw Error("<svg> tag not found");return o}_toSvgElement(t){let e=this._svgElementFromString(it("<svg></svg>")),o=t.attributes;for(let n=0;n<o.length;n++){let{name:a,value:r}=o[n];a!=="id"&&e.setAttribute(a,r)}for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t,e){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserve Line truncated
`],encapsulation:2,changeDetection:0})}return i})(),Di=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=E({type:i});static \u0275inj=x({imports:[j]})}return i})();function So(i,s){}var G=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var Jt=(()=>{class i extends De{_elementRef=l(I);_focusTrapFactory=l(Re);_config;_interactivityChecker=l(Fe);_ngZone=l(ce);_focusMonitor=l(Rt);_renderer=l(me);_changeDetectorRef=l(st);_injector=l(F);_platform=l(ke);_document=l(J);_portalOutlet;_focusTrapped=new T;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=l(G,{optional:!0})||new G,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(t){this._ariaLabelledByQueue.push(t),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(t){let e=this._ariaLabelledByQueue.indexOf(t);e>-1&&(this._ariaLabelledByQueue.splice(e,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachComponentPortal(t);return this._contentAttached(),e}attachTemplatePortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachTemplatePortal(t);return this._contentAttached(),e}attachDomPortal=t=>{this._portalOutlet.hasAttached();let e=this._portalOutlet.attachDomPortal(t);return this._contentAttached(),e};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(t,e){this._interactivityChecker.isFocusable(t)||(t.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{n(),a(),t.removeAttribute("tabindex")},n=this._renderer.listen(t,"blur",o),a=this._renderer.listen(t,"mousedown",o)})),t.focus(e)}_focusByCssSelector(t,e){let o=this._elementRef.nativeElement.querySelector(t);o&&this._forceFocus(o,e)}_trapFocus(t){this._isDestroyed||ue(()=>{let e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus(t);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(t)||this._focusDialogContainer(t);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',t);break;default:this._focusByCssSelector(this._config.autoFocus,t);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let t=this._config.restoreFocus,e=null;if(typeof t=="string"?e=this._document.querySelector(t):typeof t=="boolean"?e=t?this._elementFocusedBeforeDialogWasOpened:null:t&&(e=t),this._config.restoreFocus&&e&&typeof e.focus=="function"){let o=Et(),n=this._elementRef.nativeElement;(!o||o===this._document.body||o===n||n.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(t){this._elementRef.nativeElement.focus?.(t)}_containsFocus(){let t=this._elementRef.nativeElement,e=Et();return t===e||t.contains(e)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Et()))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=A({type:i,selectors:[["cdk-dialog-container"]],viewQuery:function(e,o){if(e&1&&et(ct,7),e&2){let n;U(n=W())&&(o._portalOutlet=n.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,o){e&2&&g("id",o._config.id||null)("role",o._config.role)("aria-modal",o._config.ariaModal)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null)},features:[Z],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,o){e&1&&Y(0,So,0,0,"ng-template",0)},dependencies:[ct],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}
`],encapsulation:2})}return i})(),gt=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new T;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(s,t){this.overlayRef=s,this.config=t,this.disableClose=t.disableClose,this.backdropClick=s.backdropClick(),this.keydownEvents=s.keydownEvents(),this.outsidePointerEvents=s.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(e=>{e.keyCode===27&&!this.disableClose&&!ot(e)&&(e.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=s.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(s,t){if(this._canClose(s)){let e=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),e.next(s),e.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(s="",t=""){return this.overlayRef.updateSize({width:s,height:t}),this}addPanelClass(s){return this.overlayRef.addPanelClass(s),this}removePanelClass(s){return this.overlayRef.removePanelClass(s),this}_canClose(s){let t=this.config;return!!this.containerInstance&&(!t.closePredicate||t.closePredicate(s,t,this.componentInstance))}},Io=new h("DialogScrollStrategy",{providedIn:"root",factory:()=>{let i=l(F);return()=>Ot(i)}}),ko=new h("DialogData"),wo=new h("DefaultDialogConfig");function To(i){let s=bt(i),t=new P;return{valueSignal:s,get value(){return s()},change:t,ngOnDestroy(){t.complete()}}}var Kt=(()=>{class i{_injector=l(F);_defaultOptions=l(wo,{optional:!0});_parentDialog=l(i,{optional:!0,skipSelf:!0});_overlayContainer=l(Ae);_idGenerator=l(z);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new T;_afterOpenedAtThisLevel=new T;_ariaHiddenElements=new Map;_scrollStrategy=l(Io);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=ht(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(pt(void 0)));constructor(){}open(t,e){let o=this._defaultOptions||new G;e=M(M({},o),e),e.id=e.id||this._idGenerator.getId("cdk-dialog-"),e.id&&this.getDialogById(e.id);let n=this._getOverlayConfig(e),a=Oe(this._injector,n),r=new gt(a,e),d=this._attachContainer(a,r,e);if(r.containerInstance=d,!this.openDialogs.length){let c=this._overlayContainer.getContainerElement();d._focusTrapped?d._focusTrapped.pipe(N(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(c)}):this._hideNonDialogContentFromAssistiveTechnology(c)}return this._attachDialogContent(t,r,d,e),this.openDialogs.push(r),r.closed.subscribe(()=>this._removeOpenDialog(r,!0)),this.afterOpened.next(r),r}closeAll(){qt(this.openDialogs,t=>t.close())}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){qt(this._openDialogsAtThisLevel,t=>{t.config.closeOnDestroy===!1&&this._removeOpenDialog(t,!1)}),qt(this._openDialogsAtThisLevel,t=>t.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(t){let e=new xe({positionStrategy:t.positionStrategy||Mt().centerHorizontally().centerVertically(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,width:t.width,height:t.height,disposeOnNavigation:t.closeOnNavigation,disableAnimations:t.disableAnimations});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachContainer(t,e,o){let n=o.injector||o.viewContainerRef?.injector,a=[{provide:G,useValue:o},{provide:gt,useValue:e},{provide:Ee,useValue:t}],r;o.container?typeof o.container=="function"?r=o.container:(r=o.container.type,a.push(...o.container.providers(o))):r=Jt;let d=new Qt(r,o.viewContainerRef,F.create({parent:n||this._injector,providers:a}));return t.attach(d).instance}_attachDialogContent(t,e,o,n){if(t instanceof ge){let a=this._createInjector(n,e,o,void 0),r={$implicit:n.data,dialogRef:e};n.templateContext&&(r=M(M({},r),typeof n.templateContext=="function"?n.templateContext():n.templateContext)),o.attachTemplatePortal(new Te(t,null,r,a))}else{let a=this._createInjector(n,e,o,this._injector),r=o.attachComponentPortal(new Qt(t,n.viewContainerRef,a));e.componentRef=r,e.componentInstance=r.instance}}_createInjector(t,e,o,n){let a=t.injector||t.viewContainerRef?.injector,r=[{provide:ko,useValue:t.data},{provide:gt,useValue:e}];return t.providers&&(typeof t.providers=="function"?r.push(...t.providers(e,t,o)):r.push(...t.providers)),t.d Line truncated
`],encapsulation:2})}return i})(),Xe="--mat-dialog-transition-duration";function to(i){return i==null?null:typeof i=="number"?i:i.endsWith("ms")?$t(i.substring(0,i.length-2)):i.endsWith("s")?$t(i.substring(0,i.length-1))*1e3:i==="0"?0:null}var Lt=(function(i){return i[i.OPEN=0]="OPEN",i[i.CLOSING=1]="CLOSING",i[i.CLOSED=2]="CLOSED",i})(Lt||{}),mt=class{_ref;_config;_containerInstance;componentInstance;componentRef=null;disableClose;id;_afterOpened=new Vt(1);_beforeClosed=new Vt(1);_result;_closeFallbackTimeout;_state=Lt.OPEN;_closeInteractionType;constructor(s,t,e){this._ref=s,this._config=t,this._containerInstance=e,this.disableClose=t.disableClose,this.id=s.id,s.addPanelClass("mat-mdc-dialog-panel"),e._animationStateChanged.pipe(rt(o=>o.state==="opened"),N(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(rt(o=>o.state==="closed"),N(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),s.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),ne(this.backdropClick(),this.keydownEvents().pipe(rt(o=>o.keyCode===27&&!this.disableClose&&!ot(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),eo(this,o.type==="keydown"?"keyboard":"mouse"))})}close(s){let t=this._config.closePredicate;t&&!t(s,this._config,this.componentInstance)||(this._result=s,this._containerInstance._animationStateChanged.pipe(rt(e=>e.state==="closing"),N(1)).subscribe(e=>{this._beforeClosed.next(s),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=Lt.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(s){let t=this._ref.config.positionStrategy;return s&&(s.left||s.right)?s.left?t.left(s.left):t.right(s.right):t.centerHorizontally(),s&&(s.top||s.bottom)?s.top?t.top(s.top):t.bottom(s.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(s="",t=""){return this._ref.updateSize(s,t),this}addPanelClass(s){return this._ref.addPanelClass(s),this}removePanelClass(s){return this._ref.removePanelClass(s),this}getState(){return this._state}_finishDialogClose(){this._state=Lt.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function eo(i,s,t){return i._closeInteractionType=s,i.close(t)}var Oo=new h("MatMdcDialogData"),Mo=new h("mat-mdc-dialog-default-options"),Fo=new h("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let i=l(F);return()=>Ot(i)}}),Yt=(()=>{class i{_defaultOptions=l(Mo,{optional:!0});_scrollStrategy=l(Fo);_parentDialog=l(i,{optional:!0,skipSelf:!0});_idGenerator=l(z);_injector=l(F);_dialog=l(Kt);_animationsDisabled=ut();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new T;_afterOpenedAtThisLevel=new T;dialogConfigClass=Bt;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=ht(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(pt(void 0)));constructor(){this._dialogRefConstructor=mt,this._dialogContainerType=Eo,this._dialogDataToken=Oo}open(t,e){let o;e=M(M({},this._defaultOptions||new Bt),e),e.id=e.id||this._idGenerator.getId("mat-mdc-dialog-"),e.scrollStrategy=e.scrollStrategy||this._scrollStrategy();let n=this._dialog.open(t,Xt(M({},e),{positionStrategy:Mt(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||e.enterAnimationDuration?.toLocaleString()==="0"||e.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:e},{provide:G,useValue:e}]},templateContext:()=>({dialogRef:o}),providers:(a,r,d)=>(o=new this._dialogRefConstructor(a,e,d),o.updatePosition(e?.position),[{provide:this._dialogContainerType,useValue:d},{provide:this._dialogDataToken,useValue:r.data},{provide:this._dialogRefConstructor,useValue:o}])}));return o.componentRef=n.componentRef,o.componentInstance=n.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}get Line truncated
`],encapsulation:2,changeDetection:0})}return i})(),Vn=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=E({type:i});static \u0275inj=x({imports:[je,ro,j]})}return i})();function Wo(i){return i.metadata&&(typeof i.metadata=="string"?JSON.parse(i.metadata):i.metadata).copilot_mode||null}function Wn(i){return Wo(i)==="troubleshooting_injection"}var nt=(function(i){return i.NETWORK_ERROR="NETWORK_ERROR",i.PROJECT_NOT_OPENED="PROJECT_NOT_OPENED",i.LLM_NOT_CONFIGURED="LLM_NOT_CONFIGURED",i.SESSION_NOT_FOUND="SESSION_NOT_FOUND",i.UNAUTHORIZED="UNAUTHORIZED",i.UNKNOWN_ERROR="UNKNOWN_ERROR",i})(nt||{});var zt=class{authToken;id;name;location;host;port;path;ubridge_path;status="stopped";protocol;username;password;tokenExpired=!1};var so=(()=>{class i{httpController;controllerIds=[];serviceInitialized=new T;isServiceInitialized;constructor(t){this.httpController=t,this.controllerIds=this.getcontrollerIds(),this.isServiceInitialized=!0,this.serviceInitialized.next(this.isServiceInitialized)}getcontrollerIds(){let t=localStorage.getItem("controllerIds");if(t?.length>0){let e=t.split(",");return[...new Set(e)].filter(o=>o&&o.trim().length>0)}return[]}updatecontrollerIds(){localStorage.removeItem("controllerIds"),localStorage.setItem("controllerIds",this.controllerIds.toString())}get(t){let e=JSON.parse(localStorage.getItem(`controller-${t}`));return new Promise(n=>{n(e)})}create(t){if(this.findAllSync().some(r=>r.name===t.name))return Promise.reject(new Error(`Controller with name "${t.name}" already exists`));let o=this.controllerIds.map(r=>parseInt(r.replace("controller-",""),10)).filter(r=>!isNaN(r)),n=o.length>0?Math.max(...o):0;return t.id=n+1,localStorage.setItem(`controller-${t.id}`,JSON.stringify(t)),this.controllerIds.push(`controller-${t.id}`),this.updatecontrollerIds(),new Promise(r=>{r(t)})}findAllSync(){let t=[];return this.controllerIds.forEach(e=>{let o=localStorage.getItem(e);o&&t.push(JSON.parse(o))}),t}isControllerNameTaken(t){return this.findAllSync().some(o=>o.name===t)}update(t){return localStorage.removeItem(`controller-${t.id}`),localStorage.setItem(`controller-${t.id}`,JSON.stringify(t)),new Promise(o=>{o(t)})}findAll(){return new Promise(e=>{let o=[];this.controllerIds.forEach(n=>{let a=localStorage.getItem(n);if(a){let r=JSON.parse(a);o.push(r)}}),e(o)})}delete(t){return localStorage.removeItem(`controller-${t.id}`),this.controllerIds=this.controllerIds.filter(o=>o!==`controller-${t.id}`),this.updatecontrollerIds(),new Promise(o=>{o(t.id)})}getControllerUrl(t){return`${t.protocol}//${t.host}:${t.port}/`}checkControllerVersion(t){return this.httpController.get(t,"/version").pipe(oe(5e3),f(e=>{if(e.name==="TimeoutError"){let o=new Error("Connection timeout");return m(()=>o)}return m(()=>e)}))}getLocalController(t,e){return new Promise((n,a)=>{this.findAll().then(r=>{let d=r.find(c=>c.location==="bundled");if(d)d.host=t,d.port=e,d.protocol=location.protocol,this.update(d).then(c=>{n(c)},a);else{let c=new zt;c.name="local",c.host=t,c.port=e,c.location="bundled",c.protocol=location.protocol,this.create(c).then(C=>{n(C)},a)}},a)})}static \u0275fac=function(e){return new(e||i)(S(Nt))};static \u0275prov=D({token:i,factory:i.\u0275fac})}return i})();var ea=(()=>{class i{http;httpController;controllerService;currentProjectId=null;currentSessionId=null;isStreaming=new ee(!1);constructor(t,e,o){this.http=t,this.httpController=e,this.controllerService=o}injectFault(t,e,o){let n=`${this.getControllerUrl(t)}/v3/copilot/projects/${e}/chat/inject`,a=this.getAuthHeaders(t),r={"Content-Type":"application/json"};return a.keys().forEach(d=>{let c=a.get(d);c&&(r[d]=c)}),new Ht(d=>(fetch(n,{method:"POST",headers:r,body:JSON.stringify({message:o})}).then(async c=>{if(!c.ok){let u=`HTTP error! status: ${c.status}`;try{let b=await c.json();b.message&&(u=b.message)}catch{c.statusText&&(u=c.statusText)}let _=new Error(u);throw _.status=c.status,_.statusText=c.statusText,_.error={message:u},_}if(!c.body)throw new Error("Response body is null");let C=c.body.getReader(),Gt=new TextDecoder,H="";(async()=>{try{for(;;){let{done:u,value:_}=await C.read();if(u){d.complete();break}H+=Gt.decode(_,{stream:!0});let b=H.split(`
`);H=b.pop()||"";for(let at of b)if(at.startsWith("data: ")){let V=at.slice(6).trim();if(V)try{let p=JSON.parse(V);if(p.type==="heartbeat")continue;if(d.next(p),p.type==="done"||p.type==="error"){d.complete();break}}catch(p){console.error("Failed to parse SSE data:",V,p)}}if(d.closed)break}}catch(u){console.error("Stream processing error:",u),d.error(u)}finally{C.cancel()}})()}).catch(c=>{console.error("Fetch error:",c),d.error(c)}),()=>{})).pipe(f(d=>m(()=>d)))}streamChat(t,e,o){this.currentProjectId=e,this.isStreaming.next(!0);let n=`${this.getControllerUrl(t)}/v3/copilot/projects/${e}/chat/stream`,a=this.getAuthHeaders(t),r={"Content-Type":"application/json"};return a.keys().forEach(d=>{let c=a.get(d);c&&(r[d]=c)}),new Ht(d=>(fetch(n,{method:"POST",headers:r,body:JSON.stringify(o)}).then(async c=>{if(!c.ok){let u=`HTTP error! status: ${c.status}`;try{let b=await c.json();b.message&&(u=b.message)}catch{c.statusText&&(u=c.statusText)}let _=new Error(u);throw _.status=c.status,_.statusText=c.statusText,_.error={message:u},_}if(!c.body)throw new Error("Response body is null");let C=c.body.getReader(),Gt=new TextDecoder,H="";(async()=>{try{for(;;){let{done:u,value:_}=await C.read();if(u){d.complete();break}H+=Gt.decode(_,{stream:!0});let b=H.split(`
`);H=b.pop()||"";for(let at of b)if(at.startsWith("data: ")){let V=at.slice(6).trim();if(V)try{let p=JSON.parse(V);if(p.type==="heartbeat")continue;if(p.session_id&&(this.currentSessionId=p.session_id),d.next(p),p.type==="done"||p.type==="error"){d.complete();break}}catch(p){console.error("Failed to parse SSE data:",V,p)}}if(d.closed)break}}catch(u){console.error("Stream processing error:",u),d.error(u)}finally{C.cancel()}})()}).catch(c=>{console.error("Fetch error:",c),d.error(c)}).finally(()=>{this.isStreaming.next(!1)}),()=>{this.isStreaming.next(!1)})).pipe(f(d=>(this.isStreaming.next(!1),m(()=>d))))}getSessions(t,e){return this.httpController.get(t,`/copilot/projects/${e}/chat/sessions`).pipe(f(o=>(console.error("Failed to get sessions:",o),m(()=>o))))}getSessionHistory(t,e,o,n=100){let a=n?{limit:n}:void 0;return this.httpController.get(t,`/copilot/projects/${e}/chat/sessions/${o}/history`).pipe(f(r=>(console.error("Failed to get session history:",r),m(()=>r))))}renameSession(t,e,o,n){let a={title:n};return this.httpController.patch(t,`/copilot/projects/${e}/chat/sessions/${o}`,a).pipe(f(r=>(console.error("Failed to rename session:",r),m(()=>r))))}deleteSession(t,e,o){return this.httpController.delete(t,`/copilot/projects/${e}/chat/sessions/${o}`).pipe(f(n=>(console.error("Failed to delete session:",n),m(()=>n))))}pinSession(t,e,o){return this.httpController.put(t,`/copilot/projects/${e}/chat/sessions/${o}/pin`,null).pipe(f(n=>(console.error("Failed to pin session:",n),m(()=>n))))}unpinSession(t,e,o){return this.httpController.delete(t,`/copilot/projects/${e}/chat/sessions/${o}/pin`).pipe(f(n=>(console.error("Failed to unpin session:",n),m(()=>n))))}getStreamingState(){return this.isStreaming.asObservable()}abortChat(t,e,o){return this.httpController.post(t,`/copilot/projects/${e}/chat/sessions/${o}/abort`,null).pipe(f(n=>(console.error("Failed to abort chat:",n),m(()=>n))))}getCurrentSessionId(){return this.currentSessionId}resetCurrentSession(){this.currentSessionId=null,this.currentProjectId=null}reloadSkills(t){return this.httpController.post(t,"/copilot/reload/skills",null).pipe(f(e=>(console.error("Failed to reload skills:",e),m(()=>e))))}getControllerUrl(t){return`${t.protocol==="https:"?"https":"http"}://${t.host}:${t.port}`}getAuthHeaders(t){let e=new Ce;if(t.authToken)return e.set("Authorization",`Bearer ${t.authToken}`);if(t.username&&t.password){let o=btoa(`${t.username}:${t.password}`);return e.set("Authorization",`Basic ${o}`)}return e}createChatError(t){return t.status===401?{type:nt.UNAUTHORIZED,message:"Unauthorized access",details:t}:t.status===404?{type:nt.SESSION_NOT_FOUND,message:"Session not found",details:t}:t.message&&t.message.includes("fetch")?{type:nt.NETWORK_ERROR,message:"Network connection failed",details:t}:{type:nt.UNKNOWN_ERROR,message:t.message||"Unknown error",details:t}}static \u0275fac=function(e){return new(e||i)(S(At),S(Nt),S(so))};static \u0275prov=D({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{ni as a,ai as b,Qe as c,Ti as d,Di as e,zt as f,so as g,Jt as h,ko as i,Kt as j,Ke as k,mt as l,Oo as m,Yt as n,pn as o,fn as p,_n as q,bn as r,vn as s,Uo as t,ro as u,Vn as v,Wn as w,ea as x};
@@ -0,0 +1,14 @@
var kE=Object.create;var fs=Object.defineProperty,FE=Object.defineProperties,PE=Object.getOwnPropertyDescriptor,LE=Object.getOwnPropertyDescriptors,VE=Object.getOwnPropertyNames,ds=Object.getOwnPropertySymbols,jE=Object.getPrototypeOf,El=Object.prototype.hasOwnProperty,Fp=Object.prototype.propertyIsEnumerable;var kp=(e,n,t)=>n in e?fs(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,E=(e,n)=>{for(var t in n||={})El.call(n,t)&&kp(e,t,n[t]);if(ds)for(var t of ds(n))Fp.call(n,t)&&kp(e,t,n[t]);return e},V=(e,n)=>FE(e,LE(n));var BE=(e,n)=>{var t={};for(var r in e)El.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&ds)for(var r of ds(e))n.indexOf(r)<0&&Fp.call(e,r)&&(t[r]=e[r]);return t};var zN=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),GN=(e,n)=>{for(var t in n)fs(e,t,{get:n[t],enumerable:!0})},HE=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of VE(n))!El.call(e,o)&&o!==t&&fs(e,o,{get:()=>n[o],enumerable:!(r=PE(n,o))||r.enumerable});return e};var WN=(e,n,t)=>(t=e!=null?kE(jE(e)):{},HE(n||!e||!e.__esModule?fs(t,"default",{value:e,enumerable:!0}):t,e));function T(e){return typeof e=="function"}function dn(e){let t=e(r=>{Error.call(r),r.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var hs=dn(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:
${t.map((r,o)=>`${o+1}) ${r.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=t});function Vn(e,n){if(e){let t=e.indexOf(n);0<=t&&e.splice(t,1)}}var B=class e{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let i of t)i.remove(this);else t.remove(this);let{initialTeardown:r}=this;if(T(r))try{r()}catch(i){n=i instanceof hs?i.errors:[i]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let i of o)try{Pp(i)}catch(s){n=n??[],s instanceof hs?n=[...n,...s.errors]:n.push(s)}}if(n)throw new hs(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Pp(n);else{if(n instanceof e){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(n)}}_hasParent(n){let{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){let{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vn(t,n)}remove(n){let{_finalizers:t}=this;t&&Vn(t,n),n instanceof e&&n._removeParent(this)}};B.EMPTY=(()=>{let e=new B;return e.closed=!0,e})();var wl=B.EMPTY;function ps(e){return e instanceof B||e&&"closed"in e&&T(e.remove)&&T(e.add)&&T(e.unsubscribe)}function Pp(e){T(e)?e():e.unsubscribe()}var dt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Sr={setTimeout(e,n,...t){let{delegate:r}=Sr;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){let{delegate:n}=Sr;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ms(e){Sr.setTimeout(()=>{let{onUnhandledError:n}=dt;if(n)n(e);else throw e})}function jn(){}var Lp=Cl("C",void 0,void 0);function Vp(e){return Cl("E",void 0,e)}function jp(e){return Cl("N",e,void 0)}function Cl(e,n,t){return{kind:e,value:n,error:t}}var Bn=null;function Tr(e){if(dt.useDeprecatedSynchronousErrorHandling){let n=!Bn;if(n&&(Bn={errorThrown:!1,error:null}),e(),n){let{errorThrown:t,error:r}=Bn;if(Bn=null,t)throw r}}else e()}function Bp(e){dt.useDeprecatedSynchronousErrorHandling&&Bn&&(Bn.errorThrown=!0,Bn.error=e)}var Hn=class extends B{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,ps(n)&&n.add(this)):this.destination=zE}static create(n,t,r){return new zt(n,t,r)}next(n){this.isStopped?Ml(jp(n),this):this._next(n)}error(n){this.isStopped?Ml(Vp(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Ml(Lp,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},UE=Function.prototype.bind;function Il(e,n){return UE.call(e,n)}var Sl=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){gs(r)}}error(n){let{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){gs(r)}else gs(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){gs(t)}}},zt=class extends Hn{constructor(n,t,r){super();let o;if(T(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&dt.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&Il(n.next,i),error:n.error&&Il(n.error,i),complete:n.complete&&Il(n.complete,i)}):o=n}this.destination=new Sl(o)}};function gs(e){dt.useDeprecatedSynchronousErrorHandling?Bp(e):ms(e)}function $E(e){throw e}function Ml(e,n){let{onStoppedNotification:t}=dt;t&&Sr.setTimeout(()=>t(e,n))}var zE={closed:!0,next:jn,error:$E,complete:jn};var xr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function We(e){return e}function GE(...e){return Tl(e)}function Tl(e){return e.length===0?We:e.length===1?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}var k=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){let i=qE(t)?t:new zt(t,r,o);return Tr(()=>{let{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=Hp(r),new r((o,i)=>{let s=new zt({next:a=>{try{t(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[xr](){return this}pipe(...t){return Tl(t)(this)}toPromise(t){return t=Hp(t),new t((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Hp(e){var n;return(n=e??dt.Promise)!==null&&n!==void 0?n:Promise}function WE(e){return e&&T(e.next)&&T(e.error)&&T(e.complete)}function qE(e){return e&&eLine truncated
`);return r>=0?t.slice(0,r):t}function ta(e,n){return e?n?`${e} ${n}`:e:n||""}var jw=q({__forward_ref__:q});function ve(e){return e.__forward_ref__=ve,e}function me(e){return pu(e)?e():e}function pu(e){return typeof e=="function"&&e.hasOwnProperty(jw)&&e.__forward_ref__===ve}function g(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function G(e){return{providers:e.providers||[],imports:e.imports||[]}}function Qo(e){return Hw(e,na)}function Bw(e){return Qo(e)!==null}function Hw(e,n){return e.hasOwnProperty(n)&&e[n]||null}function Uw(e){let n=e?.[na]??null;return n||null}function ru(e){return e&&e.hasOwnProperty(Zs)?e[Zs]:null}var na=q({\u0275prov:q}),Zs=q({\u0275inj:q}),y=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=g({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function mu(e){return e&&!!e.\u0275providers}var gu=q({\u0275cmp:q}),yu=q({\u0275dir:q}),vu=q({\u0275pipe:q}),bu=q({\u0275mod:q}),Wo=q({\u0275fac:q}),tr=q({__NG_ELEMENT_ID__:q}),xm=q({__NG_ENV_ID__:q});function _u(e){return oa(e,"@NgModule"),e[bu]||null}function kt(e){return oa(e,"@Component"),e[gu]||null}function ra(e){return oa(e,"@Directive"),e[yu]||null}function km(e){return oa(e,"@Pipe"),e[vu]||null}function oa(e,n){if(e==null)throw new v(-919,!1)}function Ft(e){return typeof e=="string"?e:e==null?"":String(e)}var Fm=q({ngErrorCode:q}),$w=q({ngErrorMessage:q}),zw=q({ngTokenPath:q});function Du(e,n){return Pm("",-200,n)}function ia(e,n){throw new v(-201,!1)}function Pm(e,n,t){let r=new v(n,e);return r[Fm]=n,r[$w]=e,t&&(r[zw]=t),r}function Gw(e){return e[Fm]}var ou;function Lm(){return ou}function Ae(e){let n=ou;return ou=e,n}function Eu(e,n,t){let r=Qo(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(t&8)return null;if(n!==void 0)return n;ia(e,"")}var Ww={},Xn=Ww,qw="__NG_DI_FLAG__",iu=class{injector;constructor(n){this.injector=n}retrieve(n,t){let r=Qn(t)||0;try{return this.injector.get(n,r&8?null:Xn,r)}catch(o){if(Lr(o))return o;throw o}}};function Yw(e,n=0){let t=qs();if(t===void 0)throw new v(-203,!1);if(t===null)return Eu(e,void 0,n);{let r=Zw(n),o=t.retrieve(e,r);if(Lr(o)){if(r.optional)return null;throw o}return o}}function I(e,n=0){return(Lm()||Yw)(me(e),n)}function f(e,n){return I(e,Qn(n))}function Qn(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Zw(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function su(e){let n=[];for(let t=0;t<e.length;t++){let r=me(e[t]);if(Array.isArray(r)){if(r.length===0)throw new v(900,!1);let o,i=0;for(let s=0;s<r.length;s++){let a=r[s],c=Kw(a);typeof c=="number"?c===-1?o=a.token:i|=c:o=a}n.push(I(o,i))}else n.push(I(r))}return n}function Kw(e){return e[qw]}function _n(e,n){let t=e.hasOwnProperty(Wo);return t?e[Wo]:null}function Vm(e,n,t){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++){let o=e[r],i=n[r];if(t&&(o=t(o),i=t(i)),i!==o)return!1}return!0}function jm(e){return e.flat(Number.POSITIVE_INFINITY)}function sa(e,n){e.forEach(t=>Array.isArray(t)?sa(t,n):n(t))}function wu(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Jo(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Bm(e,n){let t=[];for(let r=0;r<e;r++)t.push(n);return t}function Hm(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(o===1)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;){let i=o-2;e[o]=e[i],o--}e[n]=t,e[n+1]=r}}function aa(e,n,t){let r=jr(e,n);return r>=0?e[r|1]=t:(r=~r,Hm(e,r,n,t)),r}function ca(e,n){let t=jr(e,n);if(t>=0)return e[t|1]}function jr(e,n){return Xw(e,n,1)}function Xw(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){let i=r+(o-r>>1),s=e[i<<t];if(n===s)return i<<t;s>n?o=i:r=i+1}return~(o<<t)}var mt={},Ce=[],Br=new y(""),Cu=new y("",-1),Iu=new y(""),qo=class{get(n,t=Xn){if(t===Xn){let o=Pm("",-201);throw o.name="\u0275NotFound",o}return t}};function nr(e){return{\u0275providers:e}}function Um(...e){return{\u0275providers:Mu(!0,e),\u0275fromNgModule:!0}}function Mu(e,...n){let t=[],r=new Set,o,i=s=>{t.push(s)};return sa(n,s=>{let a=s;Ks(a,i,[],r)&&(o||=[],o.push(a))}),o!==void 0&&$m(o,i),t}function $m(e,n){for(let t=0;t<e.length;t++){let{ngModule:r,providers:o}=e[t];Su(o,i=>{n(i,r)})}}function Ks(e,n,t,r){if(e=me(e),!e)return!1;let o=null,i=ru(e),s=!i&&kt(e);if(!i&&!s){let c=e.ngModule;if(i=ru(c),i)o=c;else return!1}else{if(s&&!s.standalone)return!1;o=e}let a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)Ks(l,n,t,r)}}else if(i){if(i.imports!=null&&!a){r.add(o);let l;sa(i.imports,u=>{Ks(u,n,t,r)&&(l||=[],l.push(u))}),l!==void 0&&$m(l,n)}if(!a){let l=_n(o)||(()=>new o);n({provide:o,useFactory:l,deps:Ce},o),n({ Line truncated
`).forEach(t=>{let r=t.indexOf(":");if(r>0){let o=t.slice(0,r),i=t.slice(r+1).trim();this.addHeaderEntry(o,i)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){let t=new e;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){let t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,t);let o=(n.op==="a"?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":let i=n.value;if(!i)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>i.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}addHeaderEntry(n,t){let r=n.toLowerCase();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(n,t){let r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}};var Fc=class{map=new Map;set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}},Pc=class{encodeKey(n){return P_(n)}encodeValue(n){return P_(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function Ax(e,n){let t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{let i=o.indexOf("="),[s,a]=i==-1?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],c=t.get(s)||[];c.push(a),t.set(s,c)}),t}var Nx=/%(\d[a-f0-9])/gi,Rx={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function P_(e){return encodeURIComponent(e).replace(Nx,(n,t)=>Rx[t]??n)}function kc(e){return`${e}`}var cn=class e{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new Pc,n.fromString){if(n.fromObject)throw new v(2805,!1);this.map=Ax(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{let r=n.fromObject[t],o=Array.isArray(r)?r.map(kc):[kc(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){let t=[];return Object.keys(n).forEach(r=>{let o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let t=new e({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let t=(n.op==="a"?this.map.get(n.param):void 0)||[];t.push(kc(n.value)),this.map.set(n.param,t);break;case"d":if(n.value!==void 0){let r=this.map.get(n.param)||[],o=r.indexOf(kc(n.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};function Ox(e){switch(e){cas Line truncated
`],encapsulation:2,changeDetection:0})}return e})(),zc;function oA(){if(zc===void 0&&(zc=null,typeof window<"u")){let e=window;e.trustedTypes!==void 0&&(zc=e.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return zc}function iA(e){return oA()?.createHTML(e)||e}function iD(e,n,t){let r=t.sanitize(je.HTML,n);e.innerHTML=iA(r||"")}function Dr(e){return Array.isArray(e)?e:[e]}var sD=new Set,Er,Wc=(()=>{class e{_platform=f(ae);_nonce=f(io,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):aA}matchMedia(t){return(this._platform.WEBKIT||this._platform.BLINK)&&sA(t,this._nonce),this._matchMedia(t)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function sA(e,n){if(!sD.has(e))try{Er||(Er=document.createElement("style"),n&&Er.setAttribute("nonce",n),Er.setAttribute("type","text/css"),document.head.appendChild(Er)),Er.sheet&&(Er.sheet.insertRule(`@media ${e} {body{ }}`,0),sD.add(e))}catch(t){console.error(t)}}function aA(e){return{matches:e==="all"||e==="",media:e,addListener:()=>{},removeListener:()=>{}}}var Bh=(()=>{class e{_mediaMatcher=f(Wc);_zone=f(P);_queries=new Map;_destroySubject=new R;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return aD(Dr(t)).some(o=>this._registerQuery(o).mql.matches)}observe(t){let o=aD(Dr(t)).map(s=>this._registerQuery(s).observable),i=Fl(o);return i=mn(i.pipe(pt(1)),i.pipe(Bo(1),qn(0))),i.pipe(re(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);let r=this._mediaMatcher.matchMedia(t),i={observable:new k(s=>{let a=c=>this._zone.run(()=>s.next(c));return r.addListener(a),()=>{r.removeListener(a)}}).pipe(Us(r),re(({matches:s})=>({query:t,matches:s})),$n(this._destroySubject)),mql:r};return this._queries.set(t,i),i}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function aD(e){return e.map(n=>n.split(",")).reduce((n,t)=>n.concat(t)).map(n=>n.trim())}function cA(e){if(e.type==="characterData"&&e.target instanceof Comment)return!0;if(e.type==="childList"){for(let n=0;n<e.addedNodes.length;n++)if(!(e.addedNodes[n]instanceof Comment))return!1;for(let n=0;n<e.removedNodes.length;n++)if(!(e.removedNodes[n]instanceof Comment))return!1;return!0}return!1}var cD=(()=>{class e{create(t){return typeof MutationObserver>"u"?null:new MutationObserver(t)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),lD=(()=>{class e{_mutationObserverFactory=f(cD);_observedElements=new Map;_ngZone=f(P);constructor(){}ngOnDestroy(){this._observedElements.forEach((t,r)=>this._cleanupObserver(r))}observe(t){let r=ct(t);return new k(o=>{let s=this._observeElement(r).pipe(re(a=>a.filter(c=>!cA(c))),Ee(a=>!!a.length)).subscribe(a=>{this._ngZone.run(()=>{o.next(a)})});return()=>{s.unsubscribe(),this._unobserveElement(r)}})}_observeElement(t){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(t))this._observedElements.get(t).count++;else{let r=new R,o=this._mutationObserverFactory.create(i=>r.next(i));o&&o.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:o,stream:r,count:1})}return this._observedElements.get(t).stream})}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){let{observer:r,stream:o}=this._observedElements.get(t);r&&r.disconnect(),o.complete(),this._observedElements.delete(t)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),o4=(()=>{class e{_contentObserver=f(lD);_elementRef=f(z);event=new H;get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(t){this._debounce=Bc(t),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let t=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?t.pipe(qn(this.debounce)):t).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275dir=O({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",de],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return Line truncated
`],encapsulation:2,changeDetection:0})}return e})(),Xi=class e{_target;_ngZone;_platform;_containerElement;_triggerElement=null;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple=null;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect=null;static _eventManager=new Qh;constructor(n,t,r,o,i){this._target=n,this._ngZone=t,this._platform=o,o.isBrowser&&(this._containerElement=ct(r)),i&&i.get(lt).load(AA)}fadeInRipple(n,t,r={}){let o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),i=E(E({},Ki),r.animation);r.centered&&(n=o.left+o.width/2,t=o.top+o.height/2);let s=r.radius||NA(n,t,o),a=n-o.left,c=t-o.top,l=i.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=`${a-s}px`,u.style.top=`${c-s}px`,u.style.height=`${s*2}px`,u.style.width=`${s*2}px`,r.color!=null&&(u.style.backgroundColor=r.color),u.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(u);let d=window.getComputedStyle(u),p=d.transitionProperty,h=d.transitionDuration,m=p==="none"||h==="0s"||h==="0s, 0s"||o.width===0&&o.height===0,b=new Xh(this,u,r,m);u.style.transform="scale3d(1, 1, 1)",b.state=ut.FADING_IN,r.persistent||(this._mostRecentTransientRipple=b);let _=null;return!m&&(l||i.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let C=()=>{_&&(_.fallbackTimer=null),clearTimeout(Ge),this._finishRippleTransition(b)},ne=()=>this._destroyRipple(b),Ge=setTimeout(ne,l+100);u.addEventListener("transitionend",C),u.addEventListener("transitioncancel",ne),_={onTransitionEnd:C,onTransitionCancel:ne,fallbackTimer:Ge}}),this._activeRipples.set(b,_),(m||!l)&&this._finishRippleTransition(b),b}fadeOutRipple(n){if(n.state===ut.FADING_OUT||n.state===ut.HIDDEN)return;let t=n.element,r=E(E({},Ki),n.config.animation);t.style.transitionDuration=`${r.exitDuration}ms`,t.style.opacity="0",n.state=ut.FADING_OUT,(n._animationForciblyDisabledThroughCss||!r.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){let t=ct(n);!this._platform.isBrowser||!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,ID.forEach(r=>{e._eventManager.addHandler(this._ngZone,r,t,this)}))}handleEvent(n){n.type==="mousedown"?this._onMousedown(n):n.type==="touchstart"?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{MD.forEach(t=>{this._triggerElement.addEventListener(t,this,CD)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===ut.FADING_IN?this._startFadeOutTransition(n):n.state===ut.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){let t=n===this._mostRecentTransientRipple,{persistent:r}=n.config;n.state=ut.VISIBLE,!r&&(!t||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){let t=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=ut.HIDDEN,t!==null&&(n.element.removeEventListener("transitionend",t.onTransitionEnd),n.element.removeEventListener("transitioncancel",t.onTransitionCancel),t.fallbackTimer!==null&&clearTimeout(t.fallbackTimer)),n.element.remove()}_onMousedown(n){let t=Gi(n),r=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+xA;!this._target.rippleDisabled&&!t&&!r&&(this._isPointerDown=!0,this.fadeInRipple(n.clientX,n.clientY,this._target.rippleConfig))}_onTouchStart(n){if(!this._target.rippleDisabled&&!Wi(n)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let t=n.changedTouches;if(t)for(let r=0;r<t.length;r++)this.fadeInRipple(t[r].clientX,t[r].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(n=>{let t=n.state===ut.VISIBLE||n.config.terminateOnPointerUp&&n.state===ut.FADING_IN;!n.config.persistent&&t&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let n=this._triggerElement;n&&(ID.forEach(t=>e._eventManager.removeHandler(t,n,this)),this._pointerUpEventsRegistered&&(MD.forEach(t=>n.removeEventListener(t,this,CD)),this._pointerUpEventsRegistered=!1))}};function NA(e,n,t){let r=Math.max(Math.abs(e-t.left),Math.abs(e-t.right)),o=Math.max(Math.abs(n-t.top),Math.abs(n-t.bottom));return Math.sqrt(r*r+o*o)}var Jh=new y("mat-ripple-global-options"),q5=(()=>{class e{_elementRef=f(z);_animationsDisabled=Fn();color;unbounded=!1;centered=!1;radius=0;animation;get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRender Line truncated
`],encapsulation:2,changeDetection:0})}return e})();var kA=["mat-icon-button",""],FA=["*"],PA=new y("MAT_BUTTON_CONFIG");function AD(e){return e==null?void 0:ah(e)}var np=(()=>{class e{_elementRef=f(z);_ngZone=f(P);_animationsDisabled=Fn();_config=f(PA,{optional:!0});_focusMonitor=f(Uc);_cleanupClick;_renderer=f(Be);_rippleLoader=f(TD);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=t,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(t){this.tabIndex=t}constructor(){f(lt).load(xD);let t=this._elementRef.nativeElement;this._isAnchor=t.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(t,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(t="program",r){t?this._focusMonitor.focusVia(this._elementRef.nativeElement,t,r):this._elementRef.nativeElement.focus(r)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",t=>{this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}))}static \u0275fac=function(r){return new(r||e)};static \u0275dir=O({type:e,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(r,o){r&2&&(rn("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled())("tabindex",o._getTabIndex()),zf(o.color?"mat-"+o.color:""),Ue("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("mat-unthemed",!o.color)("_mat-animation-noopable",o._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",de],disabled:[2,"disabled","disabled",de],ariaDisabled:[2,"aria-disabled","ariaDisabled",de],disabledInteractive:[2,"disabledInteractive","disabledInteractive",de],tabIndex:[2,"tabIndex","tabIndex",AD],_tabindex:[2,"tabindex","_tabindex",AD]}})}return e})(),LA=(()=>{class e extends np{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Se({type:e,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[X],attrs:kA,ngContentSelectors:FA,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(fo(),on(0,"span",0),Nn(1),on(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus-visible>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-bLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return e})();var VA=new y("cdk-dir-doc",{providedIn:"root",factory:()=>f(F)}),jA=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function ND(e){let n=e?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?jA.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var wo=(()=>{class e{get value(){return this.valueSignal()}valueSignal=Me("ltr");change=new H;constructor(){let t=f(VA,{optional:!0});if(t){let r=t.body?t.body.dir:null,o=t.documentElement?t.documentElement.dir:null;this.valueSignal.set(ND(r||o||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ln=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Z({type:e});static \u0275inj=G({})}return e})();var RD=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Z({type:e});static \u0275inj=G({imports:[ln]})}return e})();var BA=["matButton",""],HA=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],UA=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var OD=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),Iq=(()=>{class e extends np{get appearance(){return this._appearance}set appearance(t){this.setAppearance(t||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let t=$A(this._elementRef.nativeElement);t&&this.setAppearance(t)}setAppearance(t){if(t===this._appearance)return;let r=this._elementRef.nativeElement.classList,o=this._appearance?OD.get(this._appearance):null,i=OD.get(t);o&&r.remove(...o),r.add(...i),this._appearance=t}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Se({type:e,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[X],attrs:BA,ngContentSelectors:UA,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(fo(HA),on(0,"span",0),Nn(1),lo(2,"span",1),Nn(3,1),uo(),Nn(4,2),on(5,"span",2)(6,"span",3)),r&2&&Ue("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}@media(hover: none){.mat-mdc-button-base:hover>span.mat-mdc-button-persistent-ripple::before{opacity:0}}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return e})();function $A(e){return e.hasAttribute("mat-raised-button")?"elevated":e.hasAttribute("mat-stroked-button")?"outlined":e.hasAttribute("mat-flat-button")?"filled":e.hasAttribute("mat-button")?"text":null}var Mq=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Z({type:e});static \u0275inj=G({imports:[RD,ln]})}return e})();var rp={production:!0,electron:!1,githubio:!1,solarputty_download_url:"",current_version:"v3",compute_id:"local"};var Qi=class{};function zA(e){return e&&typeof e.connect=="function"&&!(e instanceof Oo)}var op=class extends Qi{_data;constructor(n){super(),this._data=n}connect(){return pn(this._data)?this._data:ke(this._data)}disconnect(){}},Ut=(function(e){return e[e.REPLACED=0]="REPLACED",e[e.INSERTED=1]="INSERTED",e[e.MOVED=2]="MOVED",e[e.REMOVED=3]="REMOVED",e})(Ut||{}),ip=class{viewCacheSize=20;_viewCache=[];applyChanges(n,t,r,o,i){n.forEachOperation((s,a,c)=>{let l,u;if(s.previousIndex==null){let d=()=>r(s,a,c);l=this._insertView(d,c,t,o(s)),u=l?Ut.INSERTED:Ut.REPLACED}else c==null?(this._detachAndCacheView(a,t),u=Ut.REMOVED):(l=this._moveView(a,c,t,o(s)),u=Ut.MOVED);i&&i({context:l?.context,operation:u,record:s})})}detach(){for(let n of this._viewCache)n.destroy();this._viewCache=[]}_insertView(n,t,r,o){let i=this._insertViewFromCache(t,r);if(i){i.context.$implicit=o;return}let s=n();return r.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(n,t){let r=t.detach(n);this._maybeCacheView(r,t)}_moveView(n,t,r,o){let i=r.get(n);return r.move(i,t),i.context.$implicit=o,i}_maybeCacheView(n,t){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(n);else{let r=t.indexOf(n);r===-1?n.destroy():t.remove(r)}}_insertViewFromCache(n,t){let r=this._viewCache.pop();return r&&t.insert(r,n),r||null}};var GA=20,Ji=(()=>{class e{_ngZone=f(P);_platform=f(ae);_renderer=f(be).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new R;_scrolledCount=0;scrollContainers=new Map;register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){let r=this.scrollContainers.get(t);r&&(r.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=GA){return this._platform.isBrowser?new k(r=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let o=t>0?this._scrolled.pipe(js(t)).subscribe(r):this._scrolled.subscribe(r);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):ke()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((t,r)=>this.deregister(r)),this._scrolled.complete()}ancestorScrolled(t,r){let o=this.getAncestorScrollContainers(t);return this.scrolled(r).pipe(Ee(i=>!i||o.indexOf(i)>-1))}getAncestorScrollContainers(t){let r=[];return this.scrollContainers.forEach((o,i)=>{this._scrollableContainsElement(i,t)&&r.push(i)}),r}_scrollableContainsElement(t,r){let o=ct(r),i=t.getElementRef().nativeElement;do if(o==i)return!0;while(o=o.parentElement);return!1}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),WA=(()=>{class e{elementRef=f(z);scrollDispatcher=f(Ji);ngZone=f(P);dir=f(wo,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new R;_renderer=f(Be);_cleanupScroll;_elementScrolled=new R;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",t=>this._elementScrolled.next(t))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(t){let r=this.elementRef.nativeElement,o=this.dir&&this.dir.value=="rtl";t.left==null&&(t.left=o?t.end:t.start),t.right==null&&(t.right=o?t.start:t.end),t.bottom!=null&&(t.top=r.scrollHeight-r.clientHeight-t.bottom),o&&Do()!=Tt.NORMAL?(t.left!=null&&(t.right=r.scrollWidth-r.clientWidth-t.left),Do()==Tt.INVERTED?t.left=t.right:Do()==Tt.NEGATED&&(t.left=t.right?-t.right:t.right)):t.right!=null&&(t.left=r.scrollWidth-r.clientWidth-t.right),this._applyScrollToOptions(t)}_applyScrollToOptions(t){let r=this.elementRef.nativeElement;Xc()?r.scrollTo(t):(t.top!=null&&(r.scrollTop=t.top),t.left!=null&&(r.scrollLeft=t.left))}measureScrollOffset(t){let r="left",o="right",i=this.elementRef.nativeElement;if(t=="top")return i.scrollTop;if(t=="bottom")return i.scrollHeight-i.clientHeight-i.scrollTop;let s=this.dir&&this.dir.value=="rtl";return t=="start"?t=s?o:r:t=="end"&&(t=s?r:o),s&&Do()==Tt.INVERTED?t==r?i.sc Line truncated
`],encapsulation:2,changeDetection:0})}return e})(),pp=(()=>{class e{_platform=f(ae);_containerElement;_document=f(F);_styleLoader=f(lt);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t="cdk-overlay-container";if(this._platform.isBrowser||Kh()){let o=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let i=0;i<o.length;i++)o[i].remove()}let r=this._document.createElement("div");r.classList.add(t),Kh()?r.setAttribute("platform","test"):this._platform.isBrowser||r.setAttribute("platform","server"),this._document.body.appendChild(r),this._containerElement=r}_loadStyles(){this._styleLoader.load(YD)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=g({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),dp=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(n,t,r,o){this._renderer=t,this._ngZone=r,this.element=n.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=t.listen(this.element,"click",o)}detach(){this._ngZone.runOutsideAngular(()=>{let n=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(n,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),n.style.pointerEvents="none",n.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function mp(e){return e&&e.nodeType===1}var il=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new R;_attachments=new R;_detachments=new R;_positionStrategy;_scrollStrategy;_locationChanges=B.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new R;_outsidePointerEvents=new R;_afterNextRenderRef;constructor(n,t,r,o,i,s,a,c,l,u=!1,d,p){this._portalOutlet=n,this._host=t,this._pane=r,this._config=o,this._ngZone=i,this._keyboardDispatcher=s,this._document=a,this._location=c,this._outsideClickDispatcher=l,this._animationsDisabled=u,this._injector=d,this._renderer=p,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}get eventPredicate(){return this._config?.eventPredicate||null}attach(n){if(this._disposed)return null;this._attachHost();let t=this._portalOutlet.attach(n);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=An(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof t?.onDestroy=="function"&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let n=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){if(this._disposed)return;let n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,n&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._ Line truncated
`],encapsulation:2,changeDetection:0})}return e})();export{E as a,V as b,BE as c,zN as d,GN as e,WN as f,B as g,GE as h,k as i,R as j,zn as k,Fo as l,Xp as m,Jp as n,Gn as o,tt as p,ke as q,kl as r,pn as s,Vo as t,iw as u,re as v,Fl as w,ht as x,jo as y,mn as z,mw as A,Pl as B,Ll as C,Wn as D,Ew as E,ww as F,Ee as G,js as H,Fe as I,Vl as J,jl as K,Cw as L,qn as M,pt as N,Bl as O,Iw as P,Bs as Q,Hs as R,Tw as S,xw as T,gm as U,$l as V,ym as W,Bo as X,Us as Y,$s as Z,$n as _,Gl as $,v as aa,Ot as ba,ve as ca,g as da,G as ea,Bw as fa,y as ga,I as ha,f as ia,Um as ja,ce as ka,Ur as la,tg as ma,ng as na,pg as oa,mg as pa,j as qa,F as ra,Pe as sa,ur as ta,H as ua,P as va,nt as wa,Qt as xa,Me as ya,li as za,Ke as Aa,Ve as Ba,ef as Ca,z as Da,Jt as Ea,mr as Fa,Ei as Ga,Oy as Ha,je as Ia,MI as Ja,qy as Ka,Yy as La,AI as Ma,NI as Na,RI as Oa,ev as Pa,nn as Qa,An as Ra,Ze as Sa,be as Ta,Be as Ua,w as Va,YM as Wa,He as Xa,Yv as Ya,Zv as Za,Se as _a,Z as $a,O as ab,xi as bb,kS as cb,X as db,eb,tb as fb,nb as gb,co as hb,gr as ib,WS as jb,ib as kb,Qe as lb,cb as mb,rn as nb,YS as ob,KS as pb,Vf as qb,XS as rb,QS as sb,JS as tb,eT as ub,tT as vb,lb as wb,za as xb,jf as yb,ub as zb,lo as Ab,uo as Bb,on as Cb,Bf as Db,Hf as Eb,fb as Fb,aT as Gb,hb as Hb,yr as Ib,mb as Jb,fT as Kb,fo as Lb,Nn as Mb,yb as Nb,Uf as Ob,vb as Pb,bb as Qb,_b as Rb,Db as Sb,mT as Tb,gT as Ub,$f as Vb,Ue as Wb,zf as Xb,LT as Yb,Ab as Zb,Gf as _b,Nb as $b,Rb as ac,Ob as bc,HT as cc,kb as dc,UT as ec,$T as fc,Te as gc,qT as hc,YT as ic,ZT as jc,KT as kc,XT as lc,JT as mc,t0 as nc,n0 as oc,r0 as pc,o0 as qc,i0 as rc,s0 as sc,$e as tc,vr as uc,l0 as vc,Ub as wc,h8 as xc,p8 as yc,m8 as zc,g8 as Ac,y8 as Bc,v8 as Cc,ho as Dc,mc as Ec,de as Fc,ah as Gc,_8 as Hc,D8 as Ic,k0 as Jc,po as Kc,c_ as Lc,bc as Mc,V0 as Nc,X0 as Oc,C_ as Pc,Q0 as Qc,J0 as Rc,ex as Sc,rx as Tc,ix as Uc,cx as Vc,gh as Wc,S_ as Xc,BG as Yc,Ih as Zc,Ex as _c,xx as $c,On as ad,cn as bd,mo as cd,_r as dd,go as ed,W_ as fd,jc as gd,Xx as hd,t3 as id,n3 as jd,Fh as kd,Lh as ld,nA as md,Re as nd,lt as od,Gi as pd,Wi as qd,Bc as rd,J_ as sd,ct as td,ae as ud,wo as vd,ln as wd,Qi as xd,zA as yd,op as zd,Ut as Ad,ip as Bd,Ji as Cd,WA as Dd,Co as Ed,Xq as Fd,sp as Gd,ap as Hd,Zi as Id,Dr as Jd,cp as Kd,Io as Ld,Jc as Md,o6 as Nd,i6 as Od,kD as Pd,qc as Qd,UD as Rd,hp as Sd,ns as Td,pp as Ud,il as Vd,gp as Wd,ZD as Xd,yp as Yd,vp as Zd,fp as _d,QA as $d,JA as ae,OE as be,us as ce,lE as de,$t as ee,JD as fe,Oe as ge,un as he,f9 as ie,h9 as je,Ir as ke,p9 as le,_N as me,To as ne,g9 as oe,CN as pe,y9 as qe,MN as re,TN as se,TE as te,xE as ue,RN as ve,kN as we,PN as xe,VN as ye,BN as ze,HN as Ae,v9 as Be,b9 as Ce,_9 as De,Uc as Ee,rA as Fe,Gc as Ge,iA as He,Wc as Ie,Bh as Je,o4 as Ke,uD as Le,lA as Me,_A as Ne,EA as Oe,wA as Pe,zh as Qe,Gh as Re,Wh as Se,e5 as Te,IA as Ue,MA as Ve,u5 as We,R5 as Xe,_5 as Ye,I5 as Ze,TA as _e,Fn as $e,Xi as af,Jh as bf,q5 as cf,TD as df,xD as ef,LA as ff,RD as gf,Iq as hf,Mq as if,rp as jf,UN as kf,T9 as lf,$N as mf,Op as nf,U9 as of};
@@ -0,0 +1 @@
import{b as V,d as A,e as z,l as $,m as R,p as L,q as G,r as W,s as Y,t as X,u as U,v as q,x as H}from"./chunk-KS2DZGNZ.js";import{Cc as O,Gb as _,Ib as f,Kb as s,Pa as l,Wb as v,Wc as F,Yb as a,Zb as x,_ as w,_a as M,a as b,bc as k,cc as T,dc as D,hf as B,ia as C,if as N,j as S,ma as p,na as u,ob as j,pb as m,rb as d,ub as E,vb as I,wb as h,xb as e,ya as g,yb as n,zb as P}from"./chunk-LG2N72QL.js";function J(o,c){if(o&1){let t=_();e(0,"div",3)(1,"mat-icon",6),a(2,"warning"),n(),e(3,"p",7),a(4,"Ready to inject a network fault?"),n(),e(5,"div",8)(6,"p",9),a(7,"Number of faults to inject"),n(),e(8,"mat-button-toggle-group",10),D("valueChange",function(i){p(t);let y=s();return T(y.faultType,i)||(y.faultType=i),u(i)}),e(9,"mat-button-toggle",11),a(10,"1"),n(),e(11,"mat-button-toggle",11),a(12,"2"),n(),e(13,"mat-button-toggle",11),a(14,"3"),n(),e(15,"mat-button-toggle",11),a(16,"Random"),n()()(),e(17,"p",12),a(18," This will inject a simulated network fault into your topology for troubleshooting practice. Make sure you have saved your current work. "),n(),e(19,"p",12),a(20," The fault injection process will analyze your topology, select an appropriate fault, and apply it automatically. You'll be able to see the details in AI Chat. "),n()()}if(o&2){let t=s();l(8),k("value",t.faultType),l(),h("value",1),l(2),h("value",2),l(2),h("value",3),l(2),h("value","random")}}function K(o,c){if(o&1&&(e(0,"p",17),a(1),n(),e(2,"p",18),a(3,"Agent is working"),n()),o&2){let t=s(2);l(),x(t.currentStep()||"Injecting fault...")}}function Q(o,c){if(o&1&&(e(0,"div",19)(1,"mat-icon",20),a(2),n(),e(3,"div",21)(4,"p",22),a(5),n(),e(6,"p",23),a(7,"Check the AI Chat panel for detailed execution history and tool results."),n()()()),o&2){let t=s(2);v("success",t.completionStatus()==="success")("error",t.completionStatus()==="error")("aborted",t.completionStatus()==="aborted"),l(2),x(t.completionStatus()==="success"?"check_circle":t.completionStatus()==="aborted"?"cancel":"error"),l(3),x(t.completionTitle())}}function Z(o,c){if(o&1&&(e(0,"div",26)(1,"mat-icon"),a(2),n(),e(3,"div",27)(4,"p",28),a(5),n()()()),o&2){let t=c.$implicit,r=s(3);v("success",t.type==="success")("error",t.type==="error"),l(2),x(r.getEventIcon(t.type)),l(3),x(t.message)}}function tt(o,c){if(o&1&&(e(0,"div",16)(1,"h3"),a(2,"Progress"),n(),e(3,"div",24),E(4,Z,6,6,"div",25,j().trackByEventId,!0),n()()),o&2){let t=s(2);l(4),I(t.displayedEvents())}}function et(o,c){if(o&1&&(e(0,"div",13),P(1,"img",14),n(),m(2,K,4,1),m(3,Q,8,8,"div",15),m(4,tt,6,0,"div",16)),o&2){let t=s();v("injecting",t.isInjecting()),l(2),d(t.isInjecting()?2:-1),l(),d(t.completed()&&!t.isInjecting()?3:-1),l(),d(t.isInjecting()&&t.displayedEvents().length>0?4:-1)}}function nt(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancelConfirm())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onConfirmInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Confirm & Inject"),n()()}}function it(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onAbort())}),a(1,"Abort"),n()}}function ot(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancel())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Inject Fault"),n()()}}function at(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onViewDetails())}),e(1,"mat-icon"),a(2,"chat"),n(),e(3,"span"),a(4,"View in AI Chat"),n()(),e(5,"button",31),f("click",function(){p(t);let i=s();return u(i.onClose())}),e(6,"mat-icon"),a(7,"check"),n(),e(8,"span"),a(9,"Done"),n()()}}var bt=(()=>{class o{dialogRef=C($);data=C(R);aiChatService=C(H);controller=this.data.controller;project=this.data.project;isInjecting=g(!1);completed=g(!1);showConfirm=g(!1);faultType=O(1);faceState=g("idle");completionStatus=g("success");completionTitle=g("");currentStep=g("");eventsBuffer=[];displayedEvents=g([]);firstToolCallProcessed=!1;destroy$=new S;static MAX_DISPLAYED_EVENTS=3;ngOnInit(){this.faceState.set("idle")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}onInject(){this.showConfirm.set(!0)}onCancelConfirm(){this.showConfirm.set(!1)}onConfirmInject(){if(this.isInjecting())return;this.showConfirm.set(!1),this.isInjecting.set(!0),this.completed.set(!1),this.faceState.set("injecting"),this.eventsBuffer=[],this.displayedEvents.set([]),this.firstToolCallProcessed=!1;let r=`Inject ${this.faultType()==="random"?"random":String(this.faultType())} network fault(s) for troubleshooting practice`;this.aiChatService.injectFault(this.controller,this.project.project_id,r).pipe(w(this.destroy$)).subscribe({next:i=>{this.handleFaultEvent(i)},error:i=>{this.handleError(i)},complete:()=>{}})}handleFaultEvent(t){if(console.log("Fault injection event:",t),!(t.type==="heartbeat"||t.type==="content"))switch(t.tyLine truncated
@@ -1,24 +0,0 @@
var X0=Object.create;var Ca=Object.defineProperty,J0=Object.defineProperties,eE=Object.getOwnPropertyDescriptor,tE=Object.getOwnPropertyDescriptors,nE=Object.getOwnPropertyNames,Da=Object.getOwnPropertySymbols,iE=Object.getPrototypeOf,Xd=Object.prototype.hasOwnProperty,Cg=Object.prototype.propertyIsEnumerable;var Dg=(t,n,e)=>n in t?Ca(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,E=(t,n)=>{for(var e in n||={})Xd.call(n,e)&&Dg(t,e,n[e]);if(Da)for(var e of Da(n))Cg.call(n,e)&&Dg(t,e,n[e]);return t},ne=(t,n)=>J0(t,tE(n));var rE=(t,n)=>{var e={};for(var i in t)Xd.call(t,i)&&n.indexOf(i)<0&&(e[i]=t[i]);if(t!=null&&Da)for(var i of Da(t))n.indexOf(i)<0&&Cg.call(t,i)&&(e[i]=t[i]);return e};var TF=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),MF=(t,n)=>{for(var e in n)Ca(t,e,{get:n[e],enumerable:!0})},oE=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of nE(n))!Xd.call(t,r)&&r!==e&&Ca(t,r,{get:()=>n[r],enumerable:!(i=eE(n,r))||i.enumerable});return t};var SF=(t,n,e)=>(e=t!=null?X0(iE(t)):{},oE(n||!t||!t.__esModule?Ca(e,"default",{value:t,enumerable:!0}):e,t));var nt=null,wa=!1,Jd=1,sE=null,Ae=Symbol("SIGNAL");function F(t){let n=nt;return nt=t,n}function Ea(){return nt}var ii={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Rn(t){if(wa)throw new Error("");if(nt===null)return;nt.consumerOnSignalRead(t);let n=nt.producersTail;if(n!==void 0&&n.producer===t)return;let e,i=nt.recomputing;if(i&&(e=n!==void 0?n.nextProducer:nt.producers,e!==void 0&&e.producer===t)){nt.producersTail=e,e.lastReadVersion=t.version;return}let r=t.consumersTail;if(r!==void 0&&r.consumer===nt&&(!i||lE(r,nt)))return;let o=Ir(nt),s={producer:t,consumer:nt,nextProducer:e,prevConsumer:r,lastReadVersion:t.version,nextConsumer:void 0};nt.producersTail=s,n!==void 0?n.nextProducer=s:nt.producers=s,o&&Ig(t,s)}function wg(){Jd++}function Fi(t){if(!(Ir(t)&&!t.dirty)&&!(!t.dirty&&t.lastCleanEpoch===Jd)){if(!t.producerMustRecompute(t)&&!xr(t)){Er(t);return}t.producerRecomputeValue(t),Er(t)}}function eu(t){if(t.consumers===void 0)return;let n=wa;wa=!0;try{for(let e=t.consumers;e!==void 0;e=e.nextConsumer){let i=e.consumer;i.dirty||aE(i)}}finally{wa=n}}function tu(){return nt?.consumerAllowSignalWrites!==!1}function aE(t){t.dirty=!0,eu(t),t.consumerMarkedDirty?.(t)}function Er(t){t.dirty=!1,t.lastCleanEpoch=Jd}function On(t){return t&&Eg(t),F(t)}function Eg(t){t.producersTail=void 0,t.recomputing=!0}function ri(t,n){F(n),t&&xg(t)}function xg(t){t.recomputing=!1;let n=t.producersTail,e=n!==void 0?n.nextProducer:t.producers;if(e!==void 0){if(Ir(t))do e=nu(e);while(e!==void 0);n!==void 0?n.nextProducer=void 0:t.producers=void 0}}function xr(t){for(let n=t.producers;n!==void 0;n=n.nextProducer){let e=n.producer,i=n.lastReadVersion;if(i!==e.version||(Fi(e),i!==e.version))return!0}return!1}function oi(t){if(Ir(t)){let n=t.producers;for(;n!==void 0;)n=nu(n)}t.producers=void 0,t.producersTail=void 0,t.consumers=void 0,t.consumersTail=void 0}function Ig(t,n){let e=t.consumersTail,i=Ir(t);if(e!==void 0?(n.nextConsumer=e.nextConsumer,e.nextConsumer=n):(n.nextConsumer=void 0,t.consumers=n),n.prevConsumer=e,t.consumersTail=n,!i)for(let r=t.producers;r!==void 0;r=r.nextProducer)Ig(r.producer,r)}function nu(t){let n=t.producer,e=t.nextProducer,i=t.nextConsumer,r=t.prevConsumer;if(t.nextConsumer=void 0,t.prevConsumer=void 0,i!==void 0?i.prevConsumer=r:n.consumersTail=r,r!==void 0)r.nextConsumer=i;else if(n.consumers=i,!Ir(n)){let o=n.producers;for(;o!==void 0;)o=nu(o)}return e}function Ir(t){return t.consumerIsAlwaysLive||t.consumers!==void 0}function Po(t){sE?.(t)}function lE(t,n){let e=n.producersTail;if(e!==void 0){let i=n.producers;do{if(i===t)return!0;if(i===e)break;i=i.nextProducer}while(i!==void 0)}return!1}function Lo(t,n){return Object.is(t,n)}function Vo(t,n){let e=Object.create(cE);e.computation=t,n!==void 0&&(e.equal=n);let i=()=>{if(Fi(e),Rn(e),e.value===mn)throw e.error;return e.value};return i[Ae]=e,Po(e),i}var Oi=Symbol("UNSET"),Ni=Symbol("COMPUTING"),mn=Symbol("ERRORED"),cE=ne(E({},ii),{value:Oi,dirty:!0,error:null,equal:Lo,kind:"computed",producerMustRecompute(t){return t.value===Oi||t.value===Ni},producerRecomputeValue(t){if(t.value===Ni)throw new Error("");let n=t.value;t.value=Ni;let e=On(t),i,r=!1;try{i=t.computation(),F(null),r=n!==Oi&&n!==mn&&i!==mn&&t.equal(n,i)}catch(o){i=mn,t.error=o}finally{ri(t,e)}if(r){t.value=n;return}t.value=i,t.version++}});function dE(){throw new Error}var Tg=dE;function Mg(t){Tg(t)}function iu(t){Tg=t}var uE=null;function ru(t,n){let e=Object.create(jo);e.value=t,n!==void 0&&(e.equal=n);let i=()=>Sg(e);return i[Ae]=e,Po(e),[i,s=>si(e,s),s=>xa(e,s)]}function Sg(t){return Rn(t),t.value}function si(t,n){tu()||Mg(Line truncated
${e.map((i,r)=>`${r+1}) ${i.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=e});function Pi(t,n){if(t){let e=t.indexOf(n);0<=e&&t.splice(e,1)}}var Z=class t{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let o of e)o.remove(this);else e.remove(this);let{initialTeardown:i}=this;if(j(i))try{i()}catch(o){n=o instanceof Ia?o.errors:[o]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let o of r)try{kg(o)}catch(s){n=n??[],s instanceof Ia?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Ia(n)}}add(n){var e;if(n&&n!==this)if(this.closed)kg(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(n)}}_hasParent(n){let{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){let{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Pi(e,n)}remove(n){let{_finalizers:e}=this;e&&Pi(e,n),n instanceof t&&n._removeParent(this)}};Z.EMPTY=(()=>{let t=new Z;return t.closed=!0,t})();var au=Z.EMPTY;function Ta(t){return t instanceof Z||t&&"closed"in t&&j(t.remove)&&j(t.add)&&j(t.unsubscribe)}function kg(t){j(t)?t():t.unsubscribe()}var Wt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Mr={setTimeout(t,n,...e){let{delegate:i}=Mr;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){let{delegate:n}=Mr;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Ma(t){Mr.setTimeout(()=>{let{onUnhandledError:n}=Wt;if(n)n(t);else throw t})}function Li(){}var Ag=lu("C",void 0,void 0);function Rg(t){return lu("E",void 0,t)}function Og(t){return lu("N",t,void 0)}function lu(t,n,e){return{kind:t,value:n,error:e}}var Vi=null;function Sr(t){if(Wt.useDeprecatedSynchronousErrorHandling){let n=!Vi;if(n&&(Vi={errorThrown:!1,error:null}),t(),n){let{errorThrown:e,error:i}=Vi;if(Vi=null,e)throw i}}else t()}function Ng(t){Wt.useDeprecatedSynchronousErrorHandling&&Vi&&(Vi.errorThrown=!0,Vi.error=t)}var ji=class extends Z{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Ta(n)&&n.add(this)):this.destination=pE}static create(n,e,i){return new Nn(n,e,i)}next(n){this.isStopped?du(Og(n),this):this._next(n)}error(n){this.isStopped?du(Rg(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?du(Ag,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},hE=Function.prototype.bind;function cu(t,n){return hE.call(t,n)}var uu=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Sa(i)}}error(n){let{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Sa(i)}else Sa(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Sa(e)}}},Nn=class extends ji{constructor(n,e,i){super();let r;if(j(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&Wt.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&cu(n.next,o),error:n.error&&cu(n.error,o),complete:n.complete&&cu(n.complete,o)}):r=n}this.destination=new uu(r)}};function Sa(t){Wt.useDeprecatedSynchronousErrorHandling?Ng(t):Ma(t)}function mE(t){throw t}function du(t,n){let{onStoppedNotification:e}=Wt;e&&Mr.setTimeout(()=>e(t,n))}var pE={closed:!0,next:Li,error:mE,complete:Li};var kr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Et(t){return t}function gE(...t){return fu(t)}function fu(t){return t.length===0?Et:t.length===1?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}var B=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){let o=vE(e)?e:new Nn(e,i,r);return Sr(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return i=Fg(i),new i((r,o)=>{let s=new Nn({next:a=>{try{e(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return(i=this.source)===null||i===void 0?void 0:i.subscribe(e)}[kr](){return this}pipe(...e){return fu(e)(this)}toPromise(e){return e=Fg(e),new e((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function Fg(t){var n;return(n=t??Wt.Promise)!==null&&n!==void 0?n:Promise}function _E(t){return t&&j(t.next)&&j(t.error)&&j(t.complete)}function vE(t){return t&&tLine truncated
`);return i>=0?e.slice(0,i):e}function dl(t,n){return t?n?`${t} ${n}`:t:n||""}var XE=fe({__forward_ref__:fe});function Ge(t){return t.__forward_ref__=Ge,t}function ze(t){return Wu(t)?t():t}function Wu(t){return typeof t=="function"&&t.hasOwnProperty(XE)&&t.__forward_ref__===Ge}function g(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function q(t){return{providers:t.providers||[],imports:t.imports||[]}}function es(t){return ex(t,ul)}function JE(t){return es(t)!==null}function ex(t,n){return t.hasOwnProperty(n)&&t[n]||null}function tx(t){let n=t?.[ul]??null;return n||null}function Nu(t){return t&&t.hasOwnProperty(rl)?t[rl]:null}var ul=fe({\u0275prov:fe}),rl=fe({\u0275inj:fe}),_=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,e){this._desc=n,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=g({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Gu(t){return t&&!!t.\u0275providers}var qu=fe({\u0275cmp:fe}),Yu=fe({\u0275dir:fe}),Zu=fe({\u0275pipe:fe}),Qu=fe({\u0275mod:fe}),Yo=fe({\u0275fac:fe}),Gi=fe({__NG_ELEMENT_ID__:fe}),p_=fe({__NG_ENV_ID__:fe});function Ku(t){return hl(t,"@NgModule"),t[Qu]||null}function yn(t){return hl(t,"@Component"),t[qu]||null}function fl(t){return hl(t,"@Directive"),t[Yu]||null}function b_(t){return hl(t,"@Pipe"),t[Zu]||null}function hl(t,n){if(t==null)throw new y(-919,!1)}function bn(t){return typeof t=="string"?t:t==null?"":String(t)}var D_=fe({ngErrorCode:fe}),nx=fe({ngErrorMessage:fe}),ix=fe({ngTokenPath:fe});function Xu(t,n){return C_("",-200,n)}function ml(t,n){throw new y(-201,!1)}function C_(t,n,e){let i=new y(n,t);return i[D_]=n,i[nx]=t,e&&(i[ix]=e),i}function rx(t){return t[D_]}var Fu;function w_(){return Fu}function at(t){let n=Fu;return Fu=t,n}function Ju(t,n,e){let i=es(t);if(i&&i.providedIn=="root")return i.value===void 0?i.value=i.factory():i.value;if(e&8)return null;if(n!==void 0)return n;ml(t,"")}var ox={},Ui=ox,sx="__NG_DI_FLAG__",Pu=class{injector;constructor(n){this.injector=n}retrieve(n,e){let i=$i(e)||0;try{return this.injector.get(n,i&8?null:Ui,i)}catch(r){if(Fr(r))return r;throw r}}};function ax(t,n=0){let e=nl();if(e===void 0)throw new y(-203,!1);if(e===null)return Ju(t,void 0,n);{let i=lx(n),r=e.retrieve(t,i);if(Fr(r)){if(i.optional)return null;throw r}return r}}function x(t,n=0){return(w_()||ax)(ze(t),n)}function u(t,n){return x(t,$i(n))}function $i(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function lx(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function Lu(t){let n=[];for(let e=0;e<t.length;e++){let i=ze(t[e]);if(Array.isArray(i)){if(i.length===0)throw new y(900,!1);let r,o=0;for(let s=0;s<i.length;s++){let a=i[s],l=cx(a);typeof l=="number"?l===-1?r=a.token:o|=l:r=a}n.push(x(r,o))}else n.push(x(i))}return n}function cx(t){return t[sx]}function ui(t,n){let e=t.hasOwnProperty(Yo);return e?t[Yo]:null}function E_(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i<t.length;i++){let r=t[i],o=n[i];if(e&&(r=e(r),o=e(o)),o!==r)return!1}return!0}function x_(t){return t.flat(Number.POSITIVE_INFINITY)}function pl(t,n){t.forEach(e=>Array.isArray(e)?pl(e,n):n(e))}function ef(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function ts(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function I_(t,n){let e=[];for(let i=0;i<t;i++)e.push(n);return e}function T_(t,n,e,i){let r=t.length;if(r==n)t.push(e,i);else if(r===1)t.push(i,t[0]),t[0]=e;else{for(r--,t.push(t[r-1],t[r]);r>n;){let o=r-2;t[r]=t[o],r--}t[n]=e,t[n+1]=i}}function gl(t,n,e){let i=Lr(t,n);return i>=0?t[i|1]=e:(i=~i,T_(t,i,n,e)),i}function _l(t,n){let e=Lr(t,n);if(e>=0)return t[e|1]}function Lr(t,n){return dx(t,n,1)}function dx(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){let o=i+(r-i>>1),s=t[o<<e];if(n===s)return o<<e;s>n?r=o:i=o+1}return~(r<<e)}var qt={},ot=[],Vr=new _(""),tf=new _("",-1),nf=new _(""),Zo=class{get(n,e=Ui){if(e===Ui){let r=C_("",-201);throw r.name="\u0275NotFound",r}return e}};function qi(t){return{\u0275providers:t}}function M_(...t){return{\u0275providers:rf(!0,t),\u0275fromNgModule:!0}}function rf(t,...n){let e=[],i=new Set,r,o=s=>{e.push(s)};return pl(n,s=>{let a=s;ol(a,o,[],i)&&(r||=[],r.push(a))}),r!==void 0&&S_(r,o),e}function S_(t,n){for(let e=0;e<t.length;e++){let{ngModule:i,providers:r}=t[e];of(r,o=>{n(o,i)})}}function ol(t,n,e,i){if(t=ze(t),!t)return!1;let r=null,o=Nu(t),s=!o&&yn(t);if(!o&&!s){let l=t.ngModule;if(o=Nu(l),o)r=l;else return!1}else{if(s&&!s.standalone)return!1;r=t}let a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of l)ol(c,n,e,i)}}else if(o){if(o.imports!=null&&!a){i.add(r);let c;pl(o.imports,d=>{ol(d,n,e,i)&&(c||=[],c.push(d))}),c!==void 0&&S_(c,n)}if(!a){let c=ui(r)||(()=>new r);n({provide:r,us Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Kc;function oA(){if(Kc===void 0&&(Kc=null,typeof window<"u")){let t=window;t.trustedTypes!==void 0&&(Kc=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return Kc}function sA(t){return oA()?.createHTML(t)||t}function nC(t,n,e){let i=e.sanitize(_t.HTML,n);t.innerHTML=sA(i||"")}function fr(t){return Array.isArray(t)?t:[t]}var iC=new Set,hr,mo=(()=>{class t{_platform=u(ue);_nonce=u(io,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):lA}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&aA(e,this._nonce),this._matchMedia(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function aA(t,n){if(!iC.has(t))try{hr||(hr=document.createElement("style"),n&&hr.setAttribute("nonce",n),hr.setAttribute("type","text/css"),document.head.appendChild(hr)),hr.sheet&&(hr.sheet.insertRule(`@media ${t} {body{ }}`,0),iC.add(t))}catch(e){console.error(e)}}function lA(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var tp=(()=>{class t{_mediaMatcher=u(mo);_zone=u(k);_queries=new Map;_destroySubject=new D;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return rC(fr(e)).some(r=>this._registerQuery(r).mql.matches)}observe(e){let r=rC(fr(e)).map(s=>this._registerQuery(s).observable),o=yu(r);return o=di(o.pipe(Tt(1)),o.pipe(Hi(1),Vn(0))),o.pipe(pe(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let i=this._mediaMatcher.matchMedia(e),o={observable:new B(s=>{let a=l=>this._zone.run(()=>s.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(rt(i),pe(({matches:s})=>({query:e,matches:s})),ae(this._destroySubject)),mql:i};return this._queries.set(e,o),o}static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function rC(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}var qs=class{_doc;constructor(n){this._doc=n}manager},Xc=(()=>{class t extends qs{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r,o){return e.addEventListener(i,r,o),()=>this.removeEventListener(e,i,r,o)}removeEventListener(e,i,r,o){return e.removeEventListener(i,r,o)}static \u0275fac=function(i){return new(i||t)(x(U))};static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})(),td=new _(""),op=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,i){this._zone=i,e.forEach(s=>{s.manager=this});let r=e.filter(s=>!(s instanceof Xc));this._plugins=r.slice().reverse();let o=e.find(s=>s instanceof Xc);o&&this._plugins.push(o)}addEventListener(e,i,r,o){return this._findPluginFor(i).addEventListener(e,i,r,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new y(5101,!1);return this._eventNameToPlugin.set(e,i),i}static \u0275fac=function(i){return new(i||t)(x(td),x(k))};static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})(),np="ng-app-id";function oC(t){for(let n of t)n.remove()}function sC(t,n){let e=n.createElement("style");return e.textContent=t,e}function cA(t,n,e,i){let r=t.head?.querySelectorAll(`style[${np}="${n}"],link[${np}="${n}"]`);if(r)for(let o of r)o.removeAttribute(np),o instanceof HTMLLinkElement?i.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function rp(t,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var sp=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,cA(e,i,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,i){for(let r of e)this.addUsage(r,this.inline,sC);i?.forEach(r=>this.addUsage(r,this.external,rp))}removeStyles(e,i){for(let r of e)this.removeUsage(r,this.inline);i?.forEach(r=>this.removeUsage(r,this.external))}addUsage(e,i,r){let o=i.get(e);o?o.usage++:i.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,r(e,this.doc)))})}removeUsage(e,i){let r=i.get(e);r&&(r.usage--,r.usage<=0&&(oC(r.elements),i.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])oC(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[i,{elements:r}]of this.inline)r.push(this.addElement(e,sC(i,this.doc)));for(let[i,{elements:r}]of this.external)r.push(this.addElement(e,rp(i,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,i){return this.nonce&&i.setAttribute("nonce",this.nonce),e.appendChild(i)}static \u0275fac=function(i){return new(i||t)(x(U),x(bi),x(io, Line truncated
`).forEach(e=>{let i=e.indexOf(":");if(i>0){let r=e.slice(0,i),o=e.slice(i+1).trim();this.addHeaderEntry(r,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.addHeaderEntry(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if(typeof i=="string"&&(i=[i]),i.length===0)return;this.maybeSetNormalizedName(n.name,e);let r=(n.op==="a"?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":let o=n.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(n,e){let i=n.toLowerCase();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(e):this.headers.set(i,[e])}setHeaderEntries(n,e){let i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var od=class{map=new Map;set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}},sd=class{encodeKey(n){return hC(n)}encodeValue(n){return hC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function SA(t,n){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}var kA=/%(\d[a-f0-9])/gi,AA={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function hC(t){return encodeURIComponent(t).replace(kA,(n,e)=>AA[e]??n)}function rd(t){return`${t}`}var ni=class t{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new sd,n.fromString){if(n.fromObject)throw new y(2805,!1);this.map=SA(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let i=n.fromObject[e],r=Array.isArray(i)?i.map(rd):[rd(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){let e=[];return Object.keys(n).forEach(i=>{let r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(rd(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let i=this.map.get(n.param)||[],r=i.indexOf(rd(n.value));r!==-1&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};function RA(t){switch(t){cas Line truncated
`],encapsulation:2,changeDetection:0})}return t})();function je(t){return t==null?"":typeof t=="string"?t:`${t}px`}function Ct(t){return t!=null&&`${t}`!="false"}var Ft=(function(t){return t[t.FADING_IN=0]="FADING_IN",t[t.VISIBLE=1]="VISIBLE",t[t.FADING_OUT=2]="FADING_OUT",t[t.HIDDEN=3]="HIDDEN",t})(Ft||{}),vd=class{_renderer;element;config;_animationForciblyDisabledThroughCss;state=Ft.HIDDEN;constructor(n,e,i,r=!1){this._renderer=n,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=r}fadeOut(){this._renderer.fadeOutRipple(this)}},ZC=uo({passive:!0,capture:!0}),jp=class{_events=new Map;addHandler(n,e,i,r){let o=this._events.get(e);if(o){let s=o.get(i);s?s.add(r):o.set(i,new Set([r]))}else this._events.set(e,new Map([[i,new Set([r])]])),n.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,ZC)})}removeHandler(n,e,i){let r=this._events.get(n);if(!r)return;let o=r.get(e);o&&(o.delete(i),o.size===0&&r.delete(e),r.size===0&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,ZC)))}_delegateEventHandler=n=>{let e=et(n);e&&this._events.get(n.type)?.forEach((i,r)=>{(r===e||r.contains(e))&&i.forEach(o=>o.handleEvent(n))})}},wo={enterDuration:225,exitDuration:150},wR=800,QC=uo({passive:!0,capture:!0}),KC=["mousedown","touchstart"],XC=["mouseup","mouseleave","touchend","touchcancel"],ER=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["ng-component"]],hostAttrs:["mat-ripple-style-loader",""],decls:0,vars:0,template:function(i,r){},styles:[`.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}
`],encapsulation:2,changeDetection:0})}return t})(),Ti=class t{_target;_ngZone;_platform;_containerElement;_triggerElement=null;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple=null;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect=null;static _eventManager=new jp;constructor(n,e,i,r,o){this._target=n,this._ngZone=e,this._platform=r,r.isBrowser&&(this._containerElement=zt(i)),o&&o.get(tt).load(ER)}fadeInRipple(n,e,i={}){let r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=E(E({},wo),i.animation);i.centered&&(n=r.left+r.width/2,e=r.top+r.height/2);let s=i.radius||xR(n,e,r),a=n-r.left,l=e-r.top,c=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=`${a-s}px`,d.style.top=`${l-s}px`,d.style.height=`${s*2}px`,d.style.width=`${s*2}px`,i.color!=null&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d);let f=window.getComputedStyle(d),m=f.transitionProperty,h=f.transitionDuration,p=m==="none"||h==="0s"||h==="0s, 0s"||r.width===0&&r.height===0,C=new vd(this,d,i,p);d.style.transform="scale3d(1, 1, 1)",C.state=Ft.FADING_IN,i.persistent||(this._mostRecentTransientRipple=C);let w=null;return!p&&(c||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let N=()=>{w&&(w.fallbackTimer=null),clearTimeout(wt),this._finishRippleTransition(C)},xe=()=>this._destroyRipple(C),wt=setTimeout(xe,c+100);d.addEventListener("transitionend",N),d.addEventListener("transitioncancel",xe),w={onTransitionEnd:N,onTransitionCancel:xe,fallbackTimer:wt}}),this._activeRipples.set(C,w),(p||!c)&&this._finishRippleTransition(C),C}fadeOutRipple(n){if(n.state===Ft.FADING_OUT||n.state===Ft.HIDDEN)return;let e=n.element,i=E(E({},wo),n.config.animation);e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",n.state=Ft.FADING_OUT,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){let e=zt(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,KC.forEach(i=>{t._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(n){n.type==="mousedown"?this._onMousedown(n):n.type==="touchstart"?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{XC.forEach(e=>{this._triggerElement.addEventListener(e,this,QC)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===Ft.FADING_IN?this._startFadeOutTransition(n):n.state===Ft.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){let e=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=Ft.VISIBLE,!i&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){let e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=Ft.HIDDEN,e!==null&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),n.element.remove()}_onMousedown(n){let e=$s(n),i=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+wR;!this._target.rippleDisabled&&!e&&!i&&(this._isPointerDown=!0,this.fadeInRipple(n.clientX,n.clientY,this._target.rippleConfig))}_onTouchStart(n){if(!this._target.rippleDisabled&&!zs(n)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let e=n.changedTouches;if(e)for(let i=0;i<e.length;i++)this.fadeInRipple(e[i].clientX,e[i].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(n=>{let e=n.state===Ft.VISIBLE||n.config.terminateOnPointerUp&&n.state===Ft.FADING_IN;!n.config.persistent&&e&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let n=this._triggerElement;n&&(KC.forEach(e=>t._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&(XC.forEach(e=>n.removeEventListener(e,this,QC)),this._pointerUpEventsRegistered=!1))}};function xR(t,n,e){let i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),r=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+r*r)}var Mi=new _("mat-ripple-global-options"),Si=(()=>{class t{_elementRef=u(P);_animationsDisabled=$e();color;unbounded=!1;centered=!1;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRender Line truncated
`],encapsulation:2})}return t})(),fw=new _("MAT_TABS_CONFIG"),tw=(()=>{class t extends Vp{_host=u(Hp);_ngZone=u(k);_centeringSub=Z.EMPTY;_leavingSub=Z.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(rt(this._host._isCenterPosition())).subscribe(e=>{this._host._content&&e&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matTabBodyHost",""]],features:[ie]})}return t})(),Hp=(()=>{class t{_elementRef=u(P);_dir=u(ut,{optional:!0});_ngZone=u(k);_injector=u(Q);_renderer=u(Oe);_diAnimationsDisabled=$e();_eventCleanups;_initialized=!1;_fallbackTimer;_positionIndex;_dirChangeSubscription=Z.EMPTY;_position;_previousPosition;_onCentering=new M;_beforeCentering=new M;_afterLeavingCenter=new M;_onCentered=new M(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(e){this._positionIndex=e,this._computePositionAnimationState()}constructor(){if(this._dir){let e=u(Ve);this._dirChangeSubscription=this._dir.change.subscribe(i=>{this._computePositionAnimationState(i),e.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),dt(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(e=>e()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let e=this._elementRef.nativeElement,i=r=>{r.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),r.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(e,"transitionstart",r=>{r.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(e,"transitionend",i),this._renderer.listen(e,"transitioncancel",i)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let e=this._position==="center";this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(e){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",e)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(e=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=e=="ltr"?"left":"right":this._positionIndex>0?this._position=e=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),dt(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-tab-body"]],viewQuery:function(i,r){if(i&1&&He(tw,5)(TR,5),i&2){let o;A(o=R())&&(r._portalHost=o.first),A(o=R())&&(r._contentElement=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(i,r){i&2&&se("inert",r._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(i,r){i&1&&(v(0,"div",1,0),Ut(2,MR,0,0,"ng-template",2),I()),i&2&&W("mat-tab-body-content-left",r._position==="left")("mat-tab-body-content-right",r._position==="right")("mat-tab-body-content-can-animate",r._position==="center"||r._previousPosition==="center")},dependencies:[tw,Fp],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-heightLine truncated
`],encapsulation:2})}return t})(),hw=(()=>{class t{_elementRef=u(P);_changeDetectorRef=u(Ve);_ngZone=u(k);_tabsSubscription=Z.EMPTY;_tabLabelSubscription=Z.EMPTY;_tabBodySubscription=Z.EMPTY;_diAnimationsDisabled=$e();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new nn;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(e){this._fitInkBarToContent=e,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=isNaN(e)?null:e}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(e){let i=e+"";this._animationDuration=/^\d+$/.test(i)?e+"ms":i}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=isNaN(e)?null:e}_contentTabIndex=null;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(e){let i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),e&&i.add("mat-tabs-with-background",`mat-background-${e}`),this._backgroundColor=e}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new M;focusChange=new M;animationDone=new M;selectedTabChange=new M(!0);_groupId;_isServer=!u(ue).isBrowser;constructor(){let e=u(fw,{optional:!0});this._groupId=u(Xe).getId("mat-tab-group-"),this.animationDuration=e&&e.animationDuration?e.animationDuration:"500ms",this.disablePagination=e&&e.disablePagination!=null?e.disablePagination:!1,this.dynamicHeight=e&&e.dynamicHeight!=null?e.dynamicHeight:!1,e?.contentTabIndex!=null&&(this.contentTabIndex=e.contentTabIndex),this.preserveContent=!!e?.preserveContent,this.fitInkBarToContent=e&&e.fitInkBarToContent!=null?e.fitInkBarToContent:!1,this.stretchTabs=e&&e.stretchTabs!=null?e.stretchTabs:!0,this.alignTabs=e&&e.alignTabs!=null?e.alignTabs:null}ngAfterContentChecked(){let e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){let i=this._selectedIndex==null;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));let r=this._tabBodyWrapper.nativeElement;r.style.minHeight=r.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((r,o)=>r.isActive=o===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,r)=>{i.position=r-e,this._selectedIndex!=null&&i.position==0&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){let i=this._tabs.toArray(),r;for(let o=0;o<i.length;o++)if(i[o].isActive){this._indexToSelect=this._selectedIndex=o,this._lastFocusedTabIndex=null,r=i[o];break}!r&&i[e]&&Promise.resolve().then(()=>{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(rt(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){let i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){let i=new Up;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=It(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e,i){return e.id||`${this._groupId}-label-${i}`}_getTabContentId(e){return`${this._groupId}-content-${e}`}_setTabBodyWrapperHeight(e){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=e;return}let i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){let e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHei Line truncated
`],encapsulation:2})}return t})(),Up=class{index;tab},GR=(()=>{class t extends uw{_focusedItem=_e(null);get fitInkBarToContent(){return this._fitInkBarToContent.value}set fitInkBarToContent(e){this._fitInkBarToContent.next(e),this._changeDetectorRef.markForCheck()}_fitInkBarToContent=new xt(!1);stretchTabs=!0;get animationDuration(){return this._animationDuration}set animationDuration(e){let i=e+"";this._animationDuration=/^\d+$/.test(i)?e+"ms":i}_animationDuration;_items;get backgroundColor(){return this._backgroundColor}set backgroundColor(e){let i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),e&&i.add("mat-tabs-with-background",`mat-background-${e}`),this._backgroundColor=e}_backgroundColor;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e)}_disableRipple=_e(!1);color="primary";tabPanel;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;constructor(){let e=u(fw,{optional:!0});super(),this.disablePagination=e&&e.disablePagination!=null?e.disablePagination:!1,this.fitInkBarToContent=e&&e.fitInkBarToContent!=null?e.fitInkBarToContent:!1,this.stretchTabs=e&&e.stretchTabs!=null?e.stretchTabs:!0}_itemSelected(){}ngAfterContentInit(){this._inkBar=new yd(this._items),this._items.changes.pipe(rt(null),ae(this._destroyed)).subscribe(()=>this.updateActiveLink()),super.ngAfterContentInit(),this._keyManager.change.pipe(rt(null),ae(this._destroyed)).subscribe(()=>this._focusedItem.set(this._keyManager?.activeItem||null))}ngAfterViewInit(){this.tabPanel,super.ngAfterViewInit()}updateActiveLink(){if(!this._items)return;let e=this._items.toArray();for(let i=0;i<e.length;i++)if(e[i].active){this.selectedIndex=i,this.tabPanel&&(this.tabPanel._activeTabId=e[i].id),this._focusedItem.set(e[i]),this._changeDetectorRef.markForCheck();return}this.selectedIndex=-1}_getRole(){return this.tabPanel?"tablist":this._elementRef.nativeElement.getAttribute("role")}_hasFocus(e){return this._keyManager?.activeItem===e}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["","mat-tab-nav-bar",""]],contentQueries:function(i,r,o){if(i&1&&vt(o,qR,5),i&2){let s;A(s=R())&&(r._items=s)}},viewQuery:function(i,r){if(i&1&&He(nw,7)(iw,7)(rw,7)(ow,5)(sw,5),i&2){let o;A(o=R())&&(r._tabListContainer=o.first),A(o=R())&&(r._tabList=o.first),A(o=R())&&(r._tabListInner=o.first),A(o=R())&&(r._nextPaginator=o.first),A(o=R())&&(r._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-nav-bar","mat-mdc-tab-header"],hostVars:17,hostBindings:function(i,r){i&2&&(se("role",r._getRole()),ao("--mat-tab-animation-duration",r.animationDuration),W("mat-mdc-tab-header-pagination-controls-enabled",r._showPaginationControls)("mat-mdc-tab-header-rtl",r._getLayoutDirection()=="rtl")("mat-mdc-tab-nav-bar-stretch-tabs",r.stretchTabs)("mat-primary",r.color!=="warn"&&r.color!=="accent")("mat-accent",r.color==="accent")("mat-warn",r.color==="warn")("_mat-animation-noopable",r._animationsDisabled))},inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",K],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",K],animationDuration:"animationDuration",backgroundColor:"backgroundColor",disableRipple:[2,"disableRipple","disableRipple",K],color:"color",tabPanel:"tabPanel"},exportAs:["matTabNavBar","matTabNav"],features:[ie],attrs:LR,ngContentSelectors:Eo,decls:13,vars:6,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-link-container",3,"keydown"],[1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-links"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(i,r){i&1&&(ke(),v(0,"div",5,0),X("click",function(){return r._handlePaginatorClick("before")})("mousedown",function(s){return r._handlePaginatorPress("before",s)})("touchend",function(){return r._stopInterval()}),ve(2,"div",6),I(),v(3,"div",7,1),X("keydown",function(s){return r._handleKeydown(s)}),v(5,"div",8,2),X("cdkObserveContent",function(){return r._onContentChanges()}),v(7,"div",9,3),te(9),I()()(),v(10,"div",10,4),X("mousedown",function(s){return r._handlePaginatorPress("after",s)})("click",function(){return r._handlePaginatorClick("after")})("touchend",function(){return r._stopInterval()}),ve(12,"div",6),I()),i&2&&(W("mat-mdc-tab-header-pagination-disabled",r._disableScrollBefore),me("matRippleDisabled",r._disableScrollBefore||r.disableRipple),T(10),W("mat-mdc-tab-header-pagination-disabled",r._disableScrollAfter),me("matRippleDisabled",r._disableScrollAfter||r.disableRipple))},dependencies:[Si,Xs],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:Line truncated
`],encapsulation:2})}return t})(),qR=(()=>{class t extends cw{_tabNavBar=u(GR);elementRef=u(P);_focusMonitor=u(fo);_destroyed=new D;_isActive=!1;_tabIndex=Ot(()=>this._tabNavBar._focusedItem()===this?this.tabIndex:-1);get active(){return this._isActive}set active(e){e!==this._isActive&&(this._isActive=e,this._tabNavBar.updateActiveLink())}disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e)}_disableRipple=_e(!1);tabIndex=0;rippleConfig;get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}id=u(Xe).getId("mat-tab-link-");constructor(){super(),u(tt).load(vr);let e=u(Mi,{optional:!0}),i=u(new lo("tabindex"),{optional:!0});this.rippleConfig=e||{},this.tabIndex=i==null?0:parseInt(i)||0,$e()&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0}),this._tabNavBar._fitInkBarToContent.pipe(ae(this._destroyed)).subscribe(r=>{this.fitInkBarToContent=r})}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),super.ngOnDestroy(),this._focusMonitor.stopMonitoring(this.elementRef)}_handleFocus(){this._tabNavBar.focusIndex=this._tabNavBar._items.toArray().indexOf(this)}_handleKeydown(e){(e.keyCode===32||e.keyCode===13)&&(this.disabled?e.preventDefault():this._tabNavBar.tabPanel&&(e.keyCode===32&&e.preventDefault(),this.elementRef.nativeElement.click()))}_getAriaControls(){return this._tabNavBar.tabPanel?this._tabNavBar.tabPanel?.id:this.elementRef.nativeElement.getAttribute("aria-controls")}_getAriaSelected(){return this._tabNavBar.tabPanel?this.active?"true":"false":this.elementRef.nativeElement.getAttribute("aria-selected")}_getAriaCurrent(){return this.active&&!this._tabNavBar.tabPanel?"page":null}_getRole(){return this._tabNavBar.tabPanel?"tab":this.elementRef.nativeElement.getAttribute("role")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mdc-tab","mat-mdc-tab-link","mat-focus-indicator"],hostVars:11,hostBindings:function(i,r){i&1&&X("focus",function(){return r._handleFocus()})("keydown",function(s){return r._handleKeydown(s)}),i&2&&(se("aria-controls",r._getAriaControls())("aria-current",r._getAriaCurrent())("aria-disabled",r.disabled)("aria-selected",r._getAriaSelected())("id",r.id)("tabIndex",r._tabIndex())("role",r._getRole()),W("mat-mdc-tab-disabled",r.disabled)("mdc-tab--active",r.active))},inputs:{active:[2,"active","active",K],disabled:[2,"disabled","disabled",K],disableRipple:[2,"disableRipple","disableRipple",K],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:Xn(e)],id:"id"},exportAs:["matTabLink"],features:[ie],attrs:VR,ngContentSelectors:Eo,decls:5,vars:2,consts:[[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"]],template:function(i,r){i&1&&(ke(),ve(0,"span",0)(1,"div",1),v(2,"span",2)(3,"span",3),te(4),I()()),i&2&&(T(),me("matRippleTrigger",r.elementRef.nativeElement)("matRippleDisabled",r.rippleDisabled))},dependencies:[Si],styles:[`.mat-mdc-tab-link{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab-link.mdc-tab{flex-grow:0}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab-link:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab-link.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),SZ=(()=>{class t{id=u(Xe).getId("mat-tab-nav-panel-");_activeTabId;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-tab-nav-panel"]],hostAttrs:["role","tabpanel",1,"mat-mdc-tab-nav-panel"],hostVars:2,hostBindings:function(i,r){i&2&&se("aria-labelledby",r._activeTabId)("id",r.id)},inputs:{id:"id"},exportAs:["matTabNavPanel"],ngContentSelectors:Eo,decls:1,vars:0,template:function(i,r){i&1&&(ke(),te(0))},encapsulation:2,changeDetection:0})}return t})(),mw=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Y({type:t});static \u0275inj=q({imports:[Se]})}return t})();var pw=(()=>{class t{_animationsDisabled=$e();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(i,r){i&2&&W("mat-pseudo-checkbox-indeterminate",r.state==="indeterminate")("mat-pseudo-checkbox-checked",r.state==="checked")("mat-pseudo-checkbox-disabled",r.disabled)("mat-pseudo-checkbox-minimal",r.appearance==="minimal")("mat-pseudo-checkbox-full",r.appearance==="full")("_mat-animation-noopable",r._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(i,r){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}
`],encapsulation:2,changeDetection:0})}return t})();var ZR=["*",[["mat-option"],["ng-container"]]],QR=["*","mat-option, ng-container"],KR=["text"],XR=[[["mat-icon"]],"*"],JR=["mat-icon","*"];function eO(t,n){if(t&1&&ve(0,"mat-pseudo-checkbox",1),t&2){let e=z();me("disabled",e.disabled)("state",e.selected?"checked":"unchecked")}}function tO(t,n){if(t&1&&ve(0,"mat-pseudo-checkbox",3),t&2){let e=z();me("disabled",e.disabled)}}function nO(t,n){if(t&1&&(v(0,"span",4),we(1),I()),t&2){let e=z();T(),Kn("(",e.group.label,")")}}var bd=new _("MAT_OPTION_PARENT_COMPONENT"),Dd=new _("MatOptgroup"),Wp=(()=>{class t{label;disabled=!1;_labelId=u(Xe).getId("mat-optgroup-label-");_inert;constructor(){let e=u(bd,{optional:!0});this._inert=e?.inertGroups??!1}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-mdc-optgroup"],hostVars:3,hostBindings:function(i,r){i&2&&se("role",r._inert?null:"group")("aria-disabled",r._inert?null:r.disabled.toString())("aria-labelledby",r._inert?null:r._labelId)},inputs:{label:"label",disabled:[2,"disabled","disabled",K]},exportAs:["matOptgroup"],features:[ce([{provide:Dd,useExisting:t}])],ngContentSelectors:QR,decls:5,vars:4,consts:[["role","presentation",1,"mat-mdc-optgroup-label",3,"id"],[1,"mdc-list-item__primary-text"]],template:function(i,r){i&1&&(ke(ZR),an(0,"span",0)(1,"span",1),we(2),te(3),Tn()(),te(4,1)),i&2&&(W("mdc-list-item--disabled",r.disabled),Ci("id",r._labelId),T(2),Kn("",r.label," "))},styles:[`.mat-mdc-optgroup{color:var(--mat-optgroup-label-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mat-optgroup-label-text-font, var(--mat-sys-title-small-font));line-height:var(--mat-optgroup-label-text-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-optgroup-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-optgroup-label-text-tracking, var(--mat-sys-title-small-tracking));font-weight:var(--mat-optgroup-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-optgroup-label{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;outline:none}.mat-mdc-optgroup-label.mdc-list-item--disabled{opacity:.38}.mat-mdc-optgroup-label .mdc-list-item__primary-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;white-space:normal;color:inherit}
`],encapsulation:2,changeDetection:0})}return t})(),zp=class{source;isUserInput;constructor(n,e=!1){this.source=n,this.isUserInput=e}},xo=(()=>{class t{_element=u(P);_changeDetectorRef=u(Ve);_parent=u(bd,{optional:!0});group=u(Dd,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=u(Xe).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=_e(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new M;_text;_stateChanges=new D;constructor(){let e=u(tt);e.load(vr),e.load(ho),this._signalDisableRipple=!!this._parent&&Di(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(e=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}deselect(e=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}focus(e,i){let r=this._getHostElement();typeof r.focus=="function"&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!Dt(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new zp(this,e))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-option"]],viewQuery:function(i,r){if(i&1&&He(KR,7),i&2){let o;A(o=R())&&(r._text=o.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(i,r){i&1&&X("click",function(){return r._selectViaInteraction()})("keydown",function(s){return r._handleKeydown(s)}),i&2&&(Ci("id",r.id),se("aria-selected",r.selected)("aria-disabled",r.disabled.toString()),W("mdc-list-item--selected",r.selected)("mat-mdc-option-multiple",r.multiple)("mat-mdc-option-active",r.active)("mdc-list-item--disabled",r.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",K]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:JR,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,r){i&1&&(ke(XR),re(0,eO,1,2,"mat-pseudo-checkbox",1),te(1),v(2,"span",2,0),te(4,1),I(),re(5,tO,1,1,"mat-pseudo-checkbox",3),re(6,nO,2,1,"span",4),ve(7,"div",5)),i&2&&(oe(r.multiple?0:-1),T(5),oe(!r.multiple&&r.selected&&!r.hideSingleSelectionIndicator?5:-1),T(),oe(r.group&&r.group._inert?6:-1),T(),me("matRippleTrigger",r._getHostElement())("matRippleDisabled",r.disabled||r.disableRipple))},dependencies:[pw,Si],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-Line truncated
`],encapsulation:2,changeDetection:0})}return t})();function gw(t,n,e){if(e.length){let i=n.toArray(),r=e.toArray(),o=0;for(let s=0;s<t+1;s++)i[s].group&&i[s].group===r[o]&&o++;return o}return 0}function _w(t,n,e,i){return t<e?t:t+n>e+i?Math.max(0,t-i+n):e}var iO=["notch"],rO=["matFormFieldNotchedOutline",""],oO=["*"],vw=["iconPrefixContainer"],yw=["textPrefixContainer"],bw=["iconSuffixContainer"],Dw=["textSuffixContainer"],sO=["textField"],aO=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],lO=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function cO(t,n){t&1&&ve(0,"span",21)}function dO(t,n){if(t&1&&(v(0,"label",20),te(1,1),re(2,cO,1,0,"span",21),I()),t&2){let e=z(2);me("floating",e._shouldLabelFloat())("monitorResize",e._hasOutline())("id",e._labelId),se("for",e._control.disableAutomaticLabeling?null:e._control.id),T(2),oe(!e.hideRequiredMarker&&e._control.required?2:-1)}}function uO(t,n){if(t&1&&re(0,dO,3,5,"label",20),t&2){let e=z();oe(e._hasFloatingLabel()?0:-1)}}function fO(t,n){t&1&&ve(0,"div",7)}function hO(t,n){}function mO(t,n){if(t&1&&Ut(0,hO,0,0,"ng-template",13),t&2){z(2);let e=Mn(1);me("ngTemplateOutlet",e)}}function pO(t,n){if(t&1&&(v(0,"div",9),re(1,mO,1,1,null,13),I()),t&2){let e=z();me("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat()),T(),oe(e._forceDisplayInfixLabel()?-1:1)}}function gO(t,n){t&1&&(v(0,"div",10,2),te(2,2),I())}function _O(t,n){t&1&&(v(0,"div",11,3),te(2,3),I())}function vO(t,n){}function yO(t,n){if(t&1&&Ut(0,vO,0,0,"ng-template",13),t&2){z();let e=Mn(1);me("ngTemplateOutlet",e)}}function bO(t,n){t&1&&(v(0,"div",14,4),te(2,4),I())}function DO(t,n){t&1&&(v(0,"div",15,5),te(2,5),I())}function CO(t,n){t&1&&ve(0,"div",16)}function wO(t,n){t&1&&(v(0,"div",18),te(1,6),I())}function EO(t,n){if(t&1&&(v(0,"mat-hint",22),we(1),I()),t&2){let e=z(2);me("id",e._hintLabelId),T(),ln(e.hintLabel)}}function xO(t,n){if(t&1&&(v(0,"div",19),re(1,EO,2,2,"mat-hint",22),te(2,7),ve(3,"div",23),te(4,8),I()),t&2){let e=z();T(),oe(e.hintLabel?1:-1)}}var Gp=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["mat-label"]]})}return t})(),Mw=new _("MatError"),IO=(()=>{class t{id=u(Xe).getId("mat-mdc-error-");constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:[1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(i,r){i&2&&Ci("id",r.id)},inputs:{id:"id"},features:[ce([{provide:Mw,useExisting:t}])]})}return t})(),qp=(()=>{class t{align="start";id=u(Xe).getId("mat-mdc-hint-");static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,r){i&2&&(Ci("id",r.id),se("align",null),W("mat-mdc-form-field-hint-end",r.align==="end"))},inputs:{align:"align",id:"id"}})}return t})(),Sw=new _("MatPrefix"),TO=(()=>{class t{set _isTextSelector(e){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matPrefix",""],["","matIconPrefix",""],["","matTextPrefix",""]],inputs:{_isTextSelector:[0,"matTextPrefix","_isTextSelector"]},features:[ce([{provide:Sw,useExisting:t}])]})}return t})(),kw=new _("MatSuffix"),MO=(()=>{class t{set _isTextSelector(e){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matSuffix",""],["","matIconSuffix",""],["","matTextSuffix",""]],inputs:{_isTextSelector:[0,"matTextSuffix","_isTextSelector"]},features:[ce([{provide:kw,useExisting:t}])]})}return t})(),Aw=new _("FloatingLabelParent"),Cw=(()=>{class t{_elementRef=u(P);get floating(){return this._floating}set floating(e){this._floating=e,this.monitorResize&&this._handleResize()}_floating=!1;get monitorResize(){return this._monitorResize}set monitorResize(e){this._monitorResize=e,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}_monitorResize=!1;_resizeObserver=u(hd);_ngZone=u(k);_parent=u(Aw);_resizeSubscription=new Z;constructor(){}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return SO(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static \u0275fac Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var Ow=pd();function Bw(t){return new wd(t.get(kn),t.get(U))}var wd=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(n,e){this._viewportRuler=n,this._document=e}attach(){}enable(){if(this._canBeEnabled()){let n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=je(-this._previousScrollPosition.left),n.style.top=je(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let n=this._document.documentElement,e=this._document.body,i=n.style,r=e.style,o=i.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Ow&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Ow&&(i.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let e=this._document.documentElement,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}};function Hw(t,n){return new Ed(t.get(_r),t.get(k),t.get(kn),n)}var Ed=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(n,e,i,r){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=r}attach(n){this._overlayRef,this._overlayRef=n}enable(){if(this._scrollSubscription)return;let n=this._scrollDispatcher.scrolled(0).pipe(Ie(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{let e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var ra=class{enable(){}disable(){}attach(){}};function Qp(t,n){return n.some(e=>{let i=t.bottom<e.top,r=t.top>e.bottom,o=t.right<e.left,s=t.left>e.right;return i||r||o||s})}function Nw(t,n){return n.some(e=>{let i=t.top<e.top,r=t.bottom>e.bottom,o=t.left<e.left,s=t.right>e.right;return i||r||o||s})}function Dr(t,n){return new xd(t.get(_r),t.get(kn),t.get(k),n)}var xd=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(n,e,i,r){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=r}attach(n){this._overlayRef,this._overlayRef=n}enable(){if(!this._scrollSubscription){let n=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(n).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();Qp(e,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},Uw=(()=>{class t{_injector=u(Q);constructor(){}noop=()=>new ra;close=e=>Hw(this._injector,e);block=()=>Bw(this._injector);reposition=e=>Dr(this._injector,e);static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),oa=class{positionStrategy;scrollStrategy=new ra;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;usePopover;eventPredicate;constructor(n){if(n){let e=Object.keys(n);for(let i of e)n[i]!==void 0&&(this[i]=n[i])}}};var Id=class{connectionPair;scrollableViewProperties;constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}};var $w=(()=>{class t{_attachedOverlays=[];_document=u(U);_isAttached=!1;constructor(){}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){let i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),this._attachedOverlays.length===0&&this.detach()}canReceiveEvent(e,i,r){return r.observers.length<1?!1:e.eventPredicate?e.eventPredicate(i):!0}static \uLine truncated
`],encapsulation:2,changeDetection:0})}return t})(),Xp=(()=>{class t{_platform=u(ue);_containerElement;_document=u(U);_styleLoader=u(tt);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e="cdk-overlay-container";if(this._platform.isBrowser||Rp()){let r=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let o=0;o<r.length;o++)r[o].remove()}let i=this._document.createElement("div");i.classList.add(e),Rp()?i.setAttribute("platform","test"):this._platform.isBrowser||i.setAttribute("platform","server"),this._document.body.appendChild(i),this._containerElement=i}_loadStyles(){this._styleLoader.load(Gw)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Kp=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(n,e,i,r){this._renderer=e,this._ngZone=i,this.element=n.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=e.listen(this.element,"click",r)}detach(){this._ngZone.runOutsideAngular(()=>{let n=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(n,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),n.style.pointerEvents="none",n.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function Jp(t){return t&&t.nodeType===1}var Td=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new D;_attachments=new D;_detachments=new D;_positionStrategy;_scrollStrategy;_locationChanges=Z.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new D;_outsidePointerEvents=new D;_afterNextRenderRef;constructor(n,e,i,r,o,s,a,l,c,d=!1,f,m){this._portalOutlet=n,this._host=e,this._pane=i,this._config=r,this._ngZone=o,this._keyboardDispatcher=s,this._document=a,this._location=l,this._outsideClickDispatcher=c,this._animationsDisabled=d,this._injector=f,this._renderer=m,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}get eventPredicate(){return this._config?.eventPredicate||null}attach(n){if(this._disposed)return null;this._attachHost();let e=this._portalOutlet.attach(n);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=dt(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof e?.onDestroy=="function"&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let n=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){if(this._disposed)return;let n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,n&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._ Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var N0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Y({type:t});static \u0275inj=q({imports:[ca,Ro,Se,gr,R0,Ro]})}return t})();var LN=["mat-internal-form-field",""],VN=["*"],SK=(()=>{class t{labelPosition="after";static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,r){i&2&&W("mdc-form-field--align-end",r.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:LN,ngContentSelectors:VN,decls:1,vars:0,template:function(i,r){i&1&&(ke(),te(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}
`],encapsulation:2,changeDetection:0})}return t})();var RK=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Y({type:t});static \u0275inj=q({imports:[Se]})}return t})();var jN={capture:!0},BN=["focus","mousedown","mouseenter","touchstart"],_g="mat-ripple-loader-uninitialized",vg="mat-ripple-loader-class-name",F0="mat-ripple-loader-centered",Yd="mat-ripple-loader-disabled",jK=(()=>{class t{_document=u(U);_animationsDisabled=$e();_globalRippleOptions=u(Mi,{optional:!0});_platform=u(ue);_ngZone=u(k);_injector=u(Q);_eventCleanups;_hosts=new Map;constructor(){let e=u(Ye).createRenderer(null,null);this._eventCleanups=this._ngZone.runOutsideAngular(()=>BN.map(i=>e.listen(this._document,i,this._onInteraction,jN)))}ngOnDestroy(){let e=this._hosts.keys();for(let i of e)this.destroyRipple(i);this._eventCleanups.forEach(i=>i())}configureRipple(e,i){e.setAttribute(_g,this._globalRippleOptions?.namespace??""),(i.className||!e.hasAttribute(vg))&&e.setAttribute(vg,i.className||""),i.centered&&e.setAttribute(F0,""),i.disabled&&e.setAttribute(Yd,"")}setDisabled(e,i){let r=this._hosts.get(e);r?(r.target.rippleDisabled=i,!i&&!r.hasSetUpEvents&&(r.hasSetUpEvents=!0,r.renderer.setupTriggerEvents(e))):i?e.setAttribute(Yd,""):e.removeAttribute(Yd)}_onInteraction=e=>{let i=et(e);if(i instanceof HTMLElement){let r=i.closest(`[${_g}="${this._globalRippleOptions?.namespace??""}"]`);r&&this._createRipple(r)}};_createRipple(e){if(!this._document||this._hosts.has(e))return;e.querySelector(".mat-ripple")?.remove();let i=this._document.createElement("span");i.classList.add("mat-ripple",e.getAttribute(vg)),e.append(i);let r=this._globalRippleOptions,o=this._animationsDisabled?0:r?.animation?.enterDuration??wo.enterDuration,s=this._animationsDisabled?0:r?.animation?.exitDuration??wo.exitDuration,a={rippleDisabled:this._animationsDisabled||r?.disabled||e.hasAttribute(Yd),rippleConfig:{centered:e.hasAttribute(F0),terminateOnPointerUp:r?.terminateOnPointerUp,animation:{enterDuration:o,exitDuration:s}}},l=new Ti(a,this._ngZone,i,this._platform,this._injector),c=!a.rippleDisabled;c&&l.setupTriggerEvents(e),this._hosts.set(e,{target:a,renderer:l,hasSetUpEvents:c}),e.removeAttribute(_g)}destroyRipple(e){let i=this._hosts.get(e);i&&(i.renderer._removeTriggerEvents(),this._hosts.delete(e))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var yg=(()=>{class t{get vertical(){return this._vertical}set vertical(e){this._vertical=Ct(e)}_vertical=!1;get inset(){return this._inset}set inset(e){this._inset=Ct(e)}_inset=!1;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(i,r){i&2&&(se("aria-orientation",r.vertical?"vertical":"horizontal"),W("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(i,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
`],encapsulation:2,changeDetection:0})}return t})(),Zd=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Y({type:t});static \u0275inj=q({imports:[Se]})}return t})();var HN=["tooltip"],UN=20;var $N=new _("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let t=u(Q);return()=>Dr(t,{scrollThrottle:UN})}}),zN=new _("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var P0="tooltip-panel",WN={passive:!0},GN=8,qN=8,YN=24,ZN=200,bg=(()=>{class t{_elementRef=u(P);_ngZone=u(k);_platform=u(ue);_ariaDescriber=u($C);_focusMonitor=u(fo);_dir=u(ut);_injector=u(Q);_viewContainerRef=u(Ke);_mediaMatcher=u(mo);_document=u(U);_renderer=u(Oe);_animationsDisabled=$e();_defaultOptions=u(zN,{optional:!0});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=L0;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=!1;_dirSubscribed=!1;get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=Ct(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){let i=Ct(e);this._disabled!==i&&(this._disabled=i,i?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=ti(e)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=ti(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(e){let i=this._message;this._message=e!=null?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(i)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_eventCleanups=[];_touchstartTimeout=null;_destroyed=new D;_isDestroyed=!1;constructor(){let e=this._defaultOptions;e&&(this._showDelay=e.showDelay,this._hideDelay=e.hideDelay,e.position&&(this.position=e.position),e.positionAtOrigin&&(this.positionAtOrigin=e.positionAtOrigin),e.touchGestures&&(this.touchGestures=e.touchGestures),e.tooltipClass&&(this.tooltipClass=e.tooltipClass)),this._viewportMargin=GN}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(ae(this._destroyed)).subscribe(e=>{e?e==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let e=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._eventCleanups.forEach(i=>i()),this._eventCleanups.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let r=this._createOverlay(i);this._detach(),this._portal=this._portal||new ia(this._tooltipComponent,this._viewContainerRef);let o=this._tooltipInstance=r.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(ae(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(e)}hide(e=this.hideDelay){let i=this._tooltipInstance;i&&(i.isVisible()?i.hide(e):(i._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){let s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&s._origin instanceof P)return this._overlayRef;this._detach()}let i=this._injector.get(_r).getAncestorScrollContainers(this._elementRef),r=`${this._cssClassPrefix}-${P0}`,o=sa(this._injector,this.positionAtOrigin?e||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i).withPopoverLocation("global");return o.positionChanges.pipe(ae(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltip Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var V0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Y({type:t});static \u0275inj=q({imports:[Cp,ca,Se,gr]})}return t})();var Oo=class{data=[];dataChange=new xt([]);itemUpdated=new D;getItems(){return this.data}add(n){this.findIndex(n)>=0?this.update(n):(this.data.push(n),this.dataChange.next(this.data))}set(n){n.forEach(i=>{let r=this.findIndex(i);if(r>=0){let o=Object.assign(this.data[r],i);this.data[r]=o}else this.data.push(i)}),this.data.filter(i=>n.filter(r=>this.getItemKey(r)===this.getItemKey(i)).length===0).forEach(i=>this.remove(i)),this.dataChange.next(this.data)}get(n){let e=this.data.findIndex(i=>this.getItemKey(i)===n);if(e>=0)return this.data[e]}update(n){let e=this.findIndex(n);if(e>=0){let i=Object.assign(this.data[e],n);this.data[e]=i,this.dataChange.next(this.data),this.itemUpdated.next(i)}}remove(n){let e=this.findIndex(n);e>=0&&(this.data.splice(e,1),this.dataChange.next(this.data))}get changes(){return this.dataChange}get itemChanged(){return this.itemUpdated}clear(){this.data=[],this.dataChange.next(this.data)}findIndex(n){return this.data.findIndex(e=>this.getItemKey(e)===this.getItemKey(n))}};var j0=(()=>{class t extends Oo{getItemKey(e){return e.link_id}static \u0275fac=(()=>{let e;return function(r){return(e||(e=ye(t)))(r||t)}})();static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})();var B0=(()=>{class t extends Oo{getItemKey(e){return e.node_id}static \u0275fac=(()=>{let e;return function(r){return(e||(e=ye(t)))(r||t)}})();static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})();var hn={production:!0,electron:!1,githubio:!1,solarputty_download_url:"",current_version:"v3",compute_id:"local"};var Qd=class t extends Error{originalError;constructor(n){super(n)}static fromError(n,e){let i=new t(n);return i.originalError=e,i}},KN=(()=>{class t{handleError(e){let i=e;return e.name==="HttpErrorResponse"&&e.status===0?i=Qd.fromError("Controller is unreachable",e):e.error?.message&&(i=Qd.fromError(e.error.message,e)),vu(()=>i)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})(),Kd=(()=>{class t{http;errorHandler;requestsNotificationEmitter=new M;constructor(e,i){this.http=e,this.errorHandler=i}get(e,i,r){r=this.getJsonOptions(r);let o=this.getOptionsForController(e,i,r);return this.requestsNotificationEmitter.emit(`GET ${o.url}`),this.http.get(o.url,o.options).pipe(mt(this.errorHandler.handleError))}getText(e,i,r){r=this.getTextOptions(r);let o=this.getOptionsForController(e,i,r);return this.requestsNotificationEmitter.emit(`GET ${o.url}`),this.http.get(o.url,o.options).pipe(mt(this.errorHandler.handleError))}getBlob(e,i,r){r=this.getBlobOptions(r);let o=this.getOptionsForController(e,i,r);return this.requestsNotificationEmitter.emit(`GET ${o.url}`),this.http.get(o.url,o.options).pipe(mt(this.errorHandler.handleError))}post(e,i,r,o){o=this.getJsonOptions(o);let s=this.getOptionsForController(e,i,o);return this.requestsNotificationEmitter.emit(`POST ${s.url}`),this.http.post(s.url,r,s.options).pipe(mt(this.errorHandler.handleError))}postBlob(e,i,r){let o={responseType:"blob",headers:{}},s=this.getOptionsForController(e,i,o);return this.requestsNotificationEmitter.emit(`POST ${s.url}`),this.http.post(s.url,r,s.options).pipe(mt(this.errorHandler.handleError))}put(e,i,r,o){o=this.getJsonOptions(o);let s=this.getOptionsForController(e,i,o);return this.requestsNotificationEmitter.emit(`PUT ${s.url}`),this.http.put(s.url,r,s.options).pipe(mt(this.errorHandler.handleError))}delete(e,i,r){r=this.getJsonOptions(r);let o=this.getOptionsForController(e,i,r);return this.requestsNotificationEmitter.emit(`DELETE ${o.url}`),this.http.delete(o.url,o.options).pipe(mt(this.errorHandler.handleError))}patch(e,i,r,o){o=this.getJsonOptions(o);let s=this.getOptionsForController(e,i,o);return this.http.patch(s.url,r,s.options).pipe(mt(this.errorHandler.handleError))}head(e,i,r){r=this.getJsonOptions(r);let o=this.getOptionsForController(e,i,r);return this.http.head(o.url,o.options).pipe(mt(this.errorHandler.handleError))}options(e,i,r){r=this.getJsonOptions(r);let o=this.getOptionsForController(e,i,r);return this.http.options(o.url,o.options).pipe(mt(this.errorHandler.handleError))}getJsonOptions(e){return e||{responseType:"json"}}getTextOptions(e){return e||{responseType:"text"}}getBlobOptions(e){return e||{responseType:"blob"}}getOptionsForController(e,i,r){return e&&e.host&&e.port?(e.protocol||(e.protocol=location.protocol),i=`${e.protocol}//${e.host}:${e.port}/${hn.current_version}${i}`):i=`/${hn.current_version}${i}`,r.headers||(r.headers={}),e&&e.authToken&&!e.tokenExpired&&(r.headers.Authorization=`Bearer ${e.authToken}`),{url:i,options:r}}static \u0275fac=function(i){return new(i||t)(x(cd),x(KN))};static \u0275prov=g({token:t,factory:t.\u0275fac})}return t})();var U0=(()=>{class t{httpController;constructor(e){this.httpController=e}getComputes(e){re Line truncated
`,tF=["unscopedContent"],nF=["text"],iF=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],rF=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"];var oF=new _("ListOption"),sF=(()=>{class t{_elementRef=u(P);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return t})(),aF=(()=>{class t{_elementRef=u(P);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return t})(),lF=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return t})(),Q0=(()=>{class t{_listOption=u(oF,{optional:!0});constructor(){}_isAlignedAtStart(){return!this._listOption||this._listOption?._getTogglePosition()==="after"}static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,hostVars:4,hostBindings:function(i,r){i&2&&W("mdc-list-item__start",r._isAlignedAtStart())("mdc-list-item__end",!r._isAlignedAtStart())}})}return t})(),cF=(()=>{class t extends Q0{static \u0275fac=(()=>{let e;return function(r){return(e||(e=ye(t)))(r||t)}})();static \u0275dir=b({type:t,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[ie]})}return t})(),dF=(()=>{class t extends Q0{static \u0275fac=(()=>{let e;return function(r){return(e||(e=ye(t)))(r||t)}})();static \u0275dir=b({type:t,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[ie]})}return t})(),uF=new _("MAT_LIST_CONFIG"),ba=(()=>{class t{_isNonInteractive=!0;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Ct(e)}_disableRipple=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(Ct(e))}_disabled=_e(!1);_defaultOptions=u(uF,{optional:!0});static \u0275fac=function(i){return new(i||t)};static \u0275dir=b({type:t,hostVars:1,hostBindings:function(i,r){i&2&&se("aria-disabled",r.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return t})(),fF=(()=>{class t{_elementRef=u(P);_ngZone=u(k);_listBase=u(ba,{optional:!0});_platform=u(ue);_hostElement;_isButtonElement;_noopAnimations=$e();_avatars;_icons;set lines(e){this._explicitLines=ti(e,null),this._updateItemLines(!1)}_explicitLines=null;get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(e){this._disableRipple=Ct(e)}_disableRipple=!1;get disabled(){return this._disabled()||!!this._listBase?.disabled}set disabled(e){this._disabled.set(Ct(e))}_disabled=_e(!1);_subscriptions=new Z;_rippleRenderer=null;_hasUnscopedTextContent=!1;rippleConfig;get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(){u(tt).load(vr);let e=u(Mi,{optional:!0});this.rippleConfig=e||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement=this._hostElement.nodeName.toLowerCase()==="button",this._listBase&&!this._listBase._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),this._rippleRenderer!==null&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!!(this._avatars.length||this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new Ti(this,this._ngZone,this._hostElement,this._platform,u(Q)),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(It(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(e){if(!this._lines||!this._titles||!this._unscopedContent)return;e&&this._checkDomForUnscopedTextContent();let i=this._explicitLines??this._inferLinesFromContent(),r=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",i===2),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",i===3),this._hasUnscopedTextContent){let o=this._titles.length===0&&i===1;r.classList.toggle("mdc-list-item__primary-text",o),r.classList.toggle("mdc-list-item__secondary-text",!o)}else r.classList.remove("mdc-list-item__prim Line truncated
`):""}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=ee({type:t,selectors:[["app-topology-summary"]],inputs:{controller:"controller",project:"project"},outputs:{closeTopologySummary:"closeTopologySummary"},decls:2,vars:2,consts:[["mwlResizable","",1,"summaryWrapper",3,"ngStyle","ngClass","validateResize","resizeEdges","enableGhostResize"],[3,"mousemove","mouseup"],["mwlResizable","",1,"summaryWrapper",3,"mousedown","resizeStart","resizeEnd","ngStyle","ngClass","validateResize","resizeEdges","enableGhostResize"],[1,"summaryHeader"],["label","Map topology",3,"click"],[1,"tabContent"],[1,"summaryFilters"],["placeholder","Filter nodes","multiple",""],["label","Status filter"],["value","started",3,"onSelectionChange"],["value","suspended",3,"onSelectionChange"],["value","stopped",3,"onSelectionChange"],["label","Capture filter"],["value","capture",3,"onSelectionChange"],["value","packet",3,"onSelectionChange"],[1,"summarySorting"],["placeholder","Sorting",3,"selectionChange","valueChange","value"],["value","asc"],["value","desc"],[1,"divider"],[1,"summaryContent",3,"ngStyle"],[1,"nodeRow"],["label","Computes",3,"click"],[1,"summaryContentComputes"],["matTooltipPosition","above",1,"nodeRow",3,"matTooltip"],["width","10","height","10"],["x","0","y","0","width","10","height","10","fill","green",1,"status_started"],["x","0","y","0","width","10","height","10","fill","yellow",1,"status_suspended"],["x","0","y","0","width","10","height","10","fill","red",1,"status_stopped"]],template:function(i,r){i&1&&(re(0,gF,1,0,"div"),re(1,IF,34,10,"div",0)),i&2&&(oe(r.isDraggingEnabled?0:-1),T(),oe(r.projectsStatistics?1:-1))},dependencies:[Hs,zm,Wm,mw,$p,hw,N0,O0,xo,Wp,Ro,Zd,yg,V0,bg],styles:["@media screen and (max-width:600px){.summaryWrapper[_ngcontent-%COMP%]{visibility:hidden}}mat-tab-group[_ngcontent-%COMP%]{width:100%}.summaryWrapper[_ngcontent-%COMP%]{box-shadow:0 4px 16px color-mix(in srgb,var(--mat-sys-shadow) 25%,transparent);position:fixed;top:60px;right:0;height:400px;width:320px;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px;margin:16px;border-radius:4px}.summaryHeaderMenu[_ngcontent-%COMP%]{height:24px}.summaryHeader[_ngcontent-%COMP%]{width:100%;display:flex}.summaryFilters[_ngcontent-%COMP%], .summarySorting[_ngcontent-%COMP%]{height:25px;margin-left:8px;margin-right:8px}.tabContent[_ngcontent-%COMP%]{padding:10px}.summaryContent[_ngcontent-%COMP%]{overflow:auto;scrollbar-color:darkgrey var(--mat-sys-surface);scrollbar-width:thin}.summaryContentComputes[_ngcontent-%COMP%]{max-height:350px;overflow:auto;scrollbar-color:darkgrey var(--mat-sys-surface);scrollbar-width:thin}.titleButton[_ngcontent-%COMP%]{margin-left:8px;margin-top:4px;outline:none;border-radius:0}.marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary);border-bottom:2px solid var(--mat-sys-primary)}.divider[_ngcontent-%COMP%]{margin-top:8px;margin-bottom:8px;width:100%;height:2px}.nodeRow[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;padding-right:8px}.nodeRow[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.nodeRow[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{flex-shrink:0;vertical-align:middle}.radio-group-wrapper[_ngcontent-%COMP%]{margin-top:8px}.radio-group[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.closeButton[_ngcontent-%COMP%]{cursor:pointer;font-size:18px;margin-top:8px;margin-right:8px}.filterBox[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.notvisible[_ngcontent-%COMP%]{display:none}"],changeDetection:0})}return t})();export{E as a,ne as b,rE as c,TF as d,MF as e,SF as f,Z as g,gE as h,B as i,D as j,xt as k,Uo as l,Bg as m,Ug as n,Pn as o,Pt as p,it as q,vu as r,ci as s,Wo as t,pe as u,yu as v,Gt as w,Go as x,di as y,bu as z,Du as A,Cu as B,Ln as C,$E as D,It as E,Ie as F,Ka as G,mt as H,wu as I,Eu as J,zE as K,Tt as L,xu as M,WE as N,Xa as O,Ja as P,YE as Q,ZE as R,el as S,Mu as T,tl as U,rt as V,jn as W,ae as X,ku as Y,y as Z,vn as _,Ge as $,g as aa,q as ba,JE as ca,_ as da,x as ea,u as fa,M_ as ga,Ne as ha,Br as ia,Te as ja,Me as ka,Jt as la,Af as ma,Q as na,U as oa,pt as pa,tr as qa,M as ra,k as sa,Lt as ta,Wn as ua,_e as va,nr as wa,Ze as xa,ye as ya,Oh as za,P as Aa,nn as Ba,ar as Ca,ws as Da,py as Ea,_t as Fa,jI as Ga,Sy as Ha,ky as Ia,$I as Ja,zI as Ka,oc as La,T as Ma,Yn as Na,dt as Oa,Je as Pa,Ye as Qa,Oe as Ra,O as Sa,sM as Ta,Ke as Ua,Sb as Va,kb as Wa,ee as Xa,Y as Ya,b as Za,ks as _a,GM as $a,ie as ab,Ut as bb,gc as cb,Fb as db,Di as eb,lr as fb,rS as gb,Vb as hb,At as ib,bc as jb,se as kb,re as lb,gm as mb,oe as nb,aS as ob,Dc as pb,cr as qb,dr as rb,me as sb,v as tb,I as ub,ve as vb,an as wb,Tn as xb,so as yb,_m as zb,vm as Ab,Ub as Bb,Zn as Cb,Ci as Db,X as Eb,Cc as Fb,z as Gb,ke as Hb,te as Ib,vt as Jb,He as Kb,A as Lb,R as Mb,Ec as Nb,xc as Ob,Mn as Pb,ao as Qb,W as Rb,Qn as Sb,we as Tb,ln as Ub,Kn as Vb,Ic as Wb,Tc as Xb,Mc as Yb,bm as Zb,Sc as _b,US as $b Line truncated
+2 -2
View File
@@ -33,7 +33,7 @@
}
})();
</script>
<style>:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}:root{--bs-btn-close-filter: }:root{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }@font-face{font-family:Noto Sans;src:url("./media/NotoSans-Regular-CVVXLBAZ.eot");src:local("Noto Sans Regular"),local("NotoSans-Regular"),url("./media/NotoSans-Regular-CVVXLBAZ.eot?#iefix") format("embedded-opentype"),url("./media/NotoSans-Regular-G5GRGKTI.woff2") format("woff2"),url("./media/NotoSans-Regular-LFPD6WDW.woff") format("woff"),url("./media/NotoSans-Regular-4YJZZMLG.ttf") format("truetype"),url("./media/NotoSans-Regular-XM4E3356.svg#NotoSans-Regular") format("svg");font-weight:400;font-style:normal}@font-face{font-family:Noto Sans;src:url("./media/NotoSans-Line truncated
<style>:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}:root{--bs-btn-close-filter: }:root{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }@font-face{font-family:Noto Sans;src:url("./media/NotoSans-Regular-CVVXLBAZ.eot");src:local("Noto Sans Regular"),local("NotoSans-Regular"),url("./media/NotoSans-Regular-CVVXLBAZ.eot?#iefix") format("embedded-opentype"),url("./media/NotoSans-Regular-G5GRGKTI.woff2") format("woff2"),url("./media/NotoSans-Regular-LFPD6WDW.woff") format("woff"),url("./media/NotoSans-Regular-4YJZZMLG.ttf") format("truetype"),url("./media/NotoSans-Regular-XM4E3356.svg#NotoSans-Regular") format("svg");font-weight:400;font-style:normal}@font-face{font-family:Noto Sans;src:url("./media/NotoSans-Line truncated
<!-- <body class="mat-app-background" oncontextmenu="return false;"> -->
<body oncontextmenu="return false;">
<app-root></app-root>
@@ -115,5 +115,5 @@
}
})();
</script>
<link rel="modulepreload" href="chunk-UKWNOQKZ.js"><script src="main-SBCD24KA.js" type="module"></script></body>
<link rel="modulepreload" href="chunk-KS2DZGNZ.js"><link rel="modulepreload" href="chunk-6EPHFCHO.js"><link rel="modulepreload" href="chunk-LG2N72QL.js"><script src="main-PLOAN52W.js" type="module"></script></body>
</html>
+406
View File
@@ -0,0 +1,406 @@
import{a as zi,b as Mn,c as O5,d as ce,e as re,f as F5,g as Je,h as B5,i as V5,j as z5,k as j5,l as Ie,m as Mt,n as nt,o as hc,p as Fe,q as Rt,r as Re,s as ve,t as nR,u as iR,v as R1,w as oR,x as wh}from"./chunk-KS2DZGNZ.js";import{$ as rR,A as Q5,B as Hr,C as tl,D as ee,E as Sh,F as QT,G as ns,H as ba,I as X5,J as am,K as Y5,L as no,M as di,N as K5,O as Z5,P as Io,Q as Ao,R as J5,S as eR,T as tR,U as io,V as Ur,W as sm,X as wi,Y as lm,Z as ar,_ as ei,a as Vt,b as Et,c as ot,d as hi,e as I1,f as el,g as to,h as A1,i as yh,j as ke,k as we,l as vd,m as O1,n as $5,o as H5,p as N1,q as U5,r as vt,s as G5,t as W5,u as Xo,v as Dt,w as bt,x as Po,y as fc,z as q5}from"./chunk-6EPHFCHO.js";import{$ as yi,$a as Gt,$b as Si,$c as p1,$e as Qo,A as sh,Aa as dn,Ab as yo,Ac as ZN,Ad as g5,Ae as M1,B as Ki,Ba as bi,Bb as Eo,Bd as _5,Be as Pn,C as ra,Ca as LN,Cb as Ts,Cc as H,Ce as Ze,D as es,Da as Qt,Db as Be,Dc as X,De as At,E as e1,Ea as jl,Eb as Ve,Ec as ud,Ed as hd,Ee as Fa,F as En,Fa as lh,Fb as mo,Fc as gt,Fd as v5,G as Yn,Ga as BT,Gb as z,Gc as Lo,Gd as fd,Ge as k1,H as t1,Ha as BN,Hb as qo,Hd as C5,I as Zi,Ia as VT,Ib as _,Ic as JN,Id as Do,J as LT,Ja as Lp,Jb as s1,Jc as e5,Jd as b5,Je as T1,K as Jd,Ka as Ra,Kb as C,Kc as w_,L as EN,La as o1,Lb as ii,Lc as t5,Ld as im,Ma as VN,Mb as nn,Mc as dc,N as Gi,Na as dr,Nb as Vi,Nc as n5,O as DN,Oa as ch,Ob as Dn,Oc as eo,Od as fh,P as PN,Pa as u,Pb as pt,Pc as i5,Pd as gh,Q as b_,Qa as zT,Qb as ut,Qc as o5,Qd as Ca,Qe as D5,R as IN,Ra as aa,Rc as tm,Rd as x5,Re as rm,S as dd,Sa as jo,Sb as en,Sc as HT,Sd as v1,Se as E1,T as x_,Ta as pd,Tb as tn,Tc as va,Td as C1,Te as P5,U as n1,Ua as pi,Ub as Pe,Uc as r5,Ud as _h,Ue as WT,V as Vl,Va as rt,Vb as wn,Vc as m1,Ve as D1,W as Fp,Wa as r1,Wb as Ue,Wc as ne,Wd as b1,We as I5,Xa as Ji,Xb as or,Xc as Es,Xd as y5,Xe as P1,Y as xi,Ya as zN,Yb as d,Yc as UT,Ye as qT,Z as hn,Za as a1,Zb as $,Zc as a5,Zd as x1,Ze as _d,_ as tt,_a as F,_b as te,_c as s5,_e as A5,a as W,aa as fn,ab as ft,ac as l1,ad as u1,ae as vh,b as Qe,ba as AN,bb as mr,bc as mh,bd as l5,be as S5,bf as N5,c as wN,ca as md,cc as ph,cd as c5,ce as gd,cf as Js,d as ws,da as K,db as ci,dc as uh,dd as GT,de as Lt,df as R5,e as Tn,ea as Ut,eb as Se,ec as qi,ed as d5,ee as y1,ef as sa,f as Xs,fa as ON,fb as dh,fc as y_,fd as m5,fe as $e,ff as ze,g as go,ga as $t,gb as jN,gc as Cn,gd as mc,ge as w5,gf as uc,h as MN,ha as ge,hb as $N,hc as Kt,hd as p5,he as S1,hf as pe,i as Pr,ia as f,ib as HN,ic as ln,id as nm,ie as Ot,if as U,j as je,ja as NN,jb as jT,jc as Ys,jd as u5,je as at,jf as Fi,k as zt,ka as zl,kb as UN,kc as c1,kd as Cr,ke as w1,kf as L5,l as rh,la as Ms,lb as $T,lc as d1,ld as h1,le as br,lf as gn,m as kN,ma as T,mb as GN,mc as on,md as f1,me as Gn,mf as xh,n as ah,na as E,nb as Xt,nc as oi,nd as Bp,ne as Ch,nf as La,o as $r,oa as Jn,oc as Ar,od as pr,oe as Ke,p as nr,pa as Ir,pb as A,pc as qN,pd as g1,pe as M5,q as _t,qa as Wo,qb as WN,qc as S_,qd as _1,qe as st,r as zo,ra as co,rb as O,rc as QN,re as xr,s as Zd,sa as em,sb as Wi,sc as XN,sd as h5,se as om,t as TN,ta as RN,tb as Ae,tc as rr,td as $l,te as k5,ua as _e,ub as Z,uc as mn,ud as Zs,ue as T5,v as xt,va as Pi,vb as J,vc as YN,vd as ts,ve as Bt,w as ir,wa as FN,wb as b,wc as Ks,wd as ui,we as Nt,x as vr,xa as i1,xb as s,xc as KN,xd as Hl,xe as bh,y as v_,ya as se,yb as l,yc as ae,yd as hh,ye as pc,z as C_,za as ks,zb as B,zc as jt,zd as f5,ze as E5}from"./chunk-LG2N72QL.js";var KB=ws((mit,gS)=>{(function(n,i,e){if(!n)return;for(var t={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},r={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},a={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},c,m=1;m<20;++m)t[111+m]="f"+m;for(m=0;m<=9;++m)t[m+96]=m.toString();function p(D,N,q){if(D.addEventListener){D.addEventListener(N,q,!1);return}D.attachEvent("on"+N,q)}function h(D){if(D.type=="keypress"){var N=String.fromCharCode(D.which);return D.shiftKey||(N=N.toLowerCase()),N}return t[D.which]?t[D.which]:o[D.which]?o[D.which]:String.fromCharCode(D.which).toLowerCase()}function g(D,N){return D.sort().join(",")===N.sort().join(",")}function S(D){var N=[];return D.shiftKey&&N.push("shift"),D.altKey&&N.push("alt"),D.ctrlKey&&N.push("ctrl"),D.metaKey&&N.push("meta"),N}function x(D){if(D.preventDefault){D.preventDefault();return}D.returnValue=!1}function v(D){if(D.stopPropagation){D.stopPropagation();return}D.cancelBubble=!0}function M(D){return D=="shift"||D=="ctrl"||D=="alt"||D=="meta"}function w(){if(!c){c={};for(var D in t)D>95&&D<11Line truncated
`;P[ue.url]=V,be(V)}),De.addEventListener("error",function(me){console.warn("Failed to load font from: "+ue.url,me),P[ue.url]=null,be(null)}),De.addEventListener("abort",function(me){console.warn("Aborted loading font from: "+ue.url,me),be(null)}),De.open("GET",ue.url),De.responseType="arraybuffer",De.send()})})).then(function(ue){return ue.filter(function(be){return be}).join("")})},D=null,N=function(){return D||(D=Array.from(document.styleSheets).map(function(G){try{return{rules:G.cssRules,href:G.href}}catch(ue){return console.warn("Stylesheet could not be loaded: "+G.href,ue),{}}}))},q=function(G,ue){var be=ue||{},le=be.selectorRemap,De=be.modifyStyle,me=be.modifyCss,V=be.fonts,Y=be.excludeUnusedCss,ie=me||function(Ye,Xe){var xe=le?le(Ye):Ye,Q=De?De(Xe):Xe;return xe+"{"+Q+`}
`},oe=[],Te=typeof V>"u",Le=V||[];return N().forEach(function(Ye){var Xe=Ye.rules,xe=Ye.href;Xe&&Array.from(Xe).forEach(function(Q){if(typeof Q.style<"u")if(y(G,Q.selectorText))oe.push(ie(Q.selectorText,Q.style.cssText));else if(Te&&Q.cssText.match(/^@font-face/)){var Oe=k(Q,xe);Oe&&Le.push(Oe)}else Y||oe.push(Q.cssText)})}),R(Le).then(function(Ye){return oe.join(`
`)+Ye})},de=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};n.prepareSvg=function(fe,G,ue){m(fe);var be=G||{},le=be.left,De=le===void 0?0:le,me=be.top,V=me===void 0?0:me,Y=be.width,ie=be.height,oe=be.scale,Te=oe===void 0?1:oe,Le=be.responsive,Ye=Le===void 0?!1:Le,Xe=be.excludeCss,xe=Xe===void 0?!1:Xe;return I(fe).then(function(){var Q=fe.cloneNode(!0);Q.style.backgroundColor=(G||{}).backgroundColor||fe.style.backgroundColor;var Oe=v(fe,Q,Y,ie),Ge=Oe.width,ct=Oe.height;if(fe.tagName!=="svg")if(fe.getBBox){Q.getAttribute("transform")!=null&&Q.setAttribute("transform",Q.getAttribute("transform").replace(/translate\(.*?\)/,""));var kt=document.createElementNS("http://www.w3.org/2000/svg","svg");kt.appendChild(Q),Q=kt}else{console.error("Attempted to render non-SVG element",fe);return}if(Q.setAttribute("version","1.1"),Q.setAttribute("viewBox",[De,V,Ge,ct].join(" ")),Q.getAttribute("xmlns")||Q.setAttributeNS(i,"xmlns",t),Q.getAttribute("xmlns:xlink")||Q.setAttributeNS(i,"xmlns:xlink","http://www.w3.org/1999/xlink"),Ye?(Q.removeAttribute("width"),Q.removeAttribute("height"),Q.setAttribute("preserveAspectRatio","xMinYMin meet")):(Q.setAttribute("width",Ge*Te),Q.setAttribute("height",ct*Te)),Array.from(Q.querySelectorAll("foreignObject > *")).forEach(function(xo){xo.setAttributeNS(i,"xmlns",xo.tagName==="svg"?t:e)}),xe){var Xn=document.createElement("div");Xn.appendChild(Q);var Fo=Xn.innerHTML;if(typeof ue=="function")ue(Fo,Ge,ct);else return{src:Fo,width:Ge,height:ct}}else return q(fe,G).then(function(xo){var jr=document.createElement("style");jr.setAttribute("type","text/css"),jr.innerHTML=`<![CDATA[
`+xo+`
]]>`;var kn=document.createElement("defs");kn.appendChild(jr),Q.insertBefore(kn,Q.firstChild);var Xd=document.createElement("div");Xd.appendChild(Q);var oh=Xd.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof ue=="function")ue(oh,Ge,ct);else return{src:oh,width:Ge,height:ct}})})},n.svgAsDataUri=function(fe,G,ue){return m(fe),n.prepareSvg(fe,G).then(function(be){var le=be.src,De=be.width,me=be.height,V="data:image/svg+xml;base64,"+window.btoa(M(o+le));return typeof ue=="function"&&ue(V,De,me),V})},n.svgAsPngUri=function(fe,G,ue){m(fe);var be=G||{},le=be.encoderType,De=le===void 0?"image/png":le,me=be.encoderOptions,V=me===void 0?.8:me,Y=be.canvg,ie=function(Te){var Le=Te.src,Ye=Te.width,Xe=Te.height,xe=document.createElement("canvas"),Q=xe.getContext("2d"),Oe=window.devicePixelRatio||1;xe.width=Ye*Oe,xe.height=Xe*Oe,xe.style.width=xe.width+"px",xe.style.height=xe.height+"px",Q.setTransform(Oe,0,0,Oe,0,0),Y?Y(xe,Le):Q.drawImage(Le,0,0);var Ge=void 0;try{Ge=xe.toDataURL(De,V)}catch(ct){if(typeof SecurityError<"u"&&ct instanceof SecurityError||ct.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw ct}return typeof ue=="function"&&ue(Ge,xe.width,xe.height),Promise.resolve(Ge)};return Y?n.prepareSvg(fe,G).then(ie):n.svgAsDataUri(fe,G).then(function(oe){return new Promise(function(Te,Le){var Ye=new Image;Ye.onload=function(){return Te(ie({src:Ye,width:Ye.width,height:Ye.height}))},Ye.onerror=function(){Le(`There was an error loading the data URI as an image on the following SVG
`+window.atob(oe.slice(26))+`Open the following link to see browser's diagnosis
`+oe)},Ye.src=oe})})},n.download=function(fe,G,ue){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(w(G),fe);else{var be=document.createElement("a");if("download"in be){be.download=fe,be.style.display="none",document.body.appendChild(be);try{var le=w(G),De=URL.createObjectURL(le);be.href=De,be.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(De)})}}catch(me){console.error(me),console.warn("Error while getting object URL. Falling back to string URL."),be.href=G}be.click(),document.body.removeChild(be)}else ue&&ue.popup&&(ue.popup.document.title=fe,ue.popup.location.replace(G))}},n.saveSvg=function(fe,G,ue){var be=de();return p(fe).then(function(le){return n.svgAsDataUri(le,ue||{})}).then(function(le){return n.download(G,le,be)})},n.saveSvgAsPng=function(fe,G,ue){var be=de();return p(fe).then(function(le){return n.svgAsPngUri(le,ue||{})}).then(function(le){return n.download(G,le,be)})}})()});var mN=ws((sk,dN)=>{(function(n,i){if(typeof sk=="object"&&typeof dN=="object")dN.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e=i();for(var t in e)(typeof sk=="object"?sk:n)[t]=e[t]}})(globalThis,()=>(()=>{"use strict";var n={4567:function(o,r,a){var c=this&&this.__decorate||function(w,y,k,I){var P,R=arguments.length,D=R<3?y:I===null?I=Object.getOwnPropertyDescriptor(y,k):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(w,y,k,I);else for(var N=w.length-1;N>=0;N--)(P=w[N])&&(D=(R<3?P(D):R>3?P(y,k,D):P(y,k))||D);return R>3&&D&&Object.defineProperty(y,k,D),D},m=this&&this.__param||function(w,y){return function(k,I){y(k,I,w)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let p=a(9042),h=a(9924),g=a(844),S=a(4725),x=a(2585),v=a(3656),M=r.AccessibilityManager=class extends g.Disposable{constructor(w,y,k,I){super(),this._terminal=w,this._coreBrowserService=k,this._renderService=I,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let P=0;P<this._terminal.rows;P++)this._rowElements[P]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[P]);if(this._topBoundaryFocusListener=P=>this._handleBoundaryFocus(P,0),this._bottomBoundaryFocusListener=P=>this._handleBoundaryFocus(P,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new h.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(P=>this._handleResize(P.rows))),this.register(this._terminal.onRender(P=>this._refreshRows(P.start,P.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(P=>this._handleChar(P))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
`))),this.register(this._terminal.onA11yTab(P=>this._handleTab(P))),this.register(this._terminal.onKey(P=>this._handleKey(P.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,v.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,g.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(w){for(let y=0;y<w;y++)this._handleChar(" ")}_handleChar(w){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==w&&(this._charsToAnnounce+=w):this._charsToAnnounce+=w,w===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=p.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(w){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(w)||this._charsToConsume.push(w)}_refreshRows(w,y){this._liveRegionDebouncer.refresh(w,y,this._terminal.rows)}_renderRows(w,y){let k=this._terminal.buffer,I=k.lines.length.toString();for(let P=w;P<=y;P++){let R=k.lines.get(k.ydisp+P),D=[],N=R?.translateToString(!0,void 0,void 0,D)||"",q=(k.ydisp+P+1).toString(),de=this._rowElements[P];de&&(N.length===0?(de.innerText="\xA0",this._rowColumns.set(de,[0,1])):(de.textContent=N,this._rowColumns.set(de,D)),de.setAttribute("aria-posinset",q),de.setAttribute("aria-setsize",I))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(w,y){let k=w.target,I=this._rowElements[y===0?1:this._rowElements.length-2];if(k.getAttribute("aria-posinset")===(y===0?"1":`${this._terminal.buffer.lines.length}`)||w.relatedTarget!==I)return;let P,R;if(y===0?(P=k,R=this._rowElements.pop(),this._rowContainer.removeChild(R)):(P=this._rowElements.shift(),R=k,this._rowContainer.removeChild(P)),P.removeEventListener("focus",this._topBoundaryFocusListener),R.removeEventListener("focus",this._bottomBoundaryFocusListener),y===0){let D=this._createAccessibilityTreeNode();this._rowElements.unshift(D),this._rowContainer.insertAdjacentElement("afterbegin",D)}else{let D=this._createAccessibilityTreeNode();this._rowElements.push(D),this._rowContainer.appendChild(D)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(y===0?-1:1),this._rowElements[y===0?1:this._rowElements.length-2].focus(),w.preventDefault(),w.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let w=document.getSelection();if(!w)return;if(w.isCollapsed)return void(this._rowContainer.contains(w.anchorNode)&&this._terminal.clearSelection());if(!w.anchorNode||!w.focusNode)return void console.error("anchorNode and/or focusNode are null");let y={node:w.anchorNode,offset:w.anchorOffset},k={node:w.focusNode,offset:w.focusOffset};if((y.node.compareDocumentPosition(k.node)&Node.DOCUMENT_POSITION_PRECEDING||y.node===k.node&&y.offset>k.offset)&&([y,k]=[k,y]),y.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(y={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(y.node))return;let I=this._rowElements.slice(-1)[0];if(k.node.compareDocumentPosition(I)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(k={node:I,offset:I.textContent?.length??0}),!this._rowContainer.contains(k.node))return;let P=({node:N,offset:q})=>{let de=N instanceof Text?N.parentNode:N,fe=parseInt(de?.getAttribute("aria-posinset"),10)-1;if(isNaN(fe))return console.warn("row is invalid. Race condition?"),null;let G=this._rowColumns.get(de);if(!G)return console.warn("columns is null. Race condition?"),null;let ue=q<G.length?G[q]:G.slice(-1)[0]+1;return ue>=this._terminal.cols&&(++fe,ue=0),{row:fe,column:ue}},R=P(y),D=P(k);if(R&&D){if(R.row>D.row||R.row===D.row&&R.column>=D.column)throw new Error("invalid range");this._terminal.select(R.column,R.row,(D.row-R.row)*this._terminal.cols-R.column+D.column)}}_handleResize(w){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let y=this._rowContainer.children.length;y<this._terminal.rows;y++)this._rowElements[y]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[y]);for(;this._rowElements.length>w;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let w=this._coreBrowserService.mainDocument.createElement("div");return w.setAttribute("role","listitem"),w.tabIndex=-1,this._refreshRowDimensions(w),w}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let w=0;w<this._terminal.rows;w++)this._refreshRowDimensions(this._rowElements[w])}}_refreshRowDimensions(w){w.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=M=c([m(1,x.IInstantiationService),m(2,S.ICoreBrowserService),m(3,S.IRenderService)],M)},3614:(o,r)=>{function a(h){return h.replace(/\r?\n/g,"\r")}function c(h,g){return g?"\x1B[200~"+h+"\x1B[201~":h}function m(h,g,S,x) Line truncated
WARNING: This link could potentially be dangerous`)){let M=window.open();if(M){try{M.opener=null}catch{}M.location.href=v}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=g=c([m(0,h.IBufferService),m(1,h.IOptionsService),m(2,h.IOscLinkService)],g)},6193:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(a,c){this._renderCallback=a,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(a,c,m){this._rowCount=m,a=a!==void 0?a:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let a=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}}},3236:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let c=a(3614),m=a(3656),p=a(3551),h=a(9042),g=a(3730),S=a(1680),x=a(3107),v=a(5744),M=a(2950),w=a(1296),y=a(428),k=a(4269),I=a(5114),P=a(8934),R=a(3230),D=a(9312),N=a(4725),q=a(6731),de=a(8055),fe=a(8969),G=a(8460),ue=a(844),be=a(6114),le=a(8437),De=a(2584),me=a(7399),V=a(5941),Y=a(9074),ie=a(2585),oe=a(5435),Te=a(4567),Le=a(779);class Ye extends fe.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(xe={}){super(xe),this.browser=be,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new ue.MutableDisposable),this._onCursorMove=this.register(new G.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new G.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new G.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new G.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new G.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new G.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new G.EventEmitter),this._onBlur=this.register(new G.EventEmitter),this._onA11yCharEmitter=this.register(new G.EventEmitter),this._onA11yTabEmitter=this.register(new G.EventEmitter),this._onWillOpen=this.register(new G.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(Y.DecorationService),this._instantiationService.setService(ie.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Le.LinkProviderService),this._instantiationService.setService(N.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((Q,Oe)=>this.refresh(Q,Oe))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(Q=>this._reportWindowsOptions(Q))),this.register(this._inputHandler.onColor(Q=>this._handleColorEvent(Q))),this.register((0,G.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,G.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,G.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,G.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(Q=>this._afterResize(Q.cols,Q.rows))),this.register((0,ue.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(xe){if(this._themeService)for(let Q of xe){let Oe,Ge="";switch(Q.index){case 256:Oe="foreground",Ge="10";break;case 257:Oe="background",Ge="11";break;case 258:Oe="cursor",Ge="12";brea Line truncated
`:`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(D){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),M.isLinux&&D&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(D){let N=this._getMouseBufferCoords(D),q=this._model.finalSelectionStart,de=this._model.finalSelectionEnd;return!!(q&&de&&N)&&this._areCoordsInSelection(N,q,de)}isCellInSelection(D,N){let q=this._model.finalSelectionStart,de=this._model.finalSelectionEnd;return!(!q||!de)&&this._areCoordsInSelection([D,N],q,de)}_areCoordsInSelection(D,N,q){return D[1]>N[1]&&D[1]<q[1]||N[1]===q[1]&&D[1]===N[1]&&D[0]>=N[0]&&D[0]<q[0]||N[1]<q[1]&&D[1]===q[1]&&D[0]<q[0]||N[1]<q[1]&&D[1]===N[1]&&D[0]>=N[0]}_selectWordAtCursor(D,N){let q=this._linkifier.currentLink?.link?.range;if(q)return this._model.selectionStart=[q.start.x-1,q.start.y-1],this._model.selectionStartLength=(0,w.getRangeLength)(q,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let de=this._getMouseBufferCoords(D);return!!de&&(this._selectWordAt(de,N),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(D,N){this._model.clearSelection(),D=Math.max(D,0),N=Math.min(N,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,D],this._model.selectionEnd=[this._bufferService.cols,N],this.refresh(),this._onSelectionChange.fire()}_handleTrim(D){this._model.handleTrim(D)&&this.refresh()}_getMouseBufferCoords(D){let N=this._mouseService.getCoords(D,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(N)return N[0]--,N[1]--,N[1]+=this._bufferService.buffer.ydisp,N}_getMouseEventScrollAmount(D){let N=(0,p.getCoordsRelativeToElement)(this._coreBrowserService.window,D,this._screenElement)[1],q=this._renderService.dimensions.css.canvas.height;return N>=0&&N<=q?0:(N>q&&(N-=q),N=Math.min(Math.max(N,-50),50),N/=50,N/Math.abs(N)+Math.round(14*N))}shouldForceSelection(D){return M.isMac?D.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:D.shiftKey}handleMouseDown(D){if(this._mouseDownTimeStamp=D.timeStamp,(D.button!==2||!this.hasSelection)&&D.button===0){if(!this._enabled){if(!this.shouldForceSelection(D))return;D.stopPropagation()}D.preventDefault(),this._dragScrollAmount=0,this._enabled&&D.shiftKey?this._handleIncrementalClick(D):D.detail===1?this._handleSingleClick(D):D.detail===2?this._handleDoubleClick(D):D.detail===3&&this._handleTripleClick(D),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(D){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(D))}_handleSingleClick(D){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(D)?3:0,this._model.selectionStart=this._getMouseBufferCoords(D),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let N=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);N&&N.length!==this._model.selectionStart[0]&&N.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(D){this._selectWordAtCursor(D,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(D){let N=this._getMouseBufferCoords(D);N&&(this._activeSelectionMode=2,this._selectLineAt(N[1]))}shouldColumnSelect(D){return D.altKey&&!(M.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(D){if(D.stopImmediatePropagation(),!this._model.selectionStart)return;let N=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(D),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToW Line truncated
`,p.VT="\v",p.FF="\f",p.CR="\r",p.SO="",p.SI="",p.DLE="",p.DC1="",p.DC2="",p.DC3="",p.DC4="",p.NAK="",p.SYN="",p.ETB="",p.CAN="",p.EM="",p.SUB="",p.ESC="\x1B",p.FS="",p.GS="",p.RS="",p.US="",p.SP=" ",p.DEL="\x7F"})(a||(r.C0=a={})),(function(p){p.PAD="\x80",p.HOP="\x81",p.BPH="\x82",p.NBH="\x83",p.IND="\x84",p.NEL="\x85",p.SSA="\x86",p.ESA="\x87",p.HTS="\x88",p.HTJ="\x89",p.VTS="\x8A",p.PLD="\x8B",p.PLU="\x8C",p.RI="\x8D",p.SS2="\x8E",p.SS3="\x8F",p.DCS="\x90",p.PU1="\x91",p.PU2="\x92",p.STS="\x93",p.CCH="\x94",p.MW="\x95",p.SPA="\x96",p.EPA="\x97",p.SOS="\x98",p.SGCI="\x99",p.SCI="\x9A",p.CSI="\x9B",p.ST="\x9C",p.OSC="\x9D",p.PM="\x9E",p.APC="\x9F"})(c||(r.C1=c={})),(function(p){p.ST=`${a.ESC}\\`})(m||(r.C1_ESCAPED=m={}))},7399:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let c=a(2584),m={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(p,h,g,S){let x={type:0,cancel:!1,key:void 0},v=(p.shiftKey?1:0)|(p.altKey?2:0)|(p.ctrlKey?4:0)|(p.metaKey?8:0);switch(p.keyCode){case 0:p.key==="UIKeyInputUpArrow"?x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A":p.key==="UIKeyInputLeftArrow"?x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D":p.key==="UIKeyInputRightArrow"?x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C":p.key==="UIKeyInputDownArrow"&&(x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:x.key=p.ctrlKey?"\b":c.C0.DEL,p.altKey&&(x.key=c.C0.ESC+x.key);break;case 9:if(p.shiftKey){x.key=c.C0.ESC+"[Z";break}x.key=c.C0.HT,x.cancel=!0;break;case 13:x.key=p.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,x.cancel=!0;break;case 27:x.key=c.C0.ESC,p.altKey&&(x.key=c.C0.ESC+c.C0.ESC),x.cancel=!0;break;case 37:if(p.metaKey)break;v?(x.key=c.C0.ESC+"[1;"+(v+1)+"D",x.key===c.C0.ESC+"[1;3D"&&(x.key=c.C0.ESC+(g?"b":"[1;5D"))):x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(p.metaKey)break;v?(x.key=c.C0.ESC+"[1;"+(v+1)+"C",x.key===c.C0.ESC+"[1;3C"&&(x.key=c.C0.ESC+(g?"f":"[1;5C"))):x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(p.metaKey)break;v?(x.key=c.C0.ESC+"[1;"+(v+1)+"A",g||x.key!==c.C0.ESC+"[1;3A"||(x.key=c.C0.ESC+"[1;5A")):x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(p.metaKey)break;v?(x.key=c.C0.ESC+"[1;"+(v+1)+"B",g||x.key!==c.C0.ESC+"[1;3B"||(x.key=c.C0.ESC+"[1;5B")):x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:p.shiftKey||p.ctrlKey||(x.key=c.C0.ESC+"[2~");break;case 46:x.key=v?c.C0.ESC+"[3;"+(v+1)+"~":c.C0.ESC+"[3~";break;case 36:x.key=v?c.C0.ESC+"[1;"+(v+1)+"H":h?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:x.key=v?c.C0.ESC+"[1;"+(v+1)+"F":h?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:p.shiftKey?x.type=2:p.ctrlKey?x.key=c.C0.ESC+"[5;"+(v+1)+"~":x.key=c.C0.ESC+"[5~";break;case 34:p.shiftKey?x.type=3:p.ctrlKey?x.key=c.C0.ESC+"[6;"+(v+1)+"~":x.key=c.C0.ESC+"[6~";break;case 112:x.key=v?c.C0.ESC+"[1;"+(v+1)+"P":c.C0.ESC+"OP";break;case 113:x.key=v?c.C0.ESC+"[1;"+(v+1)+"Q":c.C0.ESC+"OQ";break;case 114:x.key=v?c.C0.ESC+"[1;"+(v+1)+"R":c.C0.ESC+"OR";break;case 115:x.key=v?c.C0.ESC+"[1;"+(v+1)+"S":c.C0.ESC+"OS";break;case 116:x.key=v?c.C0.ESC+"[15;"+(v+1)+"~":c.C0.ESC+"[15~";break;case 117:x.key=v?c.C0.ESC+"[17;"+(v+1)+"~":c.C0.ESC+"[17~";break;case 118:x.key=v?c.C0.ESC+"[18;"+(v+1)+"~":c.C0.ESC+"[18~";break;case 119:x.key=v?c.C0.ESC+"[19;"+(v+1)+"~":c.C0.ESC+"[19~";break;case 120:x.key=v?c.C0.ESC+"[20;"+(v+1)+"~":c.C0.ESC+"[20~";break;case 121:x.key=v?c.C0.ESC+"[21;"+(v+1)+"~":c.C0.ESC+"[21~";break;case 122:x.key=v?c.C0.ESC+"[23;"+(v+1)+"~":c.C0.ESC+"[23~";break;case 123:x.key=v?c.C0.ESC+"[24;"+(v+1)+"~":c.C0.ESC+"[24~";break;default:if(!p.ctrlKey||p.shiftKey||p.altKey||p.metaKey)if(g&&!S||!p.altKey||p.metaKey)!g||p.altKey||p.ctrlKey||p.shiftKey||!p.metaKey?p.key&&!p.ctrlKey&&!p.altKey&&!p.metaKey&&p.keyCode>=48&&p.key.length===1?x.key=p.key:p.key&&p.ctrlKey&&(p.key==="_"&&(x.key=c.C0.US),p.key==="@"&&(x.key=c.C0.NUL)):p.keyCode===65&&(x.type=1);else{let M=m[p.keyCode],w=M?.[p.shiftKey?1:0];if(w)x.key=c.C0.ESC+w;else if(p.keyCode>=65&&p.keyCode<=90){let y=p.ctrlKey?p.keyCode-64:p.keyCode+32,k=String.fromCharCode(y);p.shiftKey&&(k=k.toUpperCase()),x.key=c.C0.ESC+k}else if(p.keyCode===32)x.key=c.C0.ESC+(p.ctrlKey?c.C0.NUL:" ");else if(p.key==="Dead"&&p.code.startsWith("Key")){let y=p.code.slice(3,4);p.shiftKey||(y=y.toLowerCase()),x.key=c.C0.ESC+y,x.cancel=!0}}else p.keyCode>=65&&p.keyCode<=90?x.key=String.fromCharCode(p.keyCode-64):p.keyCode===32?x.key=c.C0.NUL:p.keyCode>=51&&p.keyCode<=55?x.key=String.fromCharCode(p.keyCode-51+27):p.keyCode===56?x.key=c.C0.DEL:p.keyCode===219?x.key=c.C0.ESC:p.keyCode===220?x.key=c.C0.FS:p.keyCode===221&&(x.key=c.C0.GS)}return x}},482:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(a){returLine truncated
`,w)}paste(M){this._core.paste(M)}refresh(M,w){this._verifyIntegers(M,w),this._core.refresh(M,w)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(M){this._addonManager.loadAddon(this,M)}static get strings(){return r}_verifyIntegers(...M){for(let w of M)if(w===1/0||isNaN(w)||w%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...M){for(let w of M)if(w&&(w===1/0||isNaN(w)||w%1!=0||w<0))throw new Error("This API only accepts positive integers")}}o.Terminal=x})(),t})())});var uN=ws((lk,pN)=>{(function(n,i){typeof lk=="object"&&typeof pN=="object"?pN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof lk=="object"?lk.AttachAddon=i():n.AttachAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;function e(t,o,r){return t.addEventListener(o,r),{dispose:()=>{r&&t.removeEventListener(o,r)}}}Object.defineProperty(i,"__esModule",{value:!0}),i.AttachAddon=void 0,i.AttachAddon=class{constructor(t,o){this._disposables=[],this._socket=t,this._socket.binaryType="arraybuffer",this._bidirectional=!(o&&o.bidirectional===!1)}activate(t){this._disposables.push(e(this._socket,"message",o=>{let r=o.data;t.write(typeof r=="string"?r:new Uint8Array(r))})),this._bidirectional&&(this._disposables.push(t.onData(o=>this._sendData(o))),this._disposables.push(t.onBinary(o=>this._sendBinary(o)))),this._disposables.push(e(this._socket,"close",()=>this.dispose())),this._disposables.push(e(this._socket,"error",()=>this.dispose()))}dispose(){for(let t of this._disposables)t.dispose()}_sendData(t){this._checkOpenSocket()&&this._socket.send(t)}_sendBinary(t){if(!this._checkOpenSocket())return;let o=new Uint8Array(t.length);for(let r=0;r<t.length;++r)o[r]=255&t.charCodeAt(r);this._socket.send(o)}_checkOpenSocket(){switch(this._socket.readyState){case WebSocket.OPEN:return!0;case WebSocket.CONNECTING:throw new Error("Attach addon was loaded before socket was open");case WebSocket.CLOSING:return console.warn("Attach addon socket is closing"),!1;case WebSocket.CLOSED:throw new Error("Attach addon socket is closed");default:throw new Error("Unexpected socket state")}}}})(),n})())});var fN=ws((ck,hN)=>{(function(n,i){typeof ck=="object"&&typeof hN=="object"?hN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof ck=="object"?ck.FitAddon=i():n.FitAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;Object.defineProperty(i,"__esModule",{value:!0}),i.FitAddon=void 0,i.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core,t=e._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let o=this._terminal.options.scrollback===0?0:e.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),c=Math.max(0,parseInt(r.getPropertyValue("width"))),m=window.getComputedStyle(this._terminal.element),p=a-(parseInt(m.getPropertyValue("padding-top"))+parseInt(m.getPropertyValue("padding-bottom"))),h=c-(parseInt(m.getPropertyValue("padding-right"))+parseInt(m.getPropertyValue("padding-left")))-o;return{cols:Math.max(2,Math.floor(h/t.css.cell.width)),rows:Math.max(1,Math.floor(p/t.css.cell.height))}}}})(),n})())});var aR=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g"),$h=class n{element=null;classNames=[];attrs=[];notSelectors=[];static parse(i){let e=[],t=(m,p)=>{p.notSelectors.length>0&&!p.element&&p.classNames.length==0&&p.attrs.length==0&&(p.element="*"),m.push(p)},o=new n,r,a=o,c=!1;for(aR.lastIndex=0;r=aR.exec(i);){if(r[1]){if(c)throw new Error("Nesting :not in a selector is not allowed");c=!0,a=new n,o.notSelectors.push(a)}let m=r[2];if(m){let h=r[3];h==="#"?a.addAttribute("id",m.slice(1)):h==="."?a.addClassName(m.slice(1)):a.setElement(m)}let p=r[4];if(p&&a.addAttribute(a.unescapeAttribute(p),r[6]),r[7]&&(c=!1,a=o),r[8]){if(c)throw new Error("Multiple selectors in :not are not supported");t(e,o),o=a=new n}}return t(e,o),e}unescapeAttribute(i){let e="",t=!1;for(let o=0;o<i.length;o++){let r=i.charAt(o);if(r==="\\"){t=!0;continue}if(r==="$"&&!t)throw new Error(`Error in attribute selector "${i}". Unescaped "$" is not supported. Please escape with "\\$".`);t=!1,e+=r}return e}escapeAttribute(i){return i.replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}isElementSelector(){return this.hasElementSelector()&&this.classNames.length==0&&this.attrs.length==0&&this.notSelectors.length===0}hasElementSelector(){return!!this.element}setElement(i=null){this.element=i}getAttrs(){let i=[];return this.classNames. Line truncated
`;for(let e of n)i+=" *",i+=fR(e).replace(/\n/g,`
* `),i+=`
`;return i+=" ",i}var kG="_c",TG={},EG=50,cb=class n extends Li{resolved;original;shared=!1;constructor(i){super(i.type),this.resolved=i,this.original=i}visitExpression(i,e){return e===TG?this.original.visitExpression(i,e):this.resolved.visitExpression(i,e)}isEquivalent(i){return i instanceof n&&this.resolved.isEquivalent(i.resolved)}isConstant(){return!0}clone(){throw new Error("Not supported.")}fixup(i){this.resolved=i,this.shared=!0}},db=class{isClosureCompilerEnabled;statements=[];literals=new Map;literalFactories=new Map;sharedConstants=new Map;_claimedNames=new Map;nextNameIndex=0;constructor(i=!1){this.isClosureCompilerEnabled=i}getConstLiteral(i,e){if(i instanceof da&&!gR(i)||i instanceof cb)return i;let t=n0.INSTANCE.keyOf(i),o=this.literals.get(t),r=!1;if(o||(o=new cb(i),this.literals.set(t,o),r=!0),!r&&!o.shared||r&&e){let a=this.freshName(),c,m;this.isClosureCompilerEnabled&&gR(i)?(c=new vm([],[new wr(i)]),m=Zn(a).callFn([])):(c=i,m=Zn(a)),this.statements.push(new Fr(a,c,Ul,la.Final)),o.fixup(m)}return o}getSharedConstant(i,e){let t=i.keyOf(e);if(!this.sharedConstants.has(t)){let o=this.freshName();this.sharedConstants.set(t,Zn(o)),this.statements.push(i.toSharedConstantDeclaration(o,e))}return this.sharedConstants.get(t)}getSharedFunctionReference(i,e,t=!0){let o=i instanceof vu;for(let a of this.statements)if(o&&a instanceof Fr&&a.value?.isEquivalent(i)||!o&&a instanceof t0&&i instanceof vm&&i.isEquivalent(a))return Zn(a.name);let r=t?this.uniqueName(e):e;return this.statements.push(i instanceof vm?i.toDeclStmt(r,la.Final):new Fr(r,i,Ul,la.Final,i.sourceSpan)),Zn(r)}uniqueName(i,e=!0){let t=this._claimedNames.get(i)??0,o=t===0&&!e?`${i}`:`${i}${t}`;return this._claimedNames.set(i,t+1),o}freshName(){return this.uniqueName(kG)}},n0=class n{static INSTANCE=new n;keyOf(i){if(i instanceof da&&typeof i.value=="string")return`"${i.value}"`;if(i instanceof da)return String(i.value);if(i instanceof Uh)return`/${i.body}/${i.flags??""}`;if(i instanceof Tc){let e=[];for(let t of i.entries)e.push(this.keyOf(t));return`[${e.join(",")}]`}else if(i instanceof ql){let e=[];for(let t of i.entries)if(t instanceof Cm)e.push("..."+this.keyOf(t.expression));else{let o=t.key;t.quoted&&(o=`"${o}"`),e.push(o+":"+this.keyOf(t.value))}return`{${e.join(",")}}`}else{if(i instanceof ou)return`import("${i.value.moduleName}", ${i.value.name})`;if(i instanceof Gl)return`read(${i.name})`;if(i instanceof Hh)return`typeof(${this.keyOf(i.expr)})`;if(i instanceof au)return`...${this.keyOf(i.expression)}`;throw new Error(`${this.constructor.name} does not handle expressions of type ${i.constructor.name}`)}}};function gR(n){return n instanceof da&&typeof n.value=="string"&&n.value.length>=EG}var Ce="@angular/core",he=(()=>{class n{static core={name:null,moduleName:Ce};static namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:Ce};static namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:Ce};static namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:Ce};static element={name:"\u0275\u0275element",moduleName:Ce};static elementStart={name:"\u0275\u0275elementStart",moduleName:Ce};static elementEnd={name:"\u0275\u0275elementEnd",moduleName:Ce};static domElement={name:"\u0275\u0275domElement",moduleName:Ce};static domElementStart={name:"\u0275\u0275domElementStart",moduleName:Ce};static domElementEnd={name:"\u0275\u0275domElementEnd",moduleName:Ce};static domElementContainer={name:"\u0275\u0275domElementContainer",moduleName:Ce};static domElementContainerStart={name:"\u0275\u0275domElementContainerStart",moduleName:Ce};static domElementContainerEnd={name:"\u0275\u0275domElementContainerEnd",moduleName:Ce};static domTemplate={name:"\u0275\u0275domTemplate",moduleName:Ce};static domListener={name:"\u0275\u0275domListener",moduleName:Ce};static advance={name:"\u0275\u0275advance",moduleName:Ce};static syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:Ce};static syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:Ce};static attribute={name:"\u0275\u0275attribute",moduleName:Ce};static classProp={name:"\u0275\u0275classProp",moduleName:Ce};static elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:Ce};static elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:Ce};static elementContainer={name:"\u0275\u0275elementContainer",moduleName:Ce};static styleMap={name:"\u0275\u0275styleMap",moduleName:Ce};static classMap={name:"\u0275\u0275classMap",moduleName:Ce};static styleProp={name:"\u0275\u0275styleProp",moduleName:Ce};static interpolate={name:"\u0275\u0275interpolate",moduleName:Ce};static interpolate1={name:"\u0275\u0275interpolate1",moduleName:Ce};static interpolate2={name:"\u0275\u0275interpolate2",moduleName:Ce};static interpolate3={name:"\u0275\u0275interpolate3",moduleName:Ce};static interpolate4={name:"\u0275\u0275interpolate4",moduleName:Ce};static interpolate5={name:"\u0275\u0275interpolate5",moduleName:Ce};static interpola Line truncated
`);return t>=0?e.slice(0,t):e}var SE=class{full;major;minor;patch;constructor(i){this.full=i;let e=i.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}},j_=globalThis,NG=/^([1-9]|1[0-8])\./;function s6(n){return n.startsWith("0.")?!0:!NG.test(n)}var RG=3,FG="# sourceMappingURL=data:application/json;base64,",wE=class{file;sourcesContent=new Map;lines=[];lastCol0=0;hasMappings=!1;constructor(i=null){this.file=i}addSource(i,e=null){return this.sourcesContent.has(i)||this.sourcesContent.set(i,e),this}addLine(){return this.lines.push([]),this.lastCol0=0,this}addMapping(i,e,t,o){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(e!=null&&!this.sourcesContent.has(e))throw new Error(`Unknown source file "${e}"`);if(i==null)throw new Error("The column in the generated code must be provided");if(i<this.lastCol0)throw new Error("Mapping should be added in output order");if(e&&(t==null||o==null))throw new Error("The source location must be provided when a source url is provided");return this.hasMappings=!0,this.lastCol0=i,this.currentLine.push({col0:i,sourceUrl:e,sourceLine0:t,sourceCol0:o}),this}get currentLine(){return this.lines.slice(-1)[0]}toJSON(){if(!this.hasMappings)return null;let i=new Map,e=[],t=[];Array.from(this.sourcesContent.keys()).forEach((p,h)=>{i.set(p,h),e.push(p),t.push(this.sourcesContent.get(p)||null)});let o="",r=0,a=0,c=0,m=0;return this.lines.forEach(p=>{r=0,o+=p.map(h=>{let g=F1(h.col0-r);return r=h.col0,h.sourceUrl!=null&&(g+=F1(i.get(h.sourceUrl)-a),a=i.get(h.sourceUrl),g+=F1(h.sourceLine0-c),c=h.sourceLine0,g+=F1(h.sourceCol0-m),m=h.sourceCol0),g}).join(","),o+=";"}),o=o.slice(0,-1),{file:this.file||"",version:RG,sourceRoot:"",sources:e,sourcesContent:t,mappings:o}}toJsComment(){return this.hasMappings?"//"+FG+LG(JSON.stringify(this,null,0)):""}};function LG(n){let i="",e=OG(n);for(let t=0;t<e.length;){let o=e[t++],r=t<e.length?e[t++]:null,a=t<e.length?e[t++]:null;i+=F_(o>>2),i+=F_((o&3)<<4|(r===null?0:r>>4)),i+=r===null?"=":F_((r&15)<<2|(a===null?0:a>>6)),i+=r===null||a===null?"=":F_(a&63)}return i}function F1(n){n=n<0?(-n<<1)+1:n<<1;let i="";do{let e=n&31;n=n>>5,n>0&&(e=e|32),i+=F_(e)}while(n>0);return i}var BG="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F_(n){if(n<0||n>=64)throw new Error("Can only encode value in the range [0, 63]");return BG[n]}var VG=/'|\\|\n|\r|\$/g,zG=/^[$A-Z_][0-9A-Z_$]*$/i,ME=" ",mb=class{indent;partsLength=0;parts=[];srcSpans=[];constructor(i){this.indent=i}},jG=new Map([[lt.And,"&&"],[lt.Bigger,">"],[lt.BiggerEquals,">="],[lt.BitwiseOr,"|"],[lt.BitwiseAnd,"&"],[lt.Divide,"/"],[lt.Assign,"="],[lt.Equals,"=="],[lt.Identical,"==="],[lt.Lower,"<"],[lt.LowerEquals,"<="],[lt.Minus,"-"],[lt.Modulo,"%"],[lt.Exponentiation,"**"],[lt.Multiply,"*"],[lt.NotEquals,"!="],[lt.NotIdentical,"!=="],[lt.NullishCoalesce,"??"],[lt.Or,"||"],[lt.Plus,"+"],[lt.In,"in"],[lt.InstanceOf,"instanceof"],[lt.AdditionAssignment,"+="],[lt.SubtractionAssignment,"-="],[lt.MultiplicationAssignment,"*="],[lt.DivisionAssignment,"/="],[lt.RemainderAssignment,"%="],[lt.ExponentiationAssignment,"**="],[lt.AndAssignment,"&&="],[lt.OrAssignment,"||="],[lt.NullishCoalesceAssignment,"??="]]),kE=class n{_indent;static createRoot(){return new n(0)}_lines;constructor(i){this._indent=i,this._lines=[new mb(i)]}get _currentLine(){return this._lines[this._lines.length-1]}println(i,e=""){this.print(i||null,e,!0)}lineIsEmpty(){return this._currentLine.parts.length===0}lineLength(){return this._currentLine.indent*ME.length+this._currentLine.partsLength}print(i,e,t=!1){e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(i&&i.sourceSpan||null)),t&&this._lines.push(new mb(this._indent))}removeEmptyLastLine(){this.lineIsEmpty()&&this._lines.pop()}incIndent(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}decIndent(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}toSource(){return this.sourceLines.map(i=>i.parts.length>0?_R(i.indent)+i.parts.join(""):"").join(`
`)}toSourceMapGenerator(i,e=0){let t=new wE(i),o=!1,r=()=>{o||(t.addSource(i," ").addMapping(0,i,0,0),o=!0)};for(let a=0;a<e;a++)t.addLine(),r();return this.sourceLines.forEach((a,c)=>{t.addLine();let m=a.srcSpans,p=a.parts,h=a.indent*ME.length,g=0;for(;g<m.length&&!m[g];)h+=p[g].length,g++;for(g<m.length&&c===0&&h===0?o=!0:r();g<m.length;){let S=m[g],x=S.start.file,v=S.start.line,M=S.start.col;for(t.addSource(x.url,x.content).addMapping(h,x.url,v,M),h+=p[g].length,g++;g<m.length&&(S===m[g]||!m[g]);)h+=p[g].length,g++}}),t}spanOf(i,e){let t=this._lines[i];if(t){let o=e-_R(t.indent).length;for(let r=0;r<t.parts.length;r++){let a=t.parts[r];if(a.length>o)return t.srcSpans[r];o-=a.length}}return null}get sourceLines(){return this._lines.length&&this._lines[this._lines.length-1].parts.length===0?this._lines.slice(0,-1):this._lines}},TE=class{_escapeDollarInStrings;lastIfCondition=null;constructor(i){this._escapeDollarInStrings=i}printLeadingComments(i,e){if(i.leadingComments!==void 0)for(let t of i.leadingComments)t instanceof sb?e.print(i,`/*${t.toString()}*/`,t.trailingNewline):t.multiline?e.print(i,`/* ${t.text} */`,t.trailingNewline):t.text.split(`
`).forEach(o=>{e.println(i,`// ${o}`)})}visitExpressionStmt(i,e){return this.printLeadingComments(i,e),i.expr.visitExpression(this,e),e.println(i,";"),null}visitReturnStmt(i,e){return this.printLeadingComments(i,e),e.print(i,"return "),i.value.visitExpression(this,e),e.println(i,";"),null}visitIfStmt(i,e){this.printLeadingComments(i,e),e.print(i,"if ("),this.lastIfCondition=i.condition,i.condition.visitExpression(this,e),this.lastIfCondition=null,e.print(i,") {");let t=i.falseCase!=null&&i.falseCase.length>0;return i.trueCase.length<=1&&!t?(e.print(i," "),this.visitAllStatements(i.trueCase,e),e.removeEmptyLastLine(),e.print(i," ")):(e.println(),e.incIndent(),this.visitAllStatements(i.trueCase,e),e.decIndent(),t&&(e.println(i,"} else {"),e.incIndent(),this.visitAllStatements(i.falseCase,e),e.decIndent())),e.println(i,"}"),null}visitInvokeFunctionExpr(i,e){let t=i.fn instanceof vu;return t&&e.print(i.fn,"("),i.fn.visitExpression(this,e),t&&e.print(i.fn,")"),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitTaggedTemplateLiteralExpr(i,e){return i.tag.visitExpression(this,e),i.template.visitExpression(this,e),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){e.print(i,i.rawText)}visitWrappedNodeExpr(i,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")}visitTypeofExpr(i,e){e.print(i,"typeof "),i.expr.visitExpression(this,e)}visitVoidExpr(i,e){e.print(i,"void "),i.expr.visitExpression(this,e)}visitReadVarExpr(i,e){return e.print(i,i.name),null}visitInstantiateExpr(i,e){return e.print(i,"new "),i.classExpr.visitExpression(this,e),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitLiteralExpr(i,e){let t=i.value;return typeof t=="string"?e.print(i,Gp(t,this._escapeDollarInStrings)):e.print(i,`${t}`),null}visitRegularExpressionLiteral(i,e){return e.print(i,`/${i.body}/${i.flags||""}`),null}visitLocalizedString(i,e){let t=i.serializeI18nHead();e.print(i,"$localize `"+t.raw);for(let o=1;o<i.messageParts.length;o++)e.print(i,"${"),i.expressions[o-1].visitExpression(this,e),e.print(i,`}${i.serializeI18nTemplatePart(o).raw}`);return e.print(i,"`"),null}visitConditionalExpr(i,e){return e.print(i,"("),i.condition.visitExpression(this,e),e.print(i,"? "),i.trueCase.visitExpression(this,e),e.print(i,": "),i.falseCase.visitExpression(this,e),e.print(i,")"),null}visitDynamicImportExpr(i,e){e.print(i,`import(${i.url})`)}visitNotExpr(i,e){return e.print(i,"!"),i.condition.visitExpression(this,e),null}visitUnaryOperatorExpr(i,e){let t;switch(i.operator){case Y_.Plus:t="+";break;case Y_.Minus:t="-";break;default:throw new Error(`Unknown operator ${i.operator}`)}let o=i!==this.lastIfCondition;return o&&e.print(i,"("),e.print(i,t),i.expr.visitExpression(this,e),o&&e.print(i,")"),null}visitBinaryOperatorExpr(i,e){let t=jG.get(i.operator);if(!t)throw new Error(`Unknown operator ${i.operator}`);let o=i!==this.lastIfCondition;return o&&e.print(i,"("),i.lhs.visitExpression(this,e),e.print(i,` ${t} `),i.rhs.visitExpression(this,e),o&&e.print(i,")"),null}visitReadPropExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"."),e.print(i,i.name),null}visitReadKeyExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"["),i.index.visitExpression(this,e),e.print(i,"]"),null}visitLiteralArrayExpr(i,e){return e.print(i,"["),this.visitAllExpressions(i.entries,e,","),e.print(i,"]"),null}visitLiteralMapExpr(i,e){return e.print(i,"{"),this.visitAllObjects(t=>{t instanceof Cm?(e.print(i,"..."),t.expression.visitExpression(this,e)):(e.print(i,`${Gp(t.key,this._escapeDollarInStrings,t.quoted)}:`),t.value.visitExpression(this,e))},i.entries,e,","),e.print(i,"}"),null}visitCommaExpr(i,e){return e.print(i,"("),this.visitAllExpressions(i.parts,e,","),e.print(i,")"),null}visitParenthesizedExpr(i,e){i.expr.visitExpression(this,e)}visitSpreadElementExpr(i,e){e.print(i,"..."),i.expression.visitExpression(this,e)}visitAllExpressions(i,e,t){this.visitAllObjects(o=>o.visitExpression(this,e),i,e,t)}visitAllObjects(i,e,t,o){let r=!1;for(let a=0;a<e.length;a++)a>0&&(t.lineLength()>80?(t.print(null,o,!0),r||(t.incIndent(),t.incIndent(),r=!0)):t.print(null,o,!1)),i(e[a]);r&&(t.decIndent(),t.decIndent())}visitAllStatements(i,e){i.forEach(t=>t.visitStatement(this,e))}};function Gp(n,i,e=!0){if(n==null)return null;let t=n.replace(VG,(...r)=>r[0]=="$"?i?"\\$":"$":r[0]==`
`?"\\n":r[0]=="\r"?"\\r":`\\${r[0]}`);return e||!zG.test(t)?`'${t}'`:t}function _R(n){let i="";for(let e=0;e<n;e++)i+=ME;return i}function lx(n,i){if(i===0)return ca(n);let e=[];for(let t=0;t<i;t++)e.push(ls);return ca(n,void 0,e)}function $G(n,i){let e=Gp(i,!1,!1);return e!==i?`${n}[${e}]`:`${n}.${i}`}function HG(n){return UG("ngJitMode",n)}function UG(n,i){let e=new ou({name:n,moduleName:null}),t=new fi(lt.Identical,new Hh(e),Me("undefined")),o=new fi(lt.Or,t,e,void 0,void 0);return new fi(lt.And,o,i)}function Nr(n){let i=new ri(n);return{value:i,type:i}}function Wp(n,i){let e=Qi(n.map(t=>t.value));return i?Fs([],e):e}function KD(n,i){return{expression:n,forwardRef:i}}function GG({expression:n,forwardRef:i}){switch(i){case 0:case 1:return n;case 2:return WG(n)}}function WG(n){return Wt(he.forwardRef).callFn([Fs([],n)])}var pb=(function(n){return n[n.Class=0]="Class",n[n.Function=1]="Function",n})(pb||{});function $p(n){let i=Zn("__ngFactoryType__"),e=null,t=CR(n)?i:new fi(lt.Or,i,n.type.value),o=null;n.deps!==null?n.deps!=="invalid"&&(o=new Z_(t,vR(n.deps,n.target))):(e=Zn(`\u0275${n.name}_BaseFactory`),o=e.callFn([t]));let r=[],a=null;function c(p){let h=Zn("__ngConditionalFactory__");r.push(new Fr(h.name,Wh,Ul));let g=o!==null?h.set(o).toStmt():Wt(he.invalidFactory).callFn([]).toStmt();return r.push(sx(i,[g],[h.set(p).toStmt()])),h}if(CR(n)){let p=vR(n.delegateDeps,n.target),h=new(n.delegateType===pb.Class?Z_:cs)(n.delegate,p);a=c(h)}else KG(n)?a=c(n.expression):a=o;if(a===null)r.push(Wt(he.invalidFactory).callFn([]).toStmt());else if(e!==null){let p=Wt(he.getInheritedFactory).callFn([n.type.value]),h=new fi(lt.Or,e,e.set(p));r.push(new wr(h.callFn([t])))}else r.push(new wr(a));let m=bm([new Sr(i.name,ls)],r,Ul,void 0,`${n.name}_Factory`);return e!==null&&(m=Fs([],[new Fr(e.name),new wr(m)]).callFn([],void 0,!0)),{expression:m,statements:[],type:qG(n)}}function qG(n){let i=n.deps!==null&&n.deps!=="invalid"?XG(n.deps):Mc;return ca(Wt(he.FactoryDeclaration,[lx(n.type.type,n.typeArgumentCount),i]))}function vR(n,i){return n.map((e,t)=>QG(e,i,t))}function QG(n,i,e){if(n.token===null)return Wt(he.invalidFactoryDep).callFn([Me(e)]);if(n.attributeNameType===null){let t=0|(n.self?2:0)|(n.skipSelf?4:0)|(n.host?1:0)|(n.optional?8:0)|(i===Cd.Pipe?16:0),o=t!==0||n.optional?Me(t):null,r=[n.token];o&&r.push(o);let a=ZG(i);return Wt(a).callFn(r)}else return Wt(he.injectAttribute).callFn([n.token])}function XG(n){let i=!1,e=n.map(t=>{let o=YG(t);return o!==null?(i=!0,o):Me(null)});return i?ca(Qi(e)):Mc}function YG(n){let i=[];return n.attributeNameType!==null&&i.push({key:"attribute",value:n.attributeNameType,quoted:!1}),n.optional&&i.push({key:"optional",value:Me(!0),quoted:!1}),n.host&&i.push({key:"host",value:Me(!0),quoted:!1}),n.self&&i.push({key:"self",value:Me(!0),quoted:!1}),n.skipSelf&&i.push({key:"skipSelf",value:Me(!0),quoted:!1}),i.length>0?ml(i):null}function CR(n){return n.delegateType!==void 0}function KG(n){return n.expression!==void 0}function ZG(n){switch(n){case Cd.Component:case Cd.Directive:case Cd.Pipe:return he.directiveInject;case Cd.NgModule:case Cd.Injectable:default:return he.inject}}var lu=class{start;end;constructor(i,e){this.start=i,this.end=e}toAbsolute(i){return new As(i+this.start,i+this.end)}},ao=class{span;sourceSpan;constructor(i,e){this.span=i,this.sourceSpan=e}toString(){return"AST"}},i0=class extends ao{nameSpan;constructor(i,e,t){super(i,e),this.nameSpan=t}},xa=class extends ao{visit(i,e=null){return i.visitEmptyExpr?.(this,e)}},Ec=class extends ao{visit(i,e=null){return i.visitImplicitReceiver(this,e)}},o0=class extends ao{visit(i,e=null){return i.visitThisReceiver?.(this,e)}},qh=class extends ao{expressions;constructor(i,e,t){super(i,e),this.expressions=t}visit(i,e=null){return i.visitChain(this,e)}},ub=class extends ao{condition;trueExp;falseExp;constructor(i,e,t,o,r){super(i,e),this.condition=t,this.trueExp=o,this.falseExp=r}visit(i,e=null){return i.visitConditional(this,e)}},yc=class extends i0{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitPropertyRead(this,e)}},r0=class extends i0{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitSafePropertyRead(this,e)}},cu=class extends ao{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitKeyedRead(this,e)}},a0=class extends ao{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitSafeKeyedRead(this,e)}},X1=(function(n){return n[n.ReferencedByName=0]="ReferencedByName",n[n.ReferencedDirectly=1]="ReferencedDirectly",n})(X1||{}),hb=class extends i0{exp;name;args;type;constructor(i,e,t,o,r,a,c){super(i,e,c),this.exp=t,this.name=o,this.args=r,this.type=a}visit(i,e=null){return i.visitPipe(this,e)}},os=class extends ao{value;constructor(i,e,t){super(i,e),this.value=t}visit(i,e=null){return i.visitLiteralPrimitive(this,e)}},s0= Line truncated
${i.dtd}
]>`}},uFe=new tW;function nW(n){return n.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}var d6="i18n",$E="i18n-",iW="VAR_";function m6(n){return n===d6||n.startsWith($E)}function oW(n){return n.attrs.some(i=>m6(i.name))}function p6(n){return n.nodes[0]}function JD(n={},i){let e={};return n&&Object.keys(n).length&&Object.keys(n).forEach(t=>e[X0(t,i)]=n[t]),e}function X0(n,i=!0){let e=nW(n);if(!i)return e;let t=e.split("_");if(t.length===1)return n.toLowerCase();let o;/^\d+$/.test(t[t.length-1])&&(o=t.pop());let r=t.shift().toLowerCase();return t.length&&(r+=t.map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join("")),o?`${r}_${o}`:r}var rW=/[-.]/,eP="_t",Ls="ctx",cf="rf";function u6(n,i){let e=null;return()=>(e||(n(new Fr(eP,void 0,ls)),e=Zn(i)),e)}function Rh(n){return Array.isArray(n)?Qi(n.map(Rh)):Me(n,Ul)}function xR(n,i){let e=Object.getOwnPropertyNames(n);return e.length===0?null:ml(e.map(t=>{let o=n[t],r,a,c,m;if(typeof o=="string")r=t,c=t,a=o,m=Rh(a);else{c=t,r=o.classPropertyName,a=o.bindingPropertyName;let p=a!==r,h=o.transformFunction!==null,g=R_.None;if(o.isSignal&&(g|=R_.SignalBased),h&&(g|=R_.HasDecoratorInputTransform),i&&(p||h||g!==R_.None)){let S=[Me(g),Rh(a)];(p||h)&&(S.push(Rh(r)),h&&S.push(o.transformFunction)),m=Qi(S)}else m=Rh(a)}return{key:c,quoted:rW.test(c),value:m}}))}var wm=class{values=[];set(i,e){if(e){let t=this.values.find(o=>o.key===i);t?t.value=e:this.values.push({key:i,value:e,quoted:!1})}}toLiteralMap(){return ml(this.values)}};function aW(n){let i=n instanceof Dc?n.name:"ng-template",e=sW(n),t=new $h,o=Ql(i)[1];return t.setElement(o),Object.getOwnPropertyNames(e).forEach(r=>{let a=Ql(r)[1],c=e[r];t.addAttribute(a,c),r.toLowerCase()==="class"&&c.trim().split(/\s+/).forEach(p=>t.addClassName(p))}),t}function sW(n){let i={};return n instanceof Os&&n.tagName!=="ng-template"?n.templateAttrs.forEach(e=>i[e.name]=""):(n.attributes.forEach(e=>{m6(e.name)||(i[e.name]=e.value)}),n.inputs.forEach(e=>{(e.type===Mi.Property||e.type===Mi.TwoWay)&&(i[e.name]="")}),n.outputs.forEach(e=>{i[e.name]=""})),i}function yR(n,i){let e=null,t={name:n.name,type:n.type,typeArgumentCount:n.typeArgumentCount,deps:[],target:Cd.Injectable};if(n.useClass!==void 0){let c=n.useClass.expression.isEquivalent(n.type.value),m;n.deps!==void 0&&(m=n.deps),m!==void 0?e=$p(Qe(W({},t),{delegate:n.useClass.expression,delegateDeps:m,delegateType:pb.Class})):c?e=$p(t):e={statements:[],expression:SR(n.type.value,n.useClass.expression,i)}}else n.useFactory!==void 0?n.deps!==void 0?e=$p(Qe(W({},t),{delegate:n.useFactory,delegateDeps:n.deps||[],delegateType:pb.Function})):e={statements:[],expression:Fs([],n.useFactory.callFn([]))}:n.useValue!==void 0?e=$p(Qe(W({},t),{expression:n.useValue.expression})):n.useExisting!==void 0?e=$p(Qe(W({},t),{expression:Wt(he.inject).callFn([n.useExisting.expression])})):e={statements:[],expression:SR(n.type.value,n.type.value,i)};let o=n.type.value,r=new wm;return r.set("token",o),r.set("factory",e.expression),n.providedIn.expression.value!==null&&r.set("providedIn",GG(n.providedIn)),{expression:Wt(he.\u0275\u0275defineInjectable).callFn([r.toLiteralMap()],void 0,!0),type:lW(n),statements:e.statements}}function lW(n){return new dl(Wt(he.InjectableDeclaration,[lx(n.type.type,n.typeArgumentCount)]))}function SR(n,i,e){if(n.node===i.node)return i.prop("\u0275fac");if(!e)return wR(i);let t=Wt(he.resolveForwardRef).callFn([i]);return wR(t)}function wR(n){let i=new Sr("__ngFactoryType__",ls);return Fs([i],n.prop("\u0275fac").callFn([Zn(i.name)]))}var qr=0,cW=8,tP=9,Kp=10,h6=11,f6=12,nP=13,g6=32,HE=33,M0=34,_6=35,dx=36,dW=37,Db=38,k0=39,$a=40,yr=41,MR=42,v6=43,ya=44,Pb=45,zp=46,il=47,bc=58,rs=59,jh=60,Gr=61,Ps=62,kR=63,iP=48,mW=55,C6=57,Pm=65,pW=69,uW=70,hW=88,df=90,Sc=91,Zp=92,bd=93,fW=94,Im=95,pu=97,gW=98,_W=101,oP=102,b6=110,x6=114,y6=116,S6=117,w6=118,M6=120,Y0=122,al=123,TR=124,za=125,k6=160,kh=64,UE=96;function T0(n){return n>=tP&&n<=g6||n==k6}function ol(n){return iP<=n&&n<=C6}function Mm(n){return n>=pu&&n<=Y0||n>=Pm&&n<=df}function vW(n){return n>=pu&&n<=oP||n>=Pm&&n<=uW||ol(n)}function Ib(n){return n===Kp||n===nP}function ER(n){return iP<=n&&n<=mW}function H_(n){return n===k0||n===M0||n===UE}var E0=class n{file;offset;line;col;constructor(i,e,t,o){this.file=i,this.offset=e,this.line=t,this.col=o}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(i){let e=this.file.content,t=e.length,o=this.offset,r=this.line,a=this.col;for(;o>0&&i<0;)if(o--,i++,e.charCodeAt(o)==Kp){r--;let m=e.substring(0,o-1).lastIndexOf(String.fromCharCode(Kp));a=m>0?o-m:o}else a--;for(;o<t&&i>0;){let c=e.charCodeAt(o);o++,i--,c==Kp?(r++,a=0):a++}return new n(this.file,o,r,a)}getContext(i,e){let t=this.file.content,o=this.offset;if(o!=null){o>t.length-1&&(o=t.length-1);let r=o,a=0,c=0;for(;a<i&&o>0&&(o--,a++,!(t[o]==`
`&&++c==e)););for(a=0,c=0;a<i&&r<t.length-1&&(r++,a++,!(t[r]==`
`&&++c==e)););return{before:t.substring(o,this.offset),after:t.substring(this.offset,r+1)}}return null}},Ab=class{content;url;constructor(i,e){this.content=i,this.url=e}},_n=class{start;end;fullStart;details;constructor(i,e,t=i,o=null){this.start=i,this.end=e,this.fullStart=t,this.details=o}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}},gm=(function(n){return n[n.WARNING=0]="WARNING",n[n.ERROR=1]="ERROR",n})(gm||{}),rn=class extends Error{span;msg;level;relatedError;constructor(i,e,t=gm.ERROR,o){super(e),this.span=i,this.msg=e,this.level=t,this.relatedError=o,Object.setPrototypeOf(this,new.target.prototype)}contextualMessage(){let i=this.span.start.getContext(100,3);return i?`${this.msg} ("${i.before}[${gm[this.level]} ->]${i.after}")`:this.msg}toString(){let i=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${i}`}};function CW(n,i,e){let t=`in ${n} ${i} in ${e}`,o=new Ab("",t);return new _n(new E0(o,-1,-1,-1),new E0(o,-1,-1,-1))}var bW=0;function xW(n){if(!n||!n.reference)return null;let i=n.reference;if(i.__anonymousType)return i.__anonymousType;if(i.__forward_ref__)return"__forward_ref__";let e=a6(i);return e.indexOf("(")>=0?(e=`anonymous_${bW++}`,i.__anonymousType=e):e=Hp(e),e}function Hp(n){return n.replace(/\W/g,"_")}var DR='(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})',GE=class extends TE{constructor(){super(!1)}visitWrappedNodeExpr(i,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")}visitDeclareVarStmt(i,e){return e.print(i,`var ${i.name}`),i.value&&(e.print(i," = "),i.value.visitExpression(this,e)),e.println(i,";"),null}visitTaggedTemplateLiteralExpr(i,e){let t=i.template.elements;return i.tag.visitExpression(this,e),e.print(i,`(${DR}(`),e.print(i,`[${t.map(o=>Gp(o.text,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>Gp(o.rawText,!1)).join(", ")}])`),i.template.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){return e.print(i,i.rawText),null}visitFunctionExpr(i,e){return e.print(i,`function${i.name?" "+i.name:""}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.print(i,"}"),null}visitArrowFunctionExpr(i,e){if(e.print(i,"("),this._visitParams(i.params,e),e.print(i,") =>"),Array.isArray(i.body))e.println(i,"{"),e.incIndent(),this.visitAllStatements(i.body,e),e.decIndent(),e.print(i,"}");else{let t=i.body instanceof ql;t&&e.print(i,"("),i.body.visitExpression(this,e),t&&e.print(i,")")}return null}visitDeclareFunctionStmt(i,e){return e.print(i,`function ${i.name}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.println(i,"}"),null}visitLocalizedString(i,e){e.print(i,`$localize(${DR}(`);let t=[i.serializeI18nHead()];for(let o=1;o<i.messageParts.length;o++)t.push(i.serializeI18nTemplatePart(o));return e.print(i,`[${t.map(o=>Gp(o.cooked,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>Gp(o.raw,!1)).join(", ")}])`),i.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}_visitParams(i,e){this.visitAllObjects(t=>e.print(null,t.name),i,e,",")}},L1;function yW(){if(L1===void 0){let n=j_.trustedTypes;if(L1=null,n)try{L1=n.createPolicy("angular#unsafe-jit",{createScript:i=>i})}catch{}}return L1}function SW(n){return yW()?.createScript(n)||n}function PR(...n){if(!j_.trustedTypes)return new Function(...n);let i=n.slice(0,-1).join(","),e=n[n.length-1],t=`(function anonymous(${i}
) { ${e}
})`,o=j_.eval(SW(t));return o.bind===void 0?new Function(...n):(o.toString=()=>t,o.bind(j_))}var WE=class{evaluateStatements(i,e,t,o){let r=new qE(t),a=kE.createRoot();return e.length>0&&!wW(e[0])&&(e=[Me("use strict").toStmt(),...e]),r.visitAllStatements(e,a),r.createReturnStmt(a),this.evaluateCode(i,a,r.getArgs(),o)}evaluateCode(i,e,t,o){let r=`"use strict";${e.toSource()}
//# sourceURL=${i}`,a=[],c=[];for(let p in t)c.push(t[p]),a.push(p);if(o){let p=PR(...a.concat("return null;")).toString(),h=p.slice(0,p.indexOf("return null;")).split(`
`).length-1;r+=`
${e.toSourceMapGenerator(i,h).toJsComment()}`}let m=PR(...a.concat(r));return this.executeFunction(m,c)}executeFunction(i,e){return i(...e)}},qE=class extends GE{refResolver;_evalArgNames=[];_evalArgValues=[];_evalExportedVars=[];constructor(i){super(),this.refResolver=i}createReturnStmt(i){new wr(new ql(this._evalExportedVars.map(t=>new Gh(t,Zn(t),!1)))).visitStatement(this,i)}getArgs(){let i={};for(let e=0;e<this._evalArgNames.length;e++)i[this._evalArgNames[e]]=this._evalArgValues[e];return i}visitExternalExpr(i,e){return this._emitReferenceToExternal(i,this.refResolver.resolveExternalReference(i.value),e),null}visitWrappedNodeExpr(i,e){return this._emitReferenceToExternal(i,i.node,e),null}visitDeclareVarStmt(i,e){return i.hasModifier(la.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareVarStmt(i,e)}visitDeclareFunctionStmt(i,e){return i.hasModifier(la.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareFunctionStmt(i,e)}_emitReferenceToExternal(i,e,t){let o=this._evalArgValues.indexOf(e);if(o===-1){o=this._evalArgValues.length,this._evalArgValues.push(e);let r=xW({reference:e})||"val";this._evalArgNames.push(`jit_${r}_${o}`)}t.print(i,this._evalArgNames[o])}};function wW(n){return n.isEquivalent(Me("use strict").toStmt())}function IR(n){let i=new wm;n.providers!==null&&i.set("providers",n.providers),n.imports.length>0&&i.set("imports",Qi(n.imports));let e=Wt(he.defineInjector).callFn([i.toLiteralMap()],void 0,!0),t=MW(n);return{expression:e,type:t,statements:[]}}function MW(n){return new dl(Wt(he.InjectorDeclaration,[new dl(n.type.type)]))}var QE=class{context;constructor(i){this.context=i}resolveExternalReference(i){if(i.moduleName!=="@angular/core")throw new Error(`Cannot resolve external reference to ${i.moduleName}, only references to @angular/core are supported.`);if(!this.context.hasOwnProperty(i.name))throw new Error(`No value provided for @angular/core symbol '${i.name}'.`);return this.context[i.name]}},Ob=(function(n){return n[n.Inline=0]="Inline",n[n.SideEffect=1]="SideEffect",n[n.Omit=2]="Omit",n})(Ob||{}),_m=(function(n){return n[n.Global=0]="Global",n[n.Local=1]="Local",n})(_m||{});function kW(n){let i=[],e=new wm;if(e.set("type",n.type.value),n.kind===_m.Global&&n.bootstrap.length>0&&e.set("bootstrap",Wp(n.bootstrap,n.containsForwardDecls)),n.selectorScopeMode===Ob.Inline)n.declarations.length>0&&e.set("declarations",Wp(n.declarations,n.containsForwardDecls)),n.imports.length>0&&e.set("imports",Wp(n.imports,n.containsForwardDecls)),n.exports.length>0&&e.set("exports",Wp(n.exports,n.containsForwardDecls));else if(n.selectorScopeMode===Ob.SideEffect){let r=DW(n);r!==null&&i.push(r)}n.schemas!==null&&n.schemas.length>0&&e.set("schemas",Qi(n.schemas.map(r=>r.value))),n.id!==null&&(e.set("id",n.id),i.push(Wt(he.registerNgModuleType).callFn([n.type.value,n.id]).toStmt()));let t=Wt(he.defineNgModule).callFn([e.toLiteralMap()],void 0,!0),o=EW(n);return{expression:t,type:o,statements:i}}function TW(n){let i=new wm;return i.set("type",new ri(n.type)),n.bootstrap!==void 0&&i.set("bootstrap",new ri(n.bootstrap)),n.declarations!==void 0&&i.set("declarations",new ri(n.declarations)),n.imports!==void 0&&i.set("imports",new ri(n.imports)),n.exports!==void 0&&i.set("exports",new ri(n.exports)),n.schemas!==void 0&&i.set("schemas",new ri(n.schemas)),n.id!==void 0&&i.set("id",new ri(n.id)),Wt(he.defineNgModule).callFn([i.toLiteralMap()])}function EW(n){if(n.kind===_m.Local)return new dl(n.type.value);let{type:i,declarations:e,exports:t,imports:o,includeImportTypes:r,publicDeclarationTypes:a}=n;return new dl(Wt(he.NgModuleDeclaration,[new dl(i.type),a===null?KT(e):PW(a),r?KT(o):Mc,KT(t)]))}function DW(n){let i=new wm;if(n.kind===_m.Global?n.declarations.length>0&&i.set("declarations",Wp(n.declarations,n.containsForwardDecls)):n.declarationsExpression&&i.set("declarations",n.declarationsExpression),n.kind===_m.Global?n.imports.length>0&&i.set("imports",Wp(n.imports,n.containsForwardDecls)):n.importsExpression&&i.set("imports",n.importsExpression),n.kind===_m.Global?n.exports.length>0&&i.set("exports",Wp(n.exports,n.containsForwardDecls)):n.exportsExpression&&i.set("exports",n.exportsExpression),n.kind===_m.Local&&n.bootstrapExpression&&i.set("bootstrap",n.bootstrapExpression),Object.keys(i.values).length===0)return null;let e=new cs(Wt(he.setNgModuleScope),[n.type.value,i.toLiteralMap()]),t=HG(e),o=new vm([],[t.toStmt()]);return new cs(o,[]).toStmt()}function KT(n){let i=n.map(e=>q0(e.type));return n.length>0?ca(Qi(i)):Mc}function PW(n){let i=n.map(e=>q0(e));return n.length>0?ca(Qi(i)):Mc}function AR(n){let i=[];i.push({key:"name",value:Me(n.pipeName??n.name),quoted:!1}),i.push({key:"type",value:n.type.value,quoted:!1}),i.push({key:"pure",value:Me(n.pure),quoted:!1}),n.isStandalone===!1&&i.push({key:"standalone",value:Me(!1),quoted:!1});let e=Wt(he.definePipe).callFn([ml(i)],void 0,!0),t=IW(n);return{expression:e,type:t,statements:[]}}function IW(n){return new dl(Wt(he.PipeDeclarati Line truncated
`+o,i.trim()}_extractUnscopedRulesFromCssText(i){let e="",t;for(OR.lastIndex=0;(t=OR.exec(i))!==null;){let o=t[0].replace(t[2],"").replace(t[1],t[4]);e+=o+`
`}return e}_convertColonHost(i){return i.replace(zW,(e,t,o)=>{if(t){let r=[];for(let a of this._splitOnTopLevelCommas(t,!0)){let c=a.trim();if(!c)break;let m=um+c.replace(Nb,"")+o;r.push(m)}return r.join(",")}else return um+o})}*_splitOnTopLevelCommas(i,e){let t=i.length,o=0,r=0;for(let a=0;a<t;a++){let c=i.charCodeAt(a);if(c===$a)o++;else if(c===yr){if(o--,o<0&&e){yield i.slice(r,a);return}}else c===ya&&o===0&&(yield i.slice(r,a),r=a+1)}yield i.slice(r)}_convertColonHostContext(i){let e=[];for(let t of this._splitOnTopLevelCommas(i,!1))e.push(this._convertColonHostContextInSelectorPart(t));return e.join(",")}_convertColonHostContextInSelectorPart(i){return i.replace($W,(e,t)=>{let o=[[]],r=e.indexOf(Ah);for(;r!==-1;){let a=e.substring(r+Ah.length);if(!a||a[0]!=="("){e=a,r=e.indexOf(Ah);continue}let c=[],m=0;for(let h of this._splitOnTopLevelCommas(a.substring(1),!0)){m=m+h.length+1;let g=h.trim();g&&c.push(g)}let p=o.length;lq(o,c.length);for(let h=0;h<c.length;h++)for(let g=0;g<p;g++)o[g+h*p].push(c[h]);e=a.substring(m+1),r=e.indexOf(Ah)}return o.map(a=>sq(a,e,t)).join(", ")})}_convertShadowDOMSelectors(i){return UW.reduce((e,t)=>e.replace(t," "),i)}_scopeSelectors(i,e,t){return B1(i,o=>{let r=o.selector,a=o.content;return o.selector[0]!=="@"?r=this._scopeSelector({selector:r,scopeSelector:e,hostSelector:t,isParentSelector:!0}):OW.some(c=>o.selector.startsWith(c))?a=this._scopeSelectors(o.content,e,t):(o.selector.startsWith("@font-face")||o.selector.startsWith("@page"))&&(a=this._stripScopingSelectors(o.content)),new D0(r,a)})}_stripScopingSelectors(i){return B1(i,e=>{let t=e.selector.replace(NR," ").replace(ZT," ");return new D0(t,e.content)})}_safeSelector;_shouldScopeIndicator;_scopeSelector({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o=!1}){let r=/ ?,(?!(?:[^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\))) ?/;return i.split(r).map(a=>a.split(NR)).map(a=>{let[c,...m]=a;return[(h=>this._selectorNeedsScoping(h,e)?this._applySelectorScope({selector:h,scopeSelector:e,hostSelector:t,isParentSelector:o}):h)(c),...m].join(" ")}).join(", ")}_selectorNeedsScoping(i,e){return!this._makeScopeMatcher(e).test(i)}_makeScopeMatcher(i){let e=/\[/g,t=/\]/g;return i=i.replace(e,"\\[").replace(t,"\\]"),new RegExp("^("+i+")"+GW,"m")}_applySimpleSelectorScope(i,e,t){if(Fh.lastIndex=0,Fh.test(i)){let o=`[${t}]`,r=i;for(;r.match(ZT);)r=r.replace(ZT,(a,c)=>c.replace(/([^:\)]*)(:*)(.*)/,(m,p,h,g)=>p+o+h+g));return r.replace(Fh,o)}return e+" "+i}_applySelectorScope({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o}){let r=/\[is=([^\]]*)\]/g;e=e.replace(r,(M,...w)=>w[0]);let a=`[${e}]`,c=M=>{let w=M.trim();if(!w)return M;if(M.includes(um)){if(w=this._applySimpleSelectorScope(M,e,t),!M.match(HW)){let[y,k,I,P]=w.match(/([^:]*)(:*)([\s\S]*)/);w=k+a+I+P}}else{let y=M.replace(Fh,"");if(y.length>0){let k=y.match(/([^:]*)(:*)([\s\S]*)/);k&&(w=k[1]+a+k[2]+k[3])}}return w},m=M=>{let w="",y=[],k;for(;(k=T_.exec(M))!==null;){let I=1,P=T_.lastIndex;for(;P<M.length;){let R=M[P];if(P++,R==="("){I++;continue}if(R===")"){if(I--,I===0)break;continue}}y.push(`${k[0]}${M.slice(T_.lastIndex,P)}`),T_.lastIndex=P}return y.join("")===M?w=y.map(I=>{let[P]=I.match(T_)??[],R=I.slice(P?.length,-1);R.includes(um)&&(this._shouldScopeIndicator=!0);let D=this._scopeSelector({selector:R,scopeSelector:e,hostSelector:t});return`${P}${D})`}).join(""):(this._shouldScopeIndicator=this._shouldScopeIndicator||M.includes(um),w=this._shouldScopeIndicator?c(M):M),w};o&&(this._safeSelector=new YE(i),i=this._safeSelector.content());let p="",h=0,g,S=/( |>|\+|~(?!=))(?!([^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\)))\s*/g,x=i.includes(um);for((o||this._shouldScopeIndicator)&&(this._shouldScopeIndicator=!x);(g=S.exec(i))!==null;){let M=g[1],w=i.slice(h,g.index);if(w.match(/__esc-ph-(\d+)__/)&&i[g.index+1]?.match(/[a-fA-F\d]/))continue;let y=m(w);p+=`${y} ${M} `,h=S.lastIndex}let v=i.substring(h);return p+=m(v),this._safeSelector.restore(p)}_insertPolyfillHostInCssText(i){return i.replace(qW,Ah).replace(WW,Nb)}},YE=class{placeholders=[];index=0;_content;constructor(i){i=this._escapeRegexMatches(i,/(\[[^\]]*\])/g),i=i.replace(/(\\.)/g,(e,t)=>{let o=`__esc-ph-${this.index}__`;return this.placeholders.push(t),this.index++,o}),this._content=i.replace(VW,(e,t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(`(${o})`),this.index++,t+r})}restore(i){return i.replace(/__(?:ph|esc-ph)-(\d+)__/g,(e,t)=>this.placeholders[+t])}content(){return this._content}_escapeRegexMatches(i,e){return i.replace(e,(t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(o),this.index++,r})}},NW="(:(where|is)\\()?",T_=/:(where|is)\(/gi,RW=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,FW=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,OR=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Nb="-shadowcsshost",Ah="-shadowcsscontext",KE Line truncated
`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nbsp:"\xA0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226F",ngt:"\u226F",ngtr:"\u226F",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",nGtv:"\u226B\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224E\u0338",nbump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",nbumpe:"\u224F\u0338",NotLeftTriangle:"\u22EA",nltri:"\u22EA",ntriangleleft:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",nltrie:"\u22EC",ntrianglelefteq:"\u22EC",NotLess:"\u226E",nless:"\u226E",nlt:"\u226E",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226A\u0338",nLtv:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",npre:"\u2AAF\u0338",npreceq:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",nprcue:"\u22E0",NotReverseElement:"\u220C",notni:"\u220C",notniva:"\u220C",NotRightTriangle:"\u22EB",nrtri:"\u22EB",ntriangleright:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",nrtrie:"\u22ED",ntrianglerighteq:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",nsqsube:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",nsqsupe:"\u22E3",NotSubset:"\u2282\u20D2",nsubset:"\u2282\u20D2",vnsub:"\u2282\u20D2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",nsce:"\u2AB0\u0338",nsucceq:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",nsccue:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",nsupset:"\u2283\u20D2",vnsup:"\u2283\u20D2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",ohm:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",ldquo:"\u201C",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",oline:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",tbrk:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",part:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",plusmn:"\xB1",pm:"\xB1",Popf:"\u2119",primes:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",pr:"\u227A",prec:"\u227A",PrecedesEqual:"\u2AAF",pre:"\u2AAF",preceq:"\u2AAF",PrecedesSlantEqual:"\u227C",prcue:"\u227C",preccurlyeq:"\u227C",PrecedesTilde:"\u227E",precsim:"\u227E",prsim:"\u227E",Prime:"\u2033",Product:"\u220F",prod:"\u220F",Proportional:"\u221D",prop:"\u221D",propto:"\u221D",varpropto:"\u221D",vprop:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',quot:'"',Qfr:"\u{1D514}",Qopf:"\u211A",rationals:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xAE",circledR:"\xAE",reg:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",twoheadrightarrow:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",Rfr:"\u211C",real:"\u211C",realpart:"\u211C",ReverseElement:"\u220B",SuchThat:"\u220B",ni:"\u220B",niv:"\u220B",ReverseEquilibrium:"\u21CB",leftrightharpoons:"\u21CB",lrhar:"\u21CB",ReverseUpEquilibrium:"\u296F",duhar:"\u296F",Rho:"\u03A1",RightAngleBracket:"\u27E9",rang:"\u27E9",rangle:"\u27E9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21E5",rarrb:"\u21E5",RightArrowLeftArrow:"\u21C4",rightleftarrows:"\u21C4",rlarr:"\u21C4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27E7",robrk:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",dharr:"\u21C2",downharpoonright:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rfloor:"\u230B",RightTee:"\u22A2",vdash:"\u22A2",RightTeeArrow:"\u21A6",map:"\u21A6",mapsto:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",vartriangleright:"\u22B3",v Line truncated
`)}tokenize(){for(;this._cursor.peek()!==qr;){let i=this._cursor.clone();try{this._attemptCharCode(jh)?this._attemptCharCode(HE)?this._attemptCharCode(Sc)?this._consumeCdata(i):this._attemptCharCode(Pb)?this._consumeComment(i):this._consumeDocType(i):this._attemptCharCode(il)?this._consumeTagClose(i):this._consumeTagOpen(i):this._tokenizeLet&&this._cursor.peek()===kh&&!this._inInterpolation&&this._isLetStart()?this._consumeLetDeclaration(i):this._tokenizeBlocks&&this._isBlockStart()?this._consumeBlockStart(i):this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansionCase()&&!this._isInExpansionForm()&&this._attemptCharCode(za)?this._consumeBlockEnd(i):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,()=>this._isTextEnd(),()=>this._isTagStart())}catch(e){this.handleError(e)}}this._beginToken(41),this._endToken([])}_getBlockName(){let i=!1,e=this._cursor.clone();return this._attemptCharCodeUntilFn(t=>T0(t)?!i:oX(t)?(i=!0,!1):!0),this._cursor.getChars(e).trim()}_consumeBlockStart(i){this._requireCharCode(kh),this._beginToken(24,i);let e=this._endToken([this._getBlockName()]);if(e.parts[0]==="default never"&&this._attemptCharCode(rs)){this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([]);return}if(this._cursor.peek()===$a)if(this._cursor.advance(),this._consumeBlockParameters(),this._attemptCharCodeUntilFn(Bo),this._attemptCharCode(yr))this._attemptCharCodeUntilFn(Bo);else{e.type=28;return}this._attemptCharCode(al)?(this._beginToken(25),this._endToken([])):this._isBlockStart()&&(e.parts[0]==="case"||e.parts[0]==="default")?(this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([])):e.type=28}_consumeBlockEnd(i){this._beginToken(26,i),this._endToken([])}_consumeBlockParameters(){for(this._attemptCharCodeUntilFn(ZR);this._cursor.peek()!==yr&&this._cursor.peek()!==qr;){this._beginToken(27);let i=this._cursor.clone(),e=null,t=0;for(;this._cursor.peek()!==rs&&this._cursor.peek()!==qr||e!==null;){let o=this._cursor.peek();if(o===Zp)this._cursor.advance();else if(o===e)e=null;else if(e===null&&H_(o))e=o;else if(o===$a&&e===null)t++;else if(o===yr&&e===null){if(t===0)break;t>0&&t--}this._cursor.advance()}this._endToken([this._cursor.getChars(i)]),this._attemptCharCodeUntilFn(ZR)}}_consumeLetDeclaration(i){if(this._requireStr("@let"),this._beginToken(29,i),T0(this._cursor.peek()))this._attemptCharCodeUntilFn(Bo);else{let o=this._endToken([this._cursor.getChars(i)]);o.type=32;return}let e=this._endToken([this._getLetDeclarationName()]);if(this._attemptCharCodeUntilFn(Bo),!this._attemptCharCode(Gr)){e.type=32;return}this._attemptCharCodeUntilFn(o=>Bo(o)&&!Ib(o)),this._consumeLetDeclarationValue(),this._cursor.peek()===rs?(this._beginToken(31),this._endToken([]),this._cursor.advance()):(e.type=32,e.sourceSpan=this._cursor.getSpan(i))}_getLetDeclarationName(){let i=this._cursor.clone(),e=!1;return this._attemptCharCodeUntilFn(t=>Mm(t)||t===dx||t===Im||e&&ol(t)?(e=!0,!1):!0),this._cursor.getChars(i).trim()}_consumeLetDeclarationValue(){let i=this._cursor.clone();for(this._beginToken(30,i);this._cursor.peek()!==qr;){let e=this._cursor.peek();if(e===rs)break;H_(e)&&(this._cursor.advance(),this._attemptCharCodeUntilFn(t=>t===Zp?(this._cursor.advance(),!1):t===e)),this._cursor.advance()}this._endToken([this._cursor.getChars(i)])}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(nX(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===za){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(i,e=this._cursor.clone()){this._currentTokenStart=e,this._currentTokenType=i}_endToken(i,e){if(this._currentTokenStart===null)throw new rn(this._cursor.getSpan(e),"Programming error - attempted to end a token when there was no start to the token");if(this._currentTokenType===null)throw new rn(this._cursor.getSpan(this._currentTokenStart),"Programming error - attempted to end a token which has no token type");let t={type:this._currentTokenType,parts:i,sourceSpan:(e??this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(t),this._currentTokenStart=null,this._currentTokenType=null,t}_createError(i,e){this._isInExpansionForm()&&(i+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let t=new rn(e,i);return this._currentTokenStart=null,this._currentTokenType=null,t}handleError(i){if(i instanceof j0&&(i=this._createError(i.msg,this._cursor.getSpan(i.cursor))),i instanceof rn)this.errors.push(i);else throw i}_attemptCharCode(i){return this._cursor.peek()===i?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(i){return iX(this._cursor.peek(),i)?(this._cursor.advance(),!0):!1}_requireCharCode(i){let e=this._cursor.clone();if(!this._attemptCharCode(i Line truncated
`){let r=this._getContainer();r!=null&&r.children.length===0&&this._getTagDefinition(r)?.ignoreFirstLf&&(o=o.substring(1),e[0]={type:i.type,sourceSpan:i.sourceSpan,parts:[o]})}for(;this._peek.type===8||this._peek.type===5||this._peek.type===9;)i=this._advance(),e.push(i),i.type===8?o+=i.parts.join("").replace(/&([^;]+);/g,nF):i.type===9?o+=i.parts[0]:o+=i.parts.join("");if(o.length>0){let r=i.sourceSpan;this._addToParent(new _u(o,new _n(t.start,r.end,t.fullStart,t.details),e))}}_closeVoidElement(){let i=this._getContainer();i!==null&&this._getTagDefinition(i)?.isVoid&&this._containerStack.pop()}_consumeElementStartTag(i){let e=[],t=[];this._consumeAttributesAndDirectives(e,t);let o=this._getElementFullName(i,this._getClosestElementLikeParent()),r=this._getTagDefinition(o),a=!1;this._peek.type===2?(this._advance(),a=!0,r?.canSelfClose||AE(o)!==null||r?.isVoid||this.errors.push(ur.create(o,i.sourceSpan,`Only void, custom and foreign elements can be self closed "${i.parts[1]}"`))):this._peek.type===1&&(this._advance(),a=!1);let c=this._peek.sourceSpan.fullStart,m=new _n(i.sourceSpan.start,c,i.sourceSpan.fullStart),p=new _n(i.sourceSpan.start,c,i.sourceSpan.fullStart),h=new nl(o,e,t,[],a,m,p,void 0,r?.isVoid??!1),g=this._getContainer(),S=g!==null&&!!this._getTagDefinition(g)?.isClosedByChild(h.name);this._pushContainer(h,S),a?this._popContainer(o,nl,m):i.type===4&&(this._popContainer(o,nl,null),this.errors.push(ur.create(o,m,`Opening tag "${o}" not terminated.`)))}_consumeComponentStartTag(i){let e=i.parts[0],t=[],o=[];this._consumeAttributesAndDirectives(t,o);let r=this._getClosestElementLikeParent(),a=this._getComponentTagName(i,r),c=this._getComponentFullName(i,r),m=this._peek.type===35;this._advance();let p=this._peek.sourceSpan.fullStart,h=new _n(i.sourceSpan.start,p,i.sourceSpan.fullStart),g=new _n(i.sourceSpan.start,p,i.sourceSpan.fullStart),S=new Va(e,a,c,t,o,[],m,h,g,void 0),x=this._getContainer(),v=x!==null&&S.tagName!==null&&!!this._getTagDefinition(x)?.isClosedByChild(S.tagName);this._pushContainer(S,v),m?this._popContainer(c,Va,h):i.type===37&&(this._popContainer(c,Va,null),this.errors.push(ur.create(c,h,`Opening tag "${c}" not terminated.`)))}_consumeAttributesAndDirectives(i,e){for(;this._peek.type===14||this._peek.type===38;)this._peek.type===38?e.push(this._consumeDirective(this._peek)):i.push(this._consumeAttr(this._advance()))}_consumeComponentEndTag(i){let e=this._getComponentFullName(i,this._getClosestElementLikeParent());if(!this._popContainer(e,Va,i.sourceSpan)){let t=this._containerStack[this._containerStack.length-1],o;t instanceof Va&&t.componentName===i.parts[0]?o=`, did you mean "${t.fullName}"?`:o=". It may happen when the tag has already been closed by another tag.";let r=`Unexpected closing tag "${e}"${o}`;this.errors.push(ur.create(e,i.sourceSpan,r))}}_getTagDefinition(i){return typeof i=="string"?this.tagDefinitionResolver(i):i instanceof nl?this.tagDefinitionResolver(i.name):i instanceof Va&&i.tagName!==null?this.tagDefinitionResolver(i.tagName):null}_pushContainer(i,e){e&&this._containerStack.pop(),this._addToParent(i),this._containerStack.push(i)}_consumeElementEndTag(i){let e=this._getElementFullName(i,this._getClosestElementLikeParent());if(this._getTagDefinition(e)?.isVoid)this.errors.push(ur.create(e,i.sourceSpan,`Void elements do not have end tags "${i.parts[1]}"`));else if(!this._popContainer(e,nl,i.sourceSpan)){let t=`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this.errors.push(ur.create(e,i.sourceSpan,t))}}_popContainer(i,e,t){let o=!1;for(let r=this._containerStack.length-1;r>=0;r--){let a=this._containerStack[r];if(((a instanceof Va?a.fullName:a.name)===i||i===null)&&a instanceof e)return a.endSourceSpan=t,a.sourceSpan.end=t!==null?t.end:a.sourceSpan.end,this._containerStack.splice(r,this._containerStack.length-r),!o;(a instanceof rl||!this._getTagDefinition(a)?.closedByParent)&&(o=!0)}return!1}_consumeAttr(i){let e=Y1(i.parts[0],i.parts[1]),t=i.sourceSpan.end;this._peek.type===15&&this._advance();let o="",r=[],a,c;if(this._peek.type===16)for(a=this._peek.sourceSpan,c=this._peek.sourceSpan.end;this._peek.type===16||this._peek.type===17||this._peek.type===9;){let h=this._advance();r.push(h),h.type===17?o+=h.parts.join("").replace(/&([^;]+);/g,nF):h.type===9?o+=h.parts[0]:o+=h.parts.join(""),c=t=h.sourceSpan.end}this._peek.type===15&&(t=this._advance().sourceSpan.end);let p=a&&c&&new _n(a.start,c,a.fullStart);return new sD(e,o,new _n(i.sourceSpan.start,t,i.sourceSpan.fullStart),i.sourceSpan,p,r.length>0?r:void 0,void 0)}_consumeDirective(i){let e=[],t=i.sourceSpan.end,o=null;if(this._advance(),this._peek.type===39){for(t=this._peek.sourceSpan.end,this._advance();this._peek.type===14;)e.push(this._consumeAttr(this._advance()));this._peek.type===40?(o=this._peek.sourceSpan,this._advance()):this.errors.push(ur.creat Line truncated
\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,sX=new RegExp(`[^${X6}]`),lX=new RegExp(`[${X6}]{2,}`,"g");function oF(n){return n.some(i=>i.name===Q6)}function Y6(n){return n.replace(new RegExp(q6,"g")," ")}var Yb=class{preserveSignificantWhitespace;originalNodeMap;requireContext;icuExpansionDepth=0;constructor(i,e,t=!0){this.preserveSignificantWhitespace=i,this.originalNodeMap=e,this.requireContext=t}visitElement(i,e){if(iF.has(i.name)||oF(i.attrs)){let o=new nl(i.name,gc(this,i.attrs),gc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new nl(i.name,i.attrs,i.directives,gc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(t,i),t}visitAttribute(i,e){return i.name!==Q6?i:null}visitText(i,e){let t=i.value.match(sX),o=e&&(e.prev instanceof Jp||e.next instanceof Jp);if(this.icuExpansionDepth>0&&this.preserveSignificantWhitespace)return i;if(t||o){let a=i.tokens.map(h=>h.type===5?pX(h):h);if(!this.preserveSignificantWhitespace&&a.length>0){let h=a[0];a.splice(0,1,cX(h,e));let g=a[a.length-1];a.splice(a.length-1,1,dX(g,e))}let c=Z6(i.value),m=this.preserveSignificantWhitespace?c:mX(c,e),p=new _u(m,i.sourceSpan,a,i.i18n);return this.originalNodeMap?.set(p,i),p}return null}visitComment(i,e){return i}visitExpansion(i,e){this.icuExpansionDepth++;let t;try{t=new Jp(i.switchValue,i.type,gc(this,i.cases),i.sourceSpan,i.switchValueSourceSpan,i.i18n)}finally{this.icuExpansionDepth--}return this.originalNodeMap?.set(t,i),t}visitExpansionCase(i,e){let t=new Gb(i.value,gc(this,i.expression),i.sourceSpan,i.valueSourceSpan,i.expSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlock(i,e){let t=new rl(i.name,i.parameters,gc(this,i.children),i.sourceSpan,i.nameSpan,i.startSourceSpan,i.endSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitComponent(i,e){if(i.tagName&&iF.has(i.tagName)||oF(i.attrs)){let o=new Va(i.componentName,i.tagName,i.fullName,gc(this,i.attrs),gc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new Va(i.componentName,i.tagName,i.fullName,i.attrs,i.directives,gc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(t,i),t}visitDirective(i,e){return i}visit(i,e){if(this.requireContext&&!e)throw new Error("WhitespaceVisitor requires context. Visit via `visitAllWithSiblings` to get this context.");return!1}};function cX(n,i){return n.type!==5||!!i?.prev?n:K6(n,t=>t.trimStart())}function dX(n,i){return n.type!==5||!!i?.next?n:K6(n,t=>t.trimEnd())}function mX(n,i){let e=!i?.prev,t=!i?.next,o=e?n.trimStart():n;return t?o.trimEnd():o}function pX({type:n,parts:i,sourceSpan:e}){return{type:n,parts:[Z6(i[0])],sourceSpan:e}}function K6({type:n,parts:i,sourceSpan:e},t){return{type:n,parts:[t(i[0])],sourceSpan:e}}function Z6(n){return Y6(n).replace(lX," ")}function gc(n,i){let e=[];return i.forEach((t,o)=>{let r={prev:i[o-1],next:i[o+1]},a=t.visit(n,r);a&&e.push(a)}),e}var un=(function(n){return n[n.Character=0]="Character",n[n.Identifier=1]="Identifier",n[n.PrivateIdentifier=2]="PrivateIdentifier",n[n.Keyword=3]="Keyword",n[n.String=4]="String",n[n.Operator=5]="Operator",n[n.Number=6]="Number",n[n.RegExpBody=7]="RegExpBody",n[n.RegExpFlags=8]="RegExpFlags",n[n.Error=9]="Error",n})(un||{}),eu=(function(n){return n[n.Plain=0]="Plain",n[n.TemplateLiteralPart=1]="TemplateLiteralPart",n[n.TemplateLiteralEnd=2]="TemplateLiteralEnd",n})(eu||{}),uX=["var","let","as","null","undefined","true","false","if","else","this","typeof","void","in","instanceof"],$0=class{tokenize(i){return new hD(i).scan()}},Vs=class{index;end;type;numValue;strValue;constructor(i,e,t,o,r){this.index=i,this.end=e,this.type=t,this.numValue=o,this.strValue=r}isCharacter(i){return this.type===un.Character&&this.numValue===i}isNumber(){return this.type===un.Number}isString(){return this.type===un.String}isOperator(i){return this.type===un.Operator&&this.strValue===i}isIdentifier(){return this.type===un.Identifier}isPrivateIdentifier(){return this.type===un.PrivateIdentifier}isKeyword(){return this.type===un.Keyword}isKeywordLet(){return this.type===un.Keyword&&this.strValue==="let"}isKeywordAs(){return this.type===un.Keyword&&this.strValue==="as"}isKeywordNull(){return this.type===un.Keyword&&this.strValue==="null"}isKeywordUndefined(){return this.type===un.Keyword&&this.strValue==="undefined"}isKeywordTrue(){return this.type===un.Keyword&&this.strValue==="true"}isKeywordFalse(){return this.type===un.Keyword&&this.strValue==="false"}isKeywordThis(){return this.type===un.Keyword&&this.strValue==="this"}isKeywordTypeof(){return this.type===un.Keyword&&this.strValue==="typeof"}isKeywordVoid(){return this.type===un.Ke Line truncated
If '${i}' is a directive input, make sure the directive is imported by the current module.`}:{error:!1}}validateAttribute(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event attribute '${i}' is disallowed for security reasons, please use (${i.slice(2)})=...`}:{error:!1}}allKnownElementNames(){return Array.from(this._schema.keys())}allKnownAttributesOfElement(i){let e=this._schema.get(i.toLowerCase())||this._schema.get("unknown");return Array.from(e.keys()).map(t=>NX.get(t)??t)}allKnownEventsOfElement(i){return Array.from(this._eventSchema.get(i.toLowerCase())??[])}normalizeAnimationStyleProperty(i){return PG(i)}normalizeAnimationStyleValue(i,e,t){let o="",r=t.toString().trim(),a=null;if(RX(i)&&t!==0&&t!=="0")if(typeof t=="number")o="px";else{let c=t.match(/^[+-]?[\d\.]+([a-z]*)$/);c&&c[1].length==0&&(a=`Please provide a CSS unit value for ${e}:${t}`)}return{error:a,value:r+o}}};function RX(n){switch(n){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}var Kn=class{closedByChildren={};contentType;closedByParent=!1;implicitNamespacePrefix;isVoid;ignoreFirstLf;canSelfClose;preventNamespaceInheritance;constructor({closedByChildren:i,implicitNamespacePrefix:e,contentType:t=Cc.PARSABLE_DATA,closedByParent:o=!1,isVoid:r=!1,ignoreFirstLf:a=!1,preventNamespaceInheritance:c=!1,canSelfClose:m=!1}={}){i&&i.length>0&&i.forEach(p=>this.closedByChildren[p]=!0),this.isVoid=r,this.closedByParent=o||r,this.implicitNamespacePrefix=e||null,this.contentType=t,this.ignoreFirstLf=a,this.preventNamespaceInheritance=c,this.canSelfClose=m??r}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}getContentType(i){return typeof this.contentType=="object"?(i===void 0?void 0:this.contentType[i])??this.contentType.default:this.contentType}},cF,Ph;function bD(n){return Ph||(cF=new Kn({canSelfClose:!0}),Ph=Object.assign(Object.create(null),{base:new Kn({isVoid:!0}),meta:new Kn({isVoid:!0}),area:new Kn({isVoid:!0}),embed:new Kn({isVoid:!0}),link:new Kn({isVoid:!0}),img:new Kn({isVoid:!0}),input:new Kn({isVoid:!0}),param:new Kn({isVoid:!0}),hr:new Kn({isVoid:!0}),br:new Kn({isVoid:!0}),source:new Kn({isVoid:!0}),track:new Kn({isVoid:!0}),wbr:new Kn({isVoid:!0}),p:new Kn({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Kn({closedByChildren:["tbody","tfoot"]}),tbody:new Kn({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Kn({closedByChildren:["tbody"],closedByParent:!0}),tr:new Kn({closedByChildren:["tr"],closedByParent:!0}),td:new Kn({closedByChildren:["td","th"],closedByParent:!0}),th:new Kn({closedByChildren:["td","th"],closedByParent:!0}),col:new Kn({isVoid:!0}),svg:new Kn({implicitNamespacePrefix:"svg"}),foreignObject:new Kn({implicitNamespacePrefix:"svg",preventNamespaceInheritance:!0}),math:new Kn({implicitNamespacePrefix:"math"}),li:new Kn({closedByChildren:["li"],closedByParent:!0}),dt:new Kn({closedByChildren:["dt","dd"]}),dd:new Kn({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Kn({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Kn({closedByChildren:["optgroup"],closedByParent:!0}),option:new Kn({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Kn({ignoreFirstLf:!0}),listing:new Kn({ignoreFirstLf:!0}),style:new Kn({contentType:Cc.RAW_TEXT}),script:new Kn({contentType:Cc.RAW_TEXT}),title:new Kn({contentType:{default:Cc.ESCAPABLE_RAW_TEXT,svg:Cc.PARSABLE_DATA}}),textarea:new Kn({contentType:Cc.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),new sf().allKnownElementNames().forEach(i=>{!Ph[i]&&AE(i)===null&&(Ph[i]=new Kn({canSelfClose:!1}))})),Ph[n]??Ph[n.toLowerCase()]??cF}var dF={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT" Line truncated
The number of i18n message children changed between first and second pass.
First pass (${n.length} tokens):
${n.map(e=>`"${e.sourceSpan.toString()}"`).join(`
`)}
Second pass (${i.length} tokens):
${i.map(e=>`"${e.sourceSpan.toString()}"`).join(`
`)}
`.trim());if(n.some((e,t)=>i[t].constructor!==e.constructor))throw new Error("The types of the i18n message children changed between first and second pass.")}var $X=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;function HX(n){return n.split($X)[2]}var mF=new Set(["iframe|srcdoc","*|innerhtml","*|outerhtml","embed|src","iframe|src","object|codebase","object|data"]);function pF(n,i){return n=n.toLowerCase(),i=i.toLowerCase(),mF.has(n+"|"+i)||mF.has("*|"+i)}var UX=n=>(i,e)=>{let t=n.get(i)??i;return t instanceof Md&&(e instanceof ef&&t.i18n instanceof Ua&&(e.previousMessage=t.i18n),t.i18n=e),e},Zb=class{keepI18nAttrs;enableI18nLegacyMessageIdFormat;preserveSignificantWhitespace;retainEmptyTokens;hasI18nMeta=!1;_errors=[];constructor(i=!1,e=!1,t=!0,o=!t){this.keepI18nAttrs=i,this.enableI18nLegacyMessageIdFormat=e,this.preserveSignificantWhitespace=t,this.retainEmptyTokens=o}_generateI18nMessage(i,e="",t){let{meaning:o,description:r,customId:a}=this._parseMetadata(e),m=LX(this.retainEmptyTokens,this.preserveSignificantWhitespace)(i,o,r,a,t);return this._setMessageId(m,e),this._setLegacyIds(m,e),m}visitAllWithErrors(i){let e=i.map(t=>t.visit(this,null));return new Xb(e,this._errors)}visitElement(i){return this._visitElementLike(i),i}visitComponent(i,e){return this._visitElementLike(i),i}visitExpansion(i,e){let t,o=i.i18n;if(this.hasI18nMeta=!0,o instanceof ef){let r=o.name;t=this._generateI18nMessage([i],o);let a=p6(t);a.name=r,e!==null&&(e.placeholderToMessage[r]=t)}else t=this._generateI18nMessage([i],e||o);return i.i18n=t,i}visitText(i){return i}visitAttribute(i){return i}visitComment(i){return i}visitExpansionCase(i){return i}visitBlock(i,e){return So(this,i.children,e),i}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitDirective(i,e){return i}_visitElementLike(i){let e;if(oW(i)){this.hasI18nMeta=!0;let t=[],o={};for(let r of i.attrs)if(r.name===d6){let a=i.i18n||r.value,c=new Map,m=this.preserveSignificantWhitespace?i.children:gc(new Yb(!1,c),i.children);e=this._generateI18nMessage(m,a,UX(c)),e.nodes.length===0&&(e=void 0),i.i18n=e}else if(r.name.startsWith($E)){let a=r.name.slice($E.length),c;i instanceof Va?c=i.tagName===null?!1:pF(i.tagName,a):c=pF(i.name,a),c?this._reportError(r,`Translating attribute '${a}' is disallowed for security reasons.`):o[a]=r.value}else t.push(r);if(Object.keys(o).length)for(let r of t){let a=o[r.name];a!==void 0&&r.value&&(r.i18n=this._generateI18nMessage([r],r.i18n||a))}this.keepI18nAttrs||(i.attrs=t)}So(this,i.children,e)}_parseMetadata(i){return typeof i=="string"?qX(i):i instanceof Ua?i:{}}_setMessageId(i,e){i.id||(i.id=e instanceof Ua&&e.id||aG(i))}_setLegacyIds(i,e){if(this.enableI18nLegacyMessageIdFormat)i.legacyIds=[rG(i),t6(i)];else if(typeof e!="string"){let t=e instanceof Ua?e:e instanceof ef?e.previousMessage:void 0;i.legacyIds=t?t.legacyIds:[]}}_reportError(i,e){this._errors.push(new rn(i.sourceSpan,e))}},GX="|",WX="@@";function qX(n=""){let i,e,t;if(n=n.trim(),n){let o=n.indexOf(WX),r=n.indexOf(GX),a;[a,i]=o>-1?[n.slice(0,o),n.slice(o+2)]:[n,""],[e,t]=r>-1?[a.slice(0,r),a.slice(r+1)]:["",a]}return{customId:i,meaning:e,description:t}}function QX(n){let i=[];return n.description?i.push({tagName:"desc",text:n.description}):i.push({tagName:"suppress",text:"{msgDescriptions}"}),n.meaning&&i.push({tagName:"meaning",text:n.meaning}),xG(i)}var XX="goog.getMsg";function YX(n,i,e,t){let o=ZX(i),r=[Me(o)];Object.keys(t).length&&(r.push(rD(JD(t,!0),!0)),r.push(rD({original_code:ml(Object.keys(t).map(m=>({key:X0(m),quoted:!0,value:i.placeholders[m]?Me(i.placeholders[m].sourceSpan.toString()):Me(i.placeholderToMessage[m].nodes.map(p=>p.sourceSpan.toString()).join(""))})))})));let a=new Fr(e.name,Zn(XX).callFn(r),Ul,la.Final);a.addLeadingComment(QX(i));let c=new ma(n.set(e));return[a,c]}var SD=class{formatPh(i){return`{$${X0(i)}}`}visitText(i){return i.value}visitContainer(i){return i.children.map(e=>e.visit(this)).join("")}visitIcu(i){return W6(i)}visitTagPlaceholder(i){return i.isVoid?this.formatPh(i.startName):`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitPlaceholder(i){return this.formatPh(i.name)}visitBlockPlaceholder(i){return`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitIcuPlaceholder(i,e){return this.formatPh(i.name)}},KX=new SD;function ZX(n){return n.nodes.map(i=>i.visit(KX,null)).join("")}function JX(n,i,e){let{messageParts:t,placeHolders:o}=eY(i),r=tY(i),a=o.map(p=>e[p.text]),c=wG(i,t,o,a,r),m=n.set(c);return[new ma(m)]}var wD=class{placeholderToMessage;pieces;constructor(i,e){this.placeholderToMessage=i,this.pieces=e}visitText(i){if(this.pieces[this.pieces.length-1]instanceof Xp)this.pieces[this.pieces.length-1].text+=i.value;else{let e=new _n(i.sourceSpan.fullStart,i.sourceSpan.end,i.sourceSpan.fullStart,i.sourceSpan.details);this.pieces.push(new Xp(i.value,e))}}visitContainer(i Line truncated
`,"\r"," "];function Jee(n,i,e={}){let{preserveWhitespaces:t,enableI18nLegacyMessageIdFormat:o}=e,r=e.enableSelectorless??!1,a=ox(r),m=new ED().parse(n,i,Qe(W({leadingTriviaChars:Zee},e),{tokenizeExpansionForms:!0,tokenizeBlocks:e.enableBlockSyntax??!0,tokenizeLet:e.enableLetSyntax??!0,selectorlessEnabled:r}));if(!e.alwaysAttemptHtmlToR3AstConversion&&m.errors&&m.errors.length>0){let P={preserveWhitespaces:t,errors:m.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(P.commentNodes=[]),P}let p=m.rootNodes,h=!(e.preserveSignificantWhitespace??!0),g=new Zb(!t,o,e.preserveSignificantWhitespace,h),S=g.visitAllWithErrors(p);if(!e.alwaysAttemptHtmlToR3AstConversion&&S.errors&&S.errors.length>0){let P={preserveWhitespaces:t,errors:S.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(P.commentNodes=[]),P}p=S.rootNodes,t||(p=So(new Yb(!0,void 0,!1),p),g.hasI18nMeta&&(p=So(new Zb(!1,void 0,!0,h),p)));let{nodes:x,errors:v,styleUrls:M,styles:w,ngContentSelectors:y,commentNodes:k}=Yee(p,a,{collectCommentNodes:!!e.collectCommentNodes});v.push(...m.errors,...S.errors);let I={preserveWhitespaces:t,errors:v.length>0?v:null,nodes:x,styleUrls:M,styles:w,ngContentSelectors:y};return e.collectCommentNodes&&(I.commentNodes=k),I}var ete=new sf;function ox(n=!1){return new DD(new Kb(new $0,n),ete,[])}var bL="%COMP%",tte=`_nghost-${bL}`,nte=`_ngcontent-${bL}`;function xL(n,i,e){let t=new wm,o=QD(n.selector);return t.set("type",n.type.value),o.length>0&&t.set("selectors",Rh(o)),n.queries.length>0&&t.set("contentQueries",UJ(n.queries,i,n.name)),n.viewQueries.length&&t.set("viewQuery",HJ(n.viewQueries,i,n.name)),t.set("hostBindings",dte(n.host,n.typeSourceSpan,e,i,n.selector||"",n.name,t)),t.set("inputs",xR(n.inputs,!0)),t.set("outputs",xR(n.outputs)),n.exportAs!==null&&t.set("exportAs",Qi(n.exportAs.map(r=>Me(r)))),n.isStandalone===!1&&t.set("standalone",Me(!1)),n.isSignal&&t.set("signals",Me(!0)),t}function yL(n,i){let e=[],t=i.providers,o=i.viewProviders;if(t||o){let r=[t||new Tc([])];o&&r.push(o),e.push(Wt(he.ProvidersFeature).callFn(r))}if(i.hostDirectives?.length&&e.push(Wt(he.HostDirectivesFeature).callFn([fte(i.hostDirectives)])),i.usesInheritance&&e.push(Wt(he.InheritDefinitionFeature)),i.lifecycle.usesOnChanges&&e.push(Wt(he.NgOnChangesFeature)),i.controlCreate!==null&&e.push(Wt(he.ControlFeature).callFn([Me(i.controlCreate.passThroughInput)])),"externalStyles"in i&&i.externalStyles?.length){let r=i.externalStyles.map(a=>Me(a));e.push(Wt(he.ExternalStylesFeature).callFn([Qi(r)]))}e.length&&n.set("features",Qi(e))}function ite(n,i,e){let t=xL(n,i,e);yL(t,n);let o=Wt(he.defineDirective).callFn([t.toLiteralMap()],void 0,!0),r=cte(n);return{expression:o,type:r,statements:[]}}function ote(n,i,e){let t=xL(n,i,e);yL(t,n);let o=n.selector&&$h.parse(n.selector),r=o&&o[0];if(r){let v=r.getAttrs();v.length&&t.set("attrs",i.getConstLiteral(Qi(v.map(M=>M!=null?Me(M):Me(void 0))),!0))}let a=n.name,c=null;if(n.defer.mode===1&&n.defer.dependenciesFn!==null){let v=`${a}_DeferFn`;i.statements.push(new Fr(v,n.defer.dependenciesFn,void 0,la.Final)),c=Zn(v)}let m=n.isStandalone&&!n.hasDirectiveDependencies?is.DomOnly:is.Full,p=vJ(n.name,n.template.nodes,i,m,n.relativeContextFilePath,n.i18nUseExternalIds,n.defer,c,n.relativeTemplatePath,zJ());lL(p,Tt.Tmpl);let h=hJ(p,i);if(p.contentSelectors!==null&&t.set("ngContentSelectors",p.contentSelectors),t.set("decls",Me(p.root.decls)),t.set("vars",Me(p.root.vars)),p.consts.length>0&&(p.constsInitializers.length>0?t.set("consts",Fs([],[...p.constsInitializers,new wr(Qi(p.consts))])):t.set("consts",Qi(p.consts))),t.set("template",h),n.declarationListEmitMode!==3&&n.declarations.length>0)t.set("dependencies",ate(Qi(n.declarations.map(v=>v.type)),n.declarationListEmitMode));else if(n.declarationListEmitMode===3){let v=[n.type.value];n.rawImports&&v.push(n.rawImports),t.set("dependencies",Wt(he.getComponentDepsFactory).callFn(v))}n.encapsulation===null&&(n.encapsulation=jp.Emulated);let g=!!n.externalStyles?.length;if(n.styles&&n.styles.length){let M=(n.encapsulation==jp.Emulated?hte(n.styles,nte,tte):n.styles).reduce((w,y)=>(y.trim().length>0&&w.push(i.getConstLiteral(Me(y))),w),[]);M.length>0&&(g=!0,t.set("styles",Qi(M)))}!g&&n.encapsulation===jp.Emulated&&(n.encapsulation=jp.None),n.encapsulation!==jp.Emulated&&t.set("encapsulation",Me(n.encapsulation)),n.animations!==null&&t.set("data",ml([{key:"animation",value:n.animations,quoted:!1}])),n.changeDetection!==null&&(typeof n.changeDetection=="number"&&n.changeDetection!==qD.Default?t.set("changeDetection",Me(n.changeDetection)):typeof n.changeDetection=="object"&&t.set("changeDetection",n.changeDetection));let S=Wt(he.defineComponent).callFn([t.toLiteralMap()],void 0,!0),x=rte(n);return{expression:S,type:x,statements:[]}}function rte(n){let i=SL(n);return i.push(VD(n.template.ngContentSelectors)),i.push(ca(Me(n.isStandalone))),i.push(wL(n)),n.isSignal&&i.push(ca(Me(n.isSig Line truncated
`));for(let r in n)n.hasOwnProperty(r)&&n[r].forEach(a=>{kte(a)?t.properties[a.hostPropertyName||r]=$G("this",r):Tte(a)&&(t.listeners[a.eventName||r]=`${r}(${(a.args||[]).join(",")})`)});return t}function kte(n){return n.ngMetadataName==="HostBinding"}function Tte(n){return n.ngMetadataName==="HostListener"}function Ete(n){return n.ngMetadataName==="Input"}function Dte(n){return n.ngMetadataName==="Output"}function Pte(n){return Object.keys(n).reduce((i,e)=>{let t=n[e];return typeof t=="string"||Array.isArray(t)?i[e]=Ite(t):i[e]={bindingPropertyName:t.publicName,classPropertyName:e,transformFunction:t.transformFunction!==null?new ri(t.transformFunction):null,required:t.isRequired,isSignal:t.isSignal},i},{})}function Ite(n){return typeof n=="string"?{bindingPropertyName:n,classPropertyName:n,transformFunction:null,required:!1,isSignal:!1}:{bindingPropertyName:n[0],classPropertyName:n[1],transformFunction:n[2]?new ri(n[2]):null,required:!1,isSignal:!1}}function Ate(n){return n.reduce((i,e)=>{if(typeof e=="string"){let[t,o]=PL(e);i[o]={bindingPropertyName:t,classPropertyName:o,required:!1,isSignal:!1,transformFunction:null}}else i[e.name]={bindingPropertyName:e.alias||e.name,classPropertyName:e.name,required:e.required||!1,isSignal:!1,transformFunction:e.transform!=null?new ri(e.transform):null};return i},{})}function gE(n){return n.reduce((i,e)=>{let[t,o]=PL(e);return i[o]=t,i},{})}function PL(n){let[i,e]=n.split(":",2).map(t=>t.trim());return[e??i,i]}function Ote(n){return{name:n.type.name,type:Nr(n.type),typeArgumentCount:0,pipeName:n.name,deps:null,pure:n.pure??!0,isStandalone:n.isStandalone??s6(n.version)}}function Nte(n){return{name:n.type.name,type:Nr(n.type),providers:n.providers!==void 0&&n.providers.length>0?new ri(n.providers):null,imports:n.imports!==void 0?n.imports.map(i=>new ri(i)):[]}}function Rte(n){let i=n.ng||(n.ng={});i.\u0275compilerFacade=new GD}var WD=class{closedByParent=!1;implicitNamespacePrefix=null;isVoid=!1;ignoreFirstLf=!1;canSelfClose=!0;preventNamespaceInheritance=!1;requireExtraParent(i){return!1}isClosedByChild(i){return!1}getContentType(){return Cc.PARSABLE_DATA}},gFe=new WD;var _Fe=new SE("21.2.6");Rte(j_);function vP(n){let i=n.cloneNode(!0),e=i.querySelectorAll("[id]"),t=n.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return t==="canvas"?OL(n,i):(t==="input"||t==="select"||t==="textarea")&&AL(n,i),IL("canvas",n,i,OL),IL("input, textarea, select",n,i,AL),i}function IL(n,i,e,t){let o=i.querySelectorAll(n);if(o.length){let r=e.querySelectorAll(n);for(let a=0;a<o.length;a++)t(o[a],r[a])}}var Lte=0;function AL(n,i){i.type!=="file"&&(i.value=n.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${Lte++}`)}function OL(n,i){let e=i.getContext("2d");if(e)try{e.drawImage(n,0,0)}catch{}}function wP(n){let i=n.getBoundingClientRect();return{top:i.top,right:i.right,bottom:i.bottom,left:i.left,width:i.width,height:i.height,x:i.x,y:i.y}}function CP(n,i,e){let{top:t,bottom:o,left:r,right:a}=n;return e>=t&&e<=o&&i>=r&&i<=a}function Bte(n,i){let e=i.left<n.left,t=i.left+i.width>n.right,o=i.top<n.top,r=i.top+i.height>n.bottom;return e||t||o||r}function ev(n,i,e){n.top+=i,n.bottom=n.top+n.height,n.left+=e,n.right=n.left+n.width}function NL(n,i,e,t){let{top:o,right:r,bottom:a,left:c,width:m,height:p}=n,h=m*i,g=p*i;return t>o-g&&t<a+g&&e>c-h&&e<r+h}var fx=class{_document;positions=new Map;constructor(i){this._document=i}clear(){this.positions.clear()}cache(i){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),i.forEach(e=>{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:wP(e)})})}handleScroll(i){let e=Bp(i),t=this.positions.get(e);if(!t)return null;let o=t.scrollPosition,r,a;if(e===this._document){let p=this.getViewportScrollPosition();r=p.top,a=p.left}else r=e.scrollTop,a=e.scrollLeft;let c=o.top-r,m=o.left-a;return this.positions.forEach((p,h)=>{p.clientRect&&e!==h&&e.contains(h)&&ev(p.clientRect,c,m)}),o.top=r,o.left=a,{top:c,left:m}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function WL(n,i){let e=n.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let t=i.createElement("div");return e.forEach(o=>t.appendChild(o)),t}function MP(n,i,e){for(let t in i)if(i.hasOwnProperty(t)){let o=i[t];o?n.setProperty(t,o,e?.has(t)?"important":""):n.removeProperty(t)}return n}function hf(n,i){let e=i?"":"none";MP(n.style,{"touch-action":i?"":"none","-webkit-user-drag":i?"":"none","-webkit-tap-highlight-color":i?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function RL(n,i,e){MP(n.style,{position:i?"":"fixed",top:i?"":"0",opacity:i?"":"0",left:i?"":"-999em"},e)}function gx(n,i){return i&&i!="none"?n+" "+i:n}function FL(n,i){n.style.width=`${i.width}px`,n.style.height=`${i.height}px`,n.style.transform=tv(i.left,i.top)}function tv(n,i){return`translate3d(${MatLine truncated
`],encapsulation:2,changeDetection:0})}return n})(),qL=(()=>{class n{_ngZone=f(Pi);_document=f(co);_styleLoader=f(pr);_renderer=f(pd).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new je;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=se([]);_globalListeners;_draggingPredicate=e=>e.isDragging();_domNodesToDirectives=null;pointerMove=new je;pointerUp=new je;constructor(){}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,"touchmove",this._persistentTouchmoveListener,gP)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(e,t){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._styleLoader.load(Vte),this._activeDragInstances.update(o=>[...o,e]),this._activeDragInstances().length===1)){let o=t.type.startsWith("touch"),r=c=>this.pointerUp.next(c),a=[["scroll",c=>this._scroll.next(c),Z0],["selectstart",this._preventDefaultWhileDragging,gP]];o?a.push(["touchend",r,Z0],["touchcancel",r,Z0]):a.push(["mouseup",r,Z0]),o||a.push(["mousemove",c=>this.pointerMove.next(c),gP]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=a.map(([c,m,p])=>this._renderer.listen(this._document,c,m,p))})}}stopDragging(e){this._activeDragInstances.update(t=>{let o=t.indexOf(e);return o>-1?(t.splice(o,1),[...t]):t}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){let t=[this._scroll];return e&&e!==this._document&&t.push(new Pr(o=>this._ngZone.runOutsideAngular(()=>{let r=this._renderer.listen(e,"scroll",a=>{this._activeDragInstances().length&&o.next(a)},Z0);return()=>{r()}}))),En(...t)}registerDirectiveNode(e,t){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(e,t)}removeDirectiveNode(e){this._domNodesToDirectives?.delete(e)}getDragDirectiveForNode(e){return this._domNodesToDirectives?.get(e)||null}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=e=>{this._activeDragInstances().length>0&&e.preventDefault()};_persistentTouchmoveListener=e=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&e.preventDefault(),this.pointerMove.next(e))};_clearGlobalListeners(){this._globalListeners?.forEach(e=>e()),this._globalListeners=void 0}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function LL(n){let i=n.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(n)*i}function zte(n){let i=getComputedStyle(n),e=_P(i,"transition-property"),t=e.find(c=>c==="transform"||c==="all");if(!t)return 0;let o=e.indexOf(t),r=_P(i,"transition-duration"),a=_P(i,"transition-delay");return LL(r[o])+LL(a[o])}function _P(n,i){return n.getPropertyValue(i).split(",").map(t=>t.trim())}var jte=new Set(["position"]),bP=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(i,e,t,o,r,a,c,m,p,h){this._document=i,this._rootElement=e,this._direction=t,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=a,this._pickupPositionOnPage=c,this._initialTransform=m,this._zIndex=p,this._renderer=h}attach(i){this._preview=this._createPreview(),i.appendChild(this._preview),BL(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(i){this._preview.style.transform=i}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(i){this._preview.classList.add(i)}getTransitionDuration(){return zte(this._preview)}addEventListener(i,e){return this._renderer.listen(this._preview,i,e)}_createPreview(){let i=this._previewTemplate,e=this._previewClass,t=i?i.template:null,o;if(t&&i){let r=i.matchSize?this._initialDomRect:null,a=i.viewContainer.createEmbeddedView(t,i.context);a.detectChanges(),o=WL(a,this._document),this._previewEmbeddedView=a,i.matchSize?FL(o,r):o.style.transform=tv(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=vP(this._rootElement),FL(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return MP(o.style,{"pointer-events":"none",margin:BL(o)?"0 auto 0 0":"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""}, Line truncated
`],encapsulation:2})}return n})();function vx(n,i){return n.concat(Array.from(i))}function e8(n,i){let e=i.toUpperCase(),t=n.viewContainer.element.nativeElement;for(;t;){let o=t.nodeType===1?t.nodeName:null;if(o===e)return t;if(o==="TABLE")break;t=t.parentNode}return null}var Sx=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[C5]})}return n})();var r8=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[fd,ui,fd]})}return n})();var qn=(function(n){return n[n.State=0]="State",n[n.Transition=1]="Transition",n[n.Sequence=2]="Sequence",n[n.Group=3]="Group",n[n.Animate=4]="Animate",n[n.Keyframes=5]="Keyframes",n[n.Style=6]="Style",n[n.Trigger=7]="Trigger",n[n.Reference=8]="Reference",n[n.AnimateChild=9]="AnimateChild",n[n.AnimateRef=10]="AnimateRef",n[n.Query=11]="Query",n[n.Stagger=12]="Stagger",n})(qn||{}),hl="*";function FP(n,i){return{type:qn.Trigger,name:n,definitions:i,options:{}}}function LP(n,i=null){return{type:qn.Animate,styles:i,timings:n}}function a8(n,i=null){return{type:qn.Sequence,steps:n,options:i}}function yu(n){return{type:qn.Style,styles:n,offset:null}}function wx(n,i,e){return{type:qn.State,name:n,styles:i,options:e}}function BP(n,i,e=null){return{type:qn.Transition,expr:n,animation:i,options:e}}var Oc=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(i=0,e=0){this.totalTime=i+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}onStart(i){this._originalOnStartFns.push(i),this._onStartFns.push(i)}onDone(i){this._originalOnDoneFns.push(i),this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(i=>i()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(i){this._position=this.totalTime?i*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},xu=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(i){this.players=i;let e=0,t=0,o=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==r&&this._onFinish()}),a.onDestroy(()=>{++t==r&&this._onDestroy()}),a.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((a,c)=>Math.max(a,c.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}init(){this.players.forEach(i=>i.init())}onStart(i){this._onStartFns.push(i)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(i=>i()),this._onStartFns=[])}onDone(i){this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(i=>i.play())}pause(){this.players.forEach(i=>i.pause())}restart(){this.players.forEach(i=>i.restart())}finish(){this._onFinish(),this.players.forEach(i=>i.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(i=>i.destroy()),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this.players.forEach(i=>i.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(i){let e=i*this.totalTime;this.players.forEach(t=>{let o=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(o)})}getPosition(){let i=this.players.reduce((e,t)=>e===null||t.totalTime>e.totalTime?t:e,null);return i!=null?i.getPosition():0}beforeDestroy(){this.players.forEach(i=>{i.beforeDestroy&&i.beforeDestroy()})}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},ff="!";function s8(n){return new fn(3e3,!1)}function nne(){return new fn(3100,!1)}function ine(){return new fn(3101,!1)}function one(n){return new fn(3001,!1)}function rne(n){return new fn(3003,!1)}function ane(n){return new fn(3004,!1)}function c8(n,i){return new fn(3005,!1)}function d8(){return new fn(3006,!1)}function m8(){return new fn(3007,!1)}function p8(n,i){return new fn(3008,!1)}function u8(n){return new fn(3002,!1)}function h8(n,i,e,t,o){return new fn(3010,!1)}function f8(){return new fn(3011,!1)}functio Line truncated
body * {
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
`)),requestAnimationFrame(()=>{this.document.head.appendChild(o)});let r=this.getScrollPosition(),a=new Pr(x=>{let v=this.scrollContainer?this.scrollContainer.elementRef.nativeElement:"window";return this.renderer.listen(v,"scroll",M=>x.next(M))}).pipe(xi(r),xt(()=>this.getScrollPosition())),c=new je,m=new rh;this.dragPointerDown.observers.length>0&&this.zone.run(()=>{this.dragPointerDown.next({x:0,y:0})});let p=En(this.pointerUp$,this.pointerDown$,m,this.destroy$).pipe(Vl()),h=ir([this.pointerMove$,a]).pipe(xt(([x,v])=>({currentDrag$:c,transformX:x.clientX-t.clientX,transformY:x.clientY-t.clientY,clientX:x.clientX,clientY:x.clientY,scrollLeft:v.left,scrollTop:v.top,target:x.event.target})),xt(x=>(this.dragSnapGrid.x&&(x.transformX=Math.round(x.transformX/this.dragSnapGrid.x)*this.dragSnapGrid.x),this.dragSnapGrid.y&&(x.transformY=Math.round(x.transformY/this.dragSnapGrid.y)*this.dragSnapGrid.y),x)),xt(x=>(this.dragAxis.x||(x.transformX=0),this.dragAxis.y||(x.transformY=0),x)),xt(x=>{let v=x.scrollLeft-r.left,M=x.scrollTop-r.top;return Qe(W({},x),{x:x.transformX+v,y:x.transformY+M})}),Yn(({x,y:v,transformX:M,transformY:w})=>!this.validateDrag||this.validateDrag({x,y:v,transform:{x:M,y:w}})),tt(p),Vl()),g=h.pipe(Gi(1),Vl()),S=h.pipe(x_(1),Vl());return g.subscribe(({clientX:x,clientY:v,x:M,y:w})=>{if(this.dragStart.observers.length>0&&this.zone.run(()=>{this.dragStart.next({cancelDrag$:m})}),this.scroller=c7([this.scrollContainer?this.scrollContainer.elementRef.nativeElement:this.document.defaultView],Qe(W({},this.autoScroll),{autoScroll(){return!0}})),gie(this.renderer,this.element,this.dragActiveClass),this.ghostDragEnabled){let y=this.element.nativeElement.getBoundingClientRect(),k=this.element.nativeElement.cloneNode(!0);if(this.showOriginalElementWhileDragging||this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),this.ghostElementAppendTo?this.ghostElementAppendTo.appendChild(k):this.element.nativeElement.parentNode.insertBefore(k,this.element.nativeElement.nextSibling),this.ghostElement=k,this.document.body.style.cursor=this.dragCursor,this.setElementStyles(k,{position:"fixed",top:`${y.top}px`,left:`${y.left}px`,width:`${y.width}px`,height:`${y.height}px`,cursor:this.dragCursor,margin:"0",willChange:"transform",pointerEvents:"none"}),this.ghostElementTemplate){let I=this.vcr.createEmbeddedView(this.ghostElementTemplate);k.innerHTML="",I.rootNodes.filter(P=>P instanceof Node).forEach(P=>{k.appendChild(P)}),S.subscribe(()=>{this.vcr.remove(this.vcr.indexOf(I))})}this.ghostElementCreated.observers.length>0&&this.zone.run(()=>{this.ghostElementCreated.emit({clientX:x-M,clientY:v-w,element:k})}),S.subscribe(()=>{k.parentElement.removeChild(k),this.ghostElement=null,this.renderer.setStyle(this.element.nativeElement,"visibility","")})}this.draggableHelper.currentDrag.next(c)}),S.pipe(vr(x=>{let v=m.pipe(EN(),Gi(1),xt(M=>Qe(W({},x),{dragCancelled:M>0})));return m.complete(),v})).subscribe(({x,y:v,dragCancelled:M})=>{this.scroller.destroy(),this.dragEnd.observers.length>0&&this.zone.run(()=>{this.dragEnd.next({x,y:v,dragCancelled:M})}),_ie(this.renderer,this.element,this.dragActiveClass),c.complete()}),En(p,S).pipe(Gi(1)).subscribe(()=>{requestAnimationFrame(()=>{this.document.head.removeChild(o)})}),h}),Vl());En(e.pipe(Gi(1),xt(t=>[,t])),e.pipe(n1())).pipe(Yn(([t,o])=>t?t.x!==o.x||t.y!==o.y:!0),xt(([t,o])=>o)).subscribe(({x:t,y:o,currentDrag$:r,clientX:a,clientY:c,transformX:m,transformY:p,target:h})=>{this.dragging.observers.length>0&&this.zone.run(()=>{this.dragging.next({x:t,y:o})}),requestAnimationFrame(()=>{if(this.ghostElement){let g=`translate3d(${m}px, ${p}px, 0px)`;this.setElementStyles(this.ghostElement,{transform:g,"-webkit-transform":g,"-ms-transform":g,"-moz-transform":g,"-o-transform":g})}}),r.next({clientX:a,clientY:c,dropData:this.dropData,target:h})})}ngOnChanges(e){e.dragAxis&&this.checkEventListeners()}ngOnDestroy(){this.unsubscribeEventListeners(),this.pointerDown$.complete(),this.pointerMove$.complete(),this.pointerUp$.complete(),this.destroy$.next()}checkEventListeners(){let e=this.canDrag(),t=Object.keys(this.eventListenerSubscriptions).length>0;e&&!t?this.zone.runOutsideAngular(()=>{this.eventListenerSubscriptions.mousedown=this.renderer.listen(this.element.nativeElement,"mousedown",o=>{this.onMouseDown(o)}),this.eventListenerSubscriptions.mouseup=this.renderer.listen("document","mouseup",o=>{this.onMouseUp(o)}),this.eventListenerSubscriptions.touchstart=this.renderer.listen(this.element.nativeElement,"touchstart",o=>{this.onTouchStart(o)}),this.eventListenerSubscriptions.touchend=this.renderer.listen("document","touchend",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.touchcancel=this.renderer.listen("document","touchcancel",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.mouseenter=this.renderer.listen(this.element.nativeElement,"mouseenter",()=>{this.onMouseEnter()}),this.eventListenerSubscriptions.mouseleave=this.renderer.listen(this.el Line truncated
`).map(a=>{r=a.indexOf(":"),t=a.slice(0,r).trim().toLowerCase(),o=a.slice(r+1).trim(),t&&(e[t]=e[t]?e[t]+", "+o:o)}),e}_onWhenAddingFileFailed(i,e,t){this.onWhenAddingFileFailed(i,e,t)}_onAfterAddingFile(i){this.onAfterAddingFile(i)}_onAfterAddingAll(i){this.onAfterAddingAll(i)}_onBeforeUploadItem(i){i._onBeforeUpload(),this.onBeforeUploadItem(i)}_onBuildItemForm(i,e){i._onBuildForm(e),this.onBuildItemForm(i,e)}_onProgressItem(i,e){let t=this._getTotalProgress(e);this.progress=t,i._onProgress(e),this.onProgressItem(i,e),this.onProgressAll(t),this._render()}_onSuccessItem(i,e,t,o){i._onSuccess(e,t,o),this.onSuccessItem(i,e,t,o)}_onCancelItem(i,e,t,o){i._onCancel(e,t,o),this.onCancelItem(i,e,t,o)}};var Rc=(()=>{class n{constructor(e){this.onFileSelected=new _e,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}isEmptyAfterSelection(){return!!this.element.nativeElement.attributes.multiple}onChange(){let e=this.element.nativeElement.files,t=this.getOptions(),o=this.getFilters();this.uploader?.addToQueue(e,t,o),this.onFileSelected.emit(e),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")}}return n.\u0275fac=function(e){return new(e||n)(rt(Qt))},n.\u0275dir=ft({type:n,selectors:[["","ng2FileSelect",""]],hostBindings:function(e,t){e&1&&_("change",function(){return t.onChange()})},inputs:{uploader:"uploader"},outputs:{onFileSelected:"onFileSelected"},standalone:!1}),n})(),gl=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Gt({type:n}),n.\u0275inj=Ut({imports:[ne]}),n})();var Qn="primary",Tv=Symbol("RouteTitle"),kI=class{params;constructor(i){this.params=i||{}}has(i){return Object.prototype.hasOwnProperty.call(this.params,i)}get(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e[0]:e}return null}getAll(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function Du(n){return new kI(n)}function yI(n,i,e){for(let t=0;t<n.length;t++){let o=n[t],r=i[t];if(o[0]===":")e[o.substring(1)]=r;else if(o!==r.path)return!1}return!0}function _7(n,i,e){let t=e.path.split("/"),o=t.indexOf("**");if(o===-1){if(t.length>n.length||e.pathMatch==="full"&&(i.hasChildren()||t.length<n.length))return null;let m={},p=n.slice(0,t.length);return yI(t,p,m)?{consumed:p,posParams:m}:null}if(o!==t.lastIndexOf("**"))return null;let r=t.slice(0,o),a=t.slice(o+1);if(r.length+a.length>n.length||e.pathMatch==="full"&&i.hasChildren()&&e.path!=="**")return null;let c={};return!yI(r,n.slice(0,r.length),c)||!yI(a,n.slice(n.length-a.length),c)?null:{consumed:n,posParams:c}}function Kx(n){return new Promise((i,e)=>{n.pipe(dd()).subscribe({next:t=>i(t),error:t=>e(t)})})}function xie(n,i){if(n.length!==i.length)return!1;for(let e=0;e<n.length;++e)if(!Fc(n[e],i[e]))return!1;return!0}function Fc(n,i){let e=n?TI(n):void 0,t=i?TI(i):void 0;if(!e||!t||e.length!=t.length)return!1;let o;for(let r=0;r<e.length;r++)if(o=e[r],!v7(n[o],i[o]))return!1;return!0}function TI(n){return[...Object.keys(n),...Object.getOwnPropertySymbols(n)]}function v7(n,i){if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!1;let e=[...n].sort(),t=[...i].sort();return e.every((o,r)=>t[r]===o)}else return n===i}function yie(n){return n.length>0?n[n.length-1]:null}function Pu(n){return Zd(n)?n:HN(n)?nr(Promise.resolve(n)):_t(n)}function C7(n){return Zd(n)?Kx(n):Promise.resolve(n)}var Sie={exact:x7,subset:y7},b7={exact:wie,subset:Mie,ignored:()=>!0},jI={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Cv={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function $I(n,i,e){let t=n instanceof qa?n:i.parseUrl(n);return mn(()=>EI(i.lastSuccessfulNavigation()?.finalUrl??new qa,t,W(W({},Cv),e)))}function EI(n,i,e){return Sie[e.paths](n.root,i.root,e.matrixParams)&&b7[e.queryParams](n.queryParams,i.queryParams)&&!(e.fragment==="exact"&&n.fragment!==i.fragment)}function wie(n,i){return Fc(n,i)}function x7(n,i,e){if(!Eu(n.segments,i.segments)||!Qx(n.segments,i.segments,e)||n.numberOfChildren!==i.numberOfChildren)return!1;for(let t in i.children)if(!n.children[t]||!x7(n.children[t],i.children[t],e))return!1;return!0}function Mie(n,i){return Object.keys(i).length<=Object.keys(n).length&&Object.keys(i).every(e=>v7(n[e],i[e]))}function y7(n,i,e){return S7(n,i,i.segments,e)}function S7(n,i,e,t){if(n.segments.length>e.length){let o=n.segments.slice(0,e.length);return!(!Eu(o,e)||i.hasChildren()||!Qx(o,e,t))}else if(n.segments.length===e.length){if(!Eu(n.segments,e)||!Qx(n.segments,e,t))return!1;for(let o in i.children)if(!n.children[o]||!y7(n.children[o],i.children[o],t))return!1;return!0}else{let o=e.slice(0,n.segments.length),r=e.slice(n.segments.length);return!Eu(n.segments,o)||!Qx(n.segments,o,t)||!n.children[Qn]?!1:S7(n.children[Qn],i,r,t)}}function Qx(n,i,e){return i.every((t,o)=>b7[e](n[o].parameters,t.parameters))}var qa=class{root;queryParams;fragment;_queryParamMap;cons Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),gre=new $t("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Wo);return()=>v1(n)}});var Nf=new WeakMap,_re=(()=>{class n{_canHaveBackdrop;_element=f(Qt);_viewContainerRef=f(Ji);_menuItemInstance=f(et,{optional:!0,self:!0});_dir=f(ts,{optional:!0});_focusMonitor=f(Fa);_ngZone=f(Pi);_injector=f(Wo);_scrollStrategy=f(gre);_changeDetectorRef=f(X);_animationsDisabled=Qo();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=go.EMPTY;_menuCloseSubscription=go.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(e){this._canHaveBackdrop=e;let t=f(n3,{optional:!0});this._parentMaterialMenu=t instanceof ti?t:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&Nf.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){if(this._triggerIsAriaDisabled())return;let t=this._menu;if(this._menuOpen||!t)return;this._pendingRemoval?.unsubscribe();let o=Nf.get(t);Nf.set(t,this),o&&o!==this&&o._closeMenu();let r=this._createOverlay(t),a=r.getConfig(),c=a.positionStrategy;this._setPosition(t,c),this._canHaveBackdrop?a.hasBackdrop=t.hasBackdrop==null?!this._triggersSubmenu():t.hasBackdrop:a.hasBackdrop=t.hasBackdrop??!1,r.hasAttached()||(r.attach(this._getPortal(t)),t.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),t.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,t.direction=this.dir,e&&t.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),t instanceof ti&&(t._setIsOpen(!0),t._directDescendantItems.changes.pipe(tt(t.close)).subscribe(()=>{c.withLockedPosition(!1).reapplyLastPosition(),c.withLockedPosition(!0)}))}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}_destroyMenu(e){let t=this._overlayRef,o=this._menu;!t||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),o instanceof ti&&this._ownsMenu(o)?(this._pendingRemoval=o._animationDone.pipe(Gi(1)).subscribe(()=>{t.detach(),Nf.has(o)||o.lazyContent?.detach()}),o._setIsOpen(!1)):(t.detach(),o?.lazyContent?.detach()),o&&this._ownsMenu(o)&&Nf.delete(o),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=x1(this._injector,t),this._overlayRef.keydownEvents().subscribe(o=>{this._menu instanceof ti&&this._menu._handleKeydown(o)})}return this._overlayRef}_getOverlayConfig(e){return new C1({positionStrategy:b1(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(o=>{this._ngZone.run(()=>{let r=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(r,a)})})}_setPosition(e,t){let[o,r]=e.xPosition==="before"?["end","start"]:["start","end"],[a,c]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[m,p]=[a,c],[h,g]=[o,r],S=0;if(this._triggersSubmenu()){if(g=o=e.xPosition==="before"?"start":"end",r=h=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let x=this._parentMaterialMenu.items.first;this._parentInnerPadding=x?x._getHostElement().offsetTop:0}S=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(m=a==="top"?"bottom":"top",p=c==="top"?"bottom":"top");t.withPos Line truncated
`],encapsulation:2})}return n})(),Nn=(()=>{class n extends bx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matCellDef",""]],features:[Cn([{provide:bx,useExisting:n}]),ci]})}return n})(),Rn=(()=>{class n extends xx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderCellDef",""]],features:[Cn([{provide:xx,useExisting:n}]),ci]})}return n})();var Fn=(()=>{class n extends Om{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[Cn([{provide:Om,useExisting:n}]),ci]})}return n})(),Ln=(()=>{class n extends n8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[ci]})}return n})();var Bn=(()=>{class n extends i8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[ci]})}return n})();var Vn=(()=>{class n extends iv{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",gt]},features:[Cn([{provide:iv,useExisting:n}]),ci]})}return n})();var zn=(()=>{class n extends yx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[Cn([{provide:yx,useExisting:n}]),ci]})}return n})(),jn=(()=>{class n extends DP{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[Cn([{provide:DP,useExisting:n}]),ci],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&mo(0,0)},dependencies:[bu],encapsulation:2})}return n})();var $n=(()=>{class n extends PP{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[Cn([{provide:PP,useExisting:n}]),ci],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&mo(0,0)},dependencies:[bu],encapsulation:2})}return n})();var yn=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[Sx,ui]})}return n})(),Sre=9007199254740991,fr=class extends Hl{_data;_renderData=new zt([]);_filter=new zt("");_internalPageChanges=new je;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(i){i=Array.isArray(i)?i:[],this._data.next(i),this._renderChangesSubscription||this._filterData(i)}get filter(){return this._filter.value}set filter(i){this._filter.next(i),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(i){this._sort=i,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(i){this._paginator=i,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(i,e)=>{let t=i[e];if(h5(t)){let o=Number(t);return o<Sre?o:t}return t};sortData=(i,e)=>{let t=e.active,o=e.direction;return!t||o==""?i:i.sort((r,a)=>{let c=this.sortingDataAccessor(r,t),m=this.sortingDataAccessor(a,t),p=typeof c,h=typeof m;p!==h&&(p==="number"&&(c+=""),h==="number"&&(m+=""));let g=0;return c!=null&&m!=null?c>m?g=1:c<m&&(g=-1):c!=null?g=1:m!=null&&(g=-1),g*(o=="asc"?1:-1)})};filterPredicate=(i,e)=>{let t=e.trim().toLowerCase();return Object.values(i).some(o=>`${o}`.toLowerCase().includes(t))};constructor(i=[]){super(),this._data=new zt(i),this._updateChangeSubscription()}_updateChangeSubscription(){let i=this._sort?En(this._sort.sortChange,this._sort.initialized):_t(null),e=this._paginator?En(this._paginator.page,this._internalPageChanges,this._paginator.initialized):_t(null),t=this._data,o=ir([t,this._filter]).pipe(xt(([c])=>this._filterData(c))),r=ir([o,i]).pipe(xt(([c])=>this._orderData(c))),a=ir([r,e]).pipe(xt(([c])=>this._pageData(c)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription= Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Mre={passive:!0},hB=(()=>{class n{_platform=f(Zs);_ngZone=f(Pi);_renderer=f(pd).createRenderer(null,null);_styleLoader=f(pr);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return $r;this._styleLoader.load(wre);let t=$l(e),o=this._monitoredElements.get(t);if(o)return o.subject;let r=new je,a="cdk-text-field-autofilled",c=p=>{p.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(a)?(t.classList.add(a),this._ngZone.run(()=>r.next({target:p.target,isAutofilled:!0}))):p.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(a)&&(t.classList.remove(a),this._ngZone.run(()=>r.next({target:p.target,isAutofilled:!1})))},m=this._ngZone.runOutsideAngular(()=>(t.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(t,"animationstart",c,Mre)));return this._monitoredElements.set(t,{subject:r,unlisten:m}),r}stopMonitoring(e){let t=$l(e),o=this._monitoredElements.get(t);o&&(o.unlisten(),o.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var fB=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({})}return n})();var gB=new $t("MAT_INPUT_VALUE_ACCESSOR");var kre=["button","checkbox","file","hidden","image","radio","range","reset","submit"],Tre=new $t("MAT_INPUT_CONFIG"),Ee=(()=>{class n{_elementRef=f(Qt);_platform=f(Zs);ngControl=f(S1,{optional:!0,self:!0});_autofillMonitor=f(hB);_ngZone=f(Pi);_formField=f(yh,{optional:!0});_renderer=f(pi);_uid=f(Do).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=f(Tre,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new je;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=P1(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator($e.required)??!1}set required(e){this._required=P1(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&qT().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=P1(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>qT().has(e));constructor(){let e=f(Gn,{optional:!0}),t=f(Nt,{optional:!0}),o=f(vd),r=f(gB,{optional:!0,self:!0}),a=this._elementRef.nativeElement,c=a.nodeName.toLowerCase();r?$N(r.value)?this._signalBasedValueAccessor=r:this._inputValueAccessor=r:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new O1(o,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=c==="select",this._isTextarea=c==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&ks(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl. Line truncated
[mat-card-title], [mat-card-subtitle],
[matCardTitle], [matCardSubtitle]`,"*"],qre=new $t("MAT_CARD_CONFIG"),Sn=(()=>{class n{appearance;constructor(){let e=f(qre,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(t,o){t&2&&Ue("mat-mdc-card-outlined",o.appearance==="outlined")("mdc-card--outlined",o.appearance==="outlined")("mat-mdc-card-filled",o.appearance==="filled")("mdc-card--filled",o.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:Ure,decls:1,vars:0,template:function(t,o){t&1&&(ii(),nn(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),zc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return n})();var _l=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return n})();var Sy=(()=>{class n{align="start";static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-mdc-card-actions","mdc-card__actions"],hostVars:2,hostBindings:function(t,o){t&2&&Ue("mat-mdc-card-actions-align-end",o.align==="end")},inputs:{align:"align"},exportAs:["matCardActions"]})}return n})(),jc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:Wre,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(t,o){t&1&&(ii(Gre),nn(0),yo(1,"div",0),nn(2,1),Eo(),nn(3,2))},encapsulation:2,changeDetection:0})}return n})();var St=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[ui]})}return n})();var $m=(()=>{class n{dataChange=new zt([]);constructor(){}get data(){return this.dataChange.value}addController(e){let t=this.data.slice();t.push(e),this.dataChange.next(t)}addControllers(e){this.dataChange.next(e)}remove(e){let t=this.data.indexOf(e);t>=0&&(this.data.splice(t,1),this.dataChange.next(this.data.slice()))}find(e){return this.data.find(t=>t.name===e)}findById(e){return this.data.find(t=>t.id===e)}findIndex(e){return this.data.findIndex(t=>t.name===e)}findIndexById(e){return this.data.findIndex(t=>t.id===e)}update(e){let t=this.findIndexById(e.id);t>=0&&(this.data[t]=e,this.dataChange.next(this.data.slice()))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var CB=(n,i)=>i.key;function Qre(n,i){n&1&&(s(0,"mat-error"),d(1,"You must enter a value"),l())}function Xre(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;b("value",e.key),u(),te(" ",e.name," ")}}function Yre(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;b("value",e.key),u(),te(" ",e.name," ")}}var wy=(()=>{class n{controllerService=f(Je);controllerDatabase=f($m);route=f(it);router=f(mt);toasterService=f(ee);cdr=f(X);controllerOptionsVisibility=se(!1);controllerIp;controllerPort;projectId;protocols=[{key:"http:",name:"HTTP"},{key:"https:",name:"HTTPS"}];locations=[{key:"local",name:"Local"},{key:"remote",name:"Remote"}];controllerForm=new br({name:new Ke("",[$e.required]),location:new Ke(""),protocol:new Ke("http:")});constructor(){}async ngOnInit(){this.controllerService.isServiceInitialized&&this.getControllers(),this.controllerService.serviceInitialized.subscribe(async e=>{e&&this.getControllers()})}async getControllers(){this.controllerIp=this.route.snapshot.paramMap.get("controller_ip"),this.controllerPort=+this.route.snapshot.paramMap.get("controller_port"),this.projectId=this.route.snapshot.paramMap.get("project_id");try{let t=(await this.controllerService.findAll()).filter(o=>o.host===this.controllerIp&&o.port===this.controllerPort)[0];t?this.router.navigate(["/controller",t.id,"project",this.projectId]):(this.controllerOptionsVisibility.set(!0),this.cdr.markForCheck())}catch(e){let t=e.error?.message||e.message||"Failed to load controllers";this.toasterService.error(t),this.cdr.markForCheck()}}createController(){if(!this.controllerForm.get("name").hasError&&!this.controllerForm.get("location").hasError&&!this.controllerForm.get("protocol").hasError){this.toasterService.error("Please use correct values");return}let e=new F5;e.host=this.controllerIp,e.port=this.controllerPort,e.name=this.controllerForm.get("name").value,e.location=this.controllerForm.get("location").value,e.protocol=this.controllerForm.get("protocol").value,this.controllerService.create(e).then(t=>{this.router.navigate(["/controller",t.id,"project",this.projectId])},t=>{let o=t.error?.message||t.message||"Failed to create controller";this.toasterService.error(o),this.cdr.markForCheck()})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-direct-link"]],decls:22,vars:3,consts:[[1,"content",3,"hidden"],[1,"default-header"],[1,"row"],[1,"col"],[1,"default-content"],[1,"matCard"],[3,"formGroup"],["matInput","","tabindex","1","formControlName","name","placeholder","Name"],["placeholder","Location","formControlName","location"],[3,"value"],["placeholder","Protocol","formControlName","protocol"],[1,"buttons-bar"],["mat-raised-button","","color","primary",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1",3),d(4,"Add new controller"),l()()(),s(5,"div",4)(6,"mat-card",5)(7,"form",6)(8,"mat-form-fiel Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var Nd=(()=>{class n{panel=f(Od,{host:!0});_element=f(Qt);_focusMonitor=f(Fa);_changeDetectorRef=f(X);_parentChangeSubscription=go.EMPTY;constructor(){f(pr).load(sa);let e=this.panel,t=f(SB,{optional:!0}),o=f(new Ks("tabindex"),{optional:!0}),r=e.accordion?e.accordion._stateChanges.pipe(Yn(a=>!!(a.hideToggle||a.togglePosition))):$r;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=En(e.opened,e.closed,r,e._inputChanges.pipe(Yn(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Yn(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),t&&(this.expandedHeight=t.expandedHeight,this.collapsedHeight=t.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:Ca(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(t,o){t&1&&_("click",function(){return o._toggle()})("keydown",function(a){return o._keydown(a)}),t&2&&(Xt("id",o.panel._headerId)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o._getPanelId())("aria-expanded",o._isExpanded())("aria-disabled",o.panel.disabled),wn("height",o._getHeaderHeight()),Ue("mat-expanded",o._isExpanded())("mat-expansion-toggle-indicator-after",o._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",o._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:Lo(e)]},ngContentSelectors:iae,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(t,o){t&1&&(ii(nae),yo(0,"span",0),nn(1),nn(2,1),nn(3,2),Eo(),A(4,oae,3,0,"span",1)),t&2&&(Ue("mat-content-hide-toggle",!o._showToggle()),u(4),O(o._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header{height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-prograLine truncated
`],encapsulation:2,changeDetection:0})}return n})(),ky=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),Hm=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),Um=(()=>{class n extends bB{_keyManager;_ownHeaders=new jl;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(xi(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new rm(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-accordion"]],contentQueries:function(t,o,r){if(t&1&&Vi(r,Nd,5),t&2){let a;pt(a=ut())&&(o._headers=a)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,o){t&2&&Ue("mat-accordion-multi",o.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",gt],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[Cn([{provide:o3,useExisting:n}]),ci]})}return n})(),vl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[My,gh,ui]})}return n})();var Ey=(()=>{class n{httpClient=f(mc);sanitizer=f(Cr);toasterService=f(ee);cd=f(X);thirdpartylicenses=se("");releasenotes=se("");ngOnInit(){this.httpClient.get(window.location.href+"/3rdpartylicenses.txt",{responseType:"text"}).subscribe({next:e=>{let t=e.replace(new RegExp(`
`,"g"),"<br />");this.thirdpartylicenses.set(this.sanitizer.bypassSecurityTrustHtml(t))},error:e=>{if(e.status===404)this.thirdpartylicenses.set("Download Solar-PuTTY");else{let t=e.error?.message||e.message||"Failed to load third party licenses";this.toasterService.error(t)}this.cd.markForCheck()}}),this.httpClient.get("ReleaseNotes.txt",{responseType:"text"}).subscribe({next:e=>{let t=e.replace(new RegExp(`
`,"g"),"<br />");this.releasenotes.set(this.sanitizer.bypassSecurityTrustHtml(t))},error:e=>{let t=e.error?.message||e.message||"Failed to load release notes";this.toasterService.error(t),this.cd.markForCheck()}})}goToDocumentation(){window.location.href="https://docs.gns3.com/docs/"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-help"]],decls:39,vars:2,consts:[[1,"help"],[1,"help__header"],[1,"help__title"],[1,"help__content"],[1,"help__card"],["href","https://downloads.solarwinds.com/solarwinds/GNS3/Solar-PuTTY/Solar-PuTTY-Optional.exe",1,"help__link"],[3,"innerHTML"],["mat-button","","color","primary",1,"help__doc-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"header",1)(2,"h1",2),d(3,"Help"),l()(),s(4,"main",3)(5,"section",4)(6,"mat-accordion")(7,"mat-expansion-panel")(8,"mat-expansion-panel-header")(9,"mat-panel-title"),d(10," Useful shortcuts "),l()(),s(11,"mat-list")(12,"mat-list-item"),d(13," ctrl + + to zoom in "),l(),s(14,"mat-list-item"),d(15," ctrl + - to zoom out "),l(),s(16,"mat-list-item"),d(17," ctrl + 0 to reset zoom "),l(),s(18,"mat-list-item"),d(19," ctrl + h to hide toolbar "),l(),s(20,"mat-list-item"),d(21," ctrl + a to select all items on map "),l(),s(22,"mat-list-item"),d(23," ctrl + shift + a to deselect all items on map "),l(),s(24,"mat-list-item"),d(25," ctrl + shift + s to go to preferences "),l()()(),s(26,"mat-expansion-panel")(27,"mat-expansion-panel-header")(28,"mat-panel-title"),d(29," Third party components "),l()(),s(30,"a",5),B(31,"div",6),l()(),s(32,"mat-expansion-panel")(33,"mat-expansion-panel-header")(34,"mat-panel-title"),d(35," Release notes "),l()(),B(36,"div",6),l()()(),s(37,"button",7),_("click",function(){return o.goToDocumentation()}),d(38," Go to documentation "),l()()()),t&2&&(u(31),b("innerHTML",o.thirdpartylicenses(),Lp),u(5),b("innerHTML",o.releasenotes(),Lp))},dependencies:[U,pe,vl,Um,Od,Nd,Hm,no,X5,am],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.help__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.help__title[_ngcontent-%COMP%]{font-size:32px;font-weight:500;color:var(--mat-sys-on-surface);margin:0;padding-bottom:8px}.help__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.help__card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none;border-bottom:1px solid var(--mat-sys-outline-variant)}.mat-expansion-panel[_ngcontent-%COMP%]:first-of-type{border-top:none}.mat-expansion-panel-header[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.help__doc-button[_ngcontent-%COMP%]{display:block;width:100%;margin-top:20px;height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}.help__link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;font-size:14px;font-weight:400}.help__link[_ngcontent-%COMP%]:hover{text-decoration:underline}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.help__header[_ngcontent-%COMP%]{padding:24px 16px 12px}.help__title[_ngcontent-%COMP%]{font-size:24px}.help__content[_ngcontent-%COMP%]{padding:0 16px 16px}.help__doc-button[_ngcontent-%COMP%]{height:44px;font-size:15px}}"],changeDetection:0})}return n})();var Dy=(()=>{class n{constructor(){}isWindows(){return navigator.platform.indexOf("Win")>-1}isLinux(){return navigator.platform.indexOf("Linux")>-1}isDarwin(){return navigator.platform.indexOf("Mac")>-1}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Py=(()=>{class n{platformService;constructor(e){this.platformService=e}get(){return this.platformService.isWindows()?this.getForWindows():this.platformService.isDarwin()?this.getForDarwin():this.getForLinux()}getForWindows(){let e=[{name:"Wireshark",locations:["C:\\Program Files\\Wireshark\\Wireshark.exe"],type:"web",resource:"https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe",binary:"Wireshark.exe",sudo:!0,installation_arguments:[],installed:!1,installer:!0}],t={name:"SolarPuTTY",locations:["SolarPuTTY.exe","external\\SolarPuTTY.exe"],type:"web",resource:"",binary:"SolarPuTTY.exe",sudo:!1,installation_arguments:["--only-ask"],installed:!1,installer:!1};return Fi.solarputty_download_url&&(t.resource=Fi.solarputty_download_url,e.push(t)),e}getForLinux(){return[]}getForDarwin(){return[]}static \u0275fac=function(t){return new(t||n)(ge(Dy))};static Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),It=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[qt,ui]})}return n})();var Cl=(()=>{class n{httpController;controller_id="";constructor(e){this.httpController=e}login(e,t,o){let r=new l5().set("username",t).set("password",o),a={headers:new u1().set("Content-Type","application/x-www-form-urlencoded")};return this.httpController.post(e,"/access/users/login",r,a)}getLoggedUser(e){return this.httpController.get(e,"/access/users/me").toPromise()}async getLoggedUserRefToken(e,t){return await this.httpController.post(e,"/access/users/authenticate",{username:t.username,password:t.password}).toPromise()}static \u0275fac=function(t){return new(t||n)(ge(gn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Ry=(()=>{class n{httpController;constructor(e){this.httpController=e}get(e){return this.httpController.get(e,"/version")}static \u0275fac=function(t){return new(t||n)(ge(gn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Gm=(()=>{class n{notificationService;currentController=null;constructor(e){this.notificationService=e}establishConnection(e){this.currentController&&this.currentController.id===e.id||(this.currentController&&this.disconnect(),this.notificationService.connectToComputeNotifications(e),this.currentController=e)}disconnect(){this.notificationService.disconnect(),this.currentController=null}getCurrentController(){return this.currentController}isConnectedTo(e){return this.currentController&&this.currentController.id===e.id}static \u0275fac=function(t){return new(t||n)(ge(fc))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var wae=["usernameInput"];function Mae(n,i){n&1&&B(0,"mat-icon",3)}function kae(n,i){n&1&&B(0,"mat-icon",4)}function Tae(n,i){n&1&&B(0,"mat-icon",9)}function Eae(n,i){n&1&&B(0,"mat-icon",10)}function Dae(n,i){if(n&1&&(s(0,"div",12)(1,"mat-icon",32),d(2,"storage"),l(),s(3,"div",33)(4,"span",34),d(5),l(),s(6,"span",35),d(7),l()()()),n&2){let e=C();u(5),$(e.controllerName),u(2),$(e.controllerAddress)}}function Pae(n,i){n&1&&(s(0,"mat-error"),d(1," Username is required "),l())}function Iae(n,i){n&1&&(s(0,"mat-error"),d(1," Password is required "),l())}function Aae(n,i){n&1&&(s(0,"div",19)(1,"mat-icon",36),d(2,"warning"),l(),s(3,"span"),d(4,"Caps Lock is on"),l()())}function Oae(n,i){n&1&&B(0,"mat-progress-spinner",24)}function Nae(n,i){n&1&&(s(0,"span"),d(1,"Login"),l())}function Rae(n,i){n&1&&B(0,"mat-icon",29)}function Fae(n,i){n&1&&B(0,"mat-icon",30)}var Fy=(()=>{class n{loginService=f(Cl);controllerService=f(Je);controllerDatabase=f($m);route=f(it);router=f(mt);toasterService=f(ee);versionService=f(Ry);themeService=f(di);connectionManager=f(Gm);cd=f(X);controller;returnUrl=se("");usernameInput;version=se("");isLoading=se(!1);hidePassword=se(!0);isCapsLockOn=se(!1);isRememberMeChecked=se(!1);currentYear=new Date().getFullYear();isLightThemeEnabled=mn(()=>this.themeService.getActualTheme()==="light");loginForm=new w1({username:new Ch("",{nonNullable:!0,validators:[$e.required]}),password:new Ch("",{nonNullable:!0,validators:[$e.required]})});constructor(){}ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.returnUrl.set(this.route.snapshot.queryParams.returnUrl||"/"),this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,t.authToken&&this.router.navigate(["/controller",this.controller.id,"projects"]),this.versionService.get(this.controller).subscribe({next:o=>{this.version.set(o.version)},error:o=>{let r=o.error?.message||o.message||"Failed to load version";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()}),this.loadRememberMeData(),setTimeout(()=>{this.usernameInput&&this.usernameInput.nativeElement.focus()},100)}loadRememberMeData(){let e=localStorage.getItem("isRememberMe");if(e)try{let t=JSON.parse(e);t.isRememberMe&&(this.loginForm.controls.username.setValue(t.username),this.isRememberMeChecked.set(!0))}catch(t){console.error("Failed to parse remember me data",t)}}togglePasswordVisibility(){this.hidePassword.update(e=>!e)}onCapsLock(e){this.isCapsLockOn.set(e.getModifierState&&e.getModifierState("CapsLock"))}login(){if(this.loginForm.invalid){this.toasterService.error("Please enter username and password");return}let e=this.loginForm.value.username,t=this.loginForm.value.password;this.isLoading.set(!0),this.loginService.login(this.controller,e,t).subscribe({next:async o=>{let r=this.controller;r.authToken=o.access_token,r.username=e,r.password=t,r.tokenExpired=!1,await this.controllerService.update(r),this.connectionManager.establishConnection(r),this.handleRememberMe(e),this.isLoading.set(!1),this.cd.markForCheck(),this.returnUrl().length<=1?this.router.navigate(["/controller",this.controller.id,"projects"]):this.router.navigateByUrl(this.r Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),lo=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[uc,vo,ui]})}return n})();var Vy,$ae=new Uint8Array(16);function c3(){if(!Vy&&(Vy=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Vy))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vy($ae)}var kB=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Hae(n){return typeof n=="string"&&kB.test(n)}var TB=Hae;var ua=[];for(zy=0;zy<256;++zy)ua.push((zy+256).toString(16).substr(1));var zy;function Uae(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(ua[n[i+0]]+ua[n[i+1]]+ua[n[i+2]]+ua[n[i+3]]+"-"+ua[n[i+4]]+ua[n[i+5]]+"-"+ua[n[i+6]]+ua[n[i+7]]+"-"+ua[n[i+8]]+ua[n[i+9]]+"-"+ua[n[i+10]]+ua[n[i+11]]+ua[n[i+12]]+ua[n[i+13]]+ua[n[i+14]]+ua[n[i+15]]).toLowerCase();if(!TB(e))throw TypeError("Stringified UUID is invalid");return e}var EB=Uae;function Gae(n,i,e){n=n||{};var t=n.random||(n.rng||c3)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,i){e=e||0;for(var o=0;o<16;++o)i[e+o]=t[o];return i}return EB(t)}var $i=Gae;var kr=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}addTemplate(e,t){return this.httpController.post(e,"/templates",t)}saveTemplate(e,t){return this.httpController.put(e,`/templates/${t.template_id}`,t)}static \u0275fac=function(t){return new(t||n)(ge(gn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var ka=(()=>{class n{getQemuTemplate(){return _t({adapter_type:"e1000",adapters:4,bios_image:"",boot_priority:"c",builtin:!1,category:"guest",cdrom_image:"",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",cpu_throttling:0,cpus:1,maxcpus:1,create_config_disk:!1,custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",hda_disk_image:"",hda_disk_interface:"ide",hdb_disk_image:"",hdb_disk_interface:"ide",hdc_disk_image:"",hdc_disk_interface:"ide",hdd_disk_image:"",hdd_disk_interface:"ide",initrd:"",kernel_command_line:"",kernel_image:"",linked_clone:!0,mac_address:"",name:"",on_close:"power_off",options:"-nographic",platform:"",port_name_format:"Ethernet{0}",port_segment_size:0,process_priority:"normal",qemu_path:"",ram:256,symbol:"qemu_guest",template_id:"",template_type:"qemu",usage:"",replicate_network_connection_state:!0,tpm:!1,uefi:!1,tags:[]})}getVpcsTemplate(){return _t({base_script_file:"vpcs_base_config.txt",builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"telnet",default_name_format:"PC{0}",name:"",symbol:"vpcs_guest",template_id:"",template_type:"vpcs",tags:[]})}getVirtualBoxTemplate(){return _t({adapter_type:"Intel PRO/1000 MT Desktop (82540EM)",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}",port_segment_size:0,ram:0,symbol:"vbox_guest",template_id:"",template_type:"virtualbox",usage:"",use_any_adapter:!1,vmname:"",tags:[]})}getCloudNodeTemplate(){return _t({builtin:!1,category:"guest",compute_id:"local",default_name_format:"Cloud{0}",name:"",ports_mapping:[],remote_console_type:"none",symbol:"cloud",template_id:"",template_type:"cloud",tags:[]})}getEthernetHubTemplate(){return _t({builtin:!1,category:"switch",compute_id:"local",default_name_format:"Hub{0}",name:"",ports_mapping:[],symbol:"hub",template_id:"",template_type:"ethernet_hub",tags:[]})}getEthernetSwitchTemplate(){return _t({builtin:!1,category:"switch",compute_id:"local",console_type:"telnet",default_name_format:"Switch{0}",name:"",ports_mapping:[],symbol:"ethernet_switch",template_id:"",template_type:"ethernet_switch",tags:[]})}getIosTemplate(){return _t({auto_delete_disks:!0,builtin:!1,category:"router",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",default_name_format:"R{0}",disk0:0,disk1:0,exec_area:64,idlemax:500,idlepc:"",idlesleep:30,image:"",mac_addr:"",mmap:!0,name:"",nvram:128,platform:"",private_config:"",ram:128,sparsemem:!0,startup_config:"ios_base_startup-config.txt",symbol:"router",system_id:"FTX0945W0MY",template_id:"",template_type:"dynamips",usage:"",tags:[]})}getVmwareTemplate(){return _t({adapter_type:"e1000",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}", Line truncated
`,Jae=[[["","matChipEdit",""]],[["mat-chip-avatar"],["","matChipAvatar",""]],[["","matChipEditInput",""]],"*",[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],ese=["[matChipEdit]","mat-chip-avatar, [matChipAvatar]","[matChipEditInput]","*","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function tse(n,i){n&1&&B(0,"span",0)}function nse(n,i){n&1&&(s(0,"span",1),nn(1),l())}function ise(n,i){n&1&&(s(0,"span",3),nn(1,1),l())}function ose(n,i){n&1&&nn(0,2)}function rse(n,i){n&1&&B(0,"span",7)}function ase(n,i){if(n&1&&A(0,ose,1,0)(1,rse,1,0,"span",7),n&2){let e=C();O(e.contentEditInput?0:1)}}function sse(n,i){n&1&&nn(0,3)}function lse(n,i){n&1&&(s(0,"span",6),nn(1,4),l())}var OB=["*"],cse=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0}
`,NB=new $t("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),DB=new $t("MatChipAvatar"),PB=new $t("MatChipTrailingIcon"),IB=new $t("MatChipEdit"),m3=new $t("MatChipRemove"),h3=new $t("MatChip"),RB=(()=>{class n{_elementRef=f(Qt);_parentChip=f(h3);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(e){this._disabled=e}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){f(pr).load(sa),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(t,o){t&2&&(Xt("disabled",o._getDisabledAttribute())("aria-disabled",o.disabled),Ue("mdc-evolution-chip__action--primary",o._isPrimary)("mdc-evolution-chip__action--secondary",!o._isPrimary)("mdc-evolution-chip__action--trailing",!o._isPrimary&&!o._isLeading))},inputs:{disabled:[2,"disabled","disabled",gt],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?-1:Lo(e)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return n})(),f3=(()=>{class n extends RB{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(e){!this.disabled&&this._isPrimary&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(t,o){t&1&&_("click",function(a){return o._handleClick(a)})("keydown",function(a){return o._handleKeydown(a)}),t&2&&(Xt("tabindex",o._getTabindex()),Ue("mdc-evolution-chip__action--presentational",!1))},features:[ci]})}return n})();var gi=(()=>{class n extends f3{_isPrimary=!1;_handleClick(e){this.disabled||(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(t,o){t&2&&Xt("aria-hidden",null)},features:[Cn([{provide:m3,useExisting:n}]),ci]})}return n})(),ai=(()=>{class n{_changeDetectorRef=f(X);_elementRef=f(Qt);_tagName=f(KN);_ngZone=f(Pi);_focusMonitor=f(Fa);_globalRippleOptions=f(N5,{optional:!0});_document=f(co);_onFocus=new je;_onBlur=new je;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=Qo();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=f(Do).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(e){this._value=e}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(e){this._disabled=e}_disabled=!1;removed=new _e;destroyed=new _e;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=f(R5);_injector=f(Wo);constructor(){let e=f(pr);e.load(sa),e.load(k1),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=En(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),th Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var d3=(()=>{class n{_elementRef=f(Qt);_document=f(co);constructor(){}initialize(e){this.getNativeElement().focus(),this.setValue(e)}getNativeElement(){return this._elementRef.nativeElement}setValue(e){this.getNativeElement().textContent=e,this._moveCursorToEndOfInput()}getValue(){return this.getNativeElement().textContent||""}_moveCursorToEndOfInput(){let e=this._document.createRange();e.selectNodeContents(this.getNativeElement()),e.collapse(!1);let t=window.getSelection();t.removeAllRanges(),t.addRange(e)}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["span","matChipEditInput",""]],hostAttrs:["role","textbox","tabindex","-1","contenteditable","true",1,"mat-chip-edit-input"]})}return n})(),dse=(()=>{class n extends ai{basicChipAttrName="mat-basic-chip-row";_renderer=f(pi);_cleanupMousedown;_editStartPending=!1;editable=!1;edited=new _e;defaultEditInput;contentEditInput;_alreadyFocused=!1;_isEditing=!1;constructor(){super(),this.role="row",this._onBlur.pipe(tt(this.destroyed)).subscribe(()=>{this._isEditing&&!this._editStartPending&&this._onEditFinish(),this._alreadyFocused=!1})}ngAfterViewInit(){super.ngAfterViewInit(),this._cleanupMousedown=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mousedown",()=>{this._alreadyFocused=this._hasFocus()}))}ngOnDestroy(){super.ngOnDestroy(),this._cleanupMousedown?.()}_hasLeadingActionIcon(){return!this._isEditing&&!!this.editIcon}_hasTrailingIcon(){return!this._isEditing&&super._hasTrailingIcon()}_handleFocus(){!this._isEditing&&!this.disabled&&this.focus()}_handleKeydown(e){e.keyCode===13&&!this.disabled?this._isEditing?(e.preventDefault(),this._onEditFinish()):this.editable&&this._startEditing(e):this._isEditing?e.stopPropagation():super._handleKeydown(e)}_handleClick(e){!this.disabled&&this.editable&&!this._isEditing&&this._alreadyFocused&&(e.preventDefault(),e.stopPropagation(),this._startEditing(e))}_handleDoubleclick(e){!this.disabled&&this.editable&&this._startEditing(e)}_edit(){this._changeDetectorRef.markForCheck(),this._startEditing()}_startEditing(e){if(!this.primaryAction||this.removeIcon&&e&&this._getSourceAction(e.target)===this.removeIcon)return;let t=this.value;this._isEditing=this._editStartPending=!0,aa(()=>{this._getEditInput().initialize(t),setTimeout(()=>this._ngZone.run(()=>this._editStartPending=!1))},{injector:this._injector})}_onEditFinish(){this._isEditing=this._editStartPending=!1,this.edited.emit({chip:this,value:this._getEditInput().getValue()}),(this._document.activeElement===this._getEditInput().getNativeElement()||this._document.activeElement===this._document.body)&&this.primaryAction.focus()}_isRippleDisabled(){return super._isRippleDisabled()||this._isEditing}_getEditInput(){return this.contentEditInput||this.defaultEditInput}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-row"],["","mat-chip-row",""],["mat-basic-chip-row"],["","mat-basic-chip-row",""]],contentQueries:function(t,o,r){if(t&1&&Vi(r,d3,5),t&2){let a;pt(a=ut())&&(o.contentEditInput=a.first)}},viewQuery:function(t,o){if(t&1&&Dn(d3,5),t&2){let r;pt(r=ut())&&(o.defaultEditInput=r.first)}},hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-row","mdc-evolution-chip"],hostVars:29,hostBindings:function(t,o){t&1&&_("focus",function(){return o._handleFocus()})("click",function(a){return o._hasInteractiveActions()?o._handleClick(a):null})("dblclick",function(a){return o._handleDoubleclick(a)}),t&2&&(qo("id",o.id),Xt("tabindex",o.disabled?null:-1)("aria-label",null)("aria-description",null)("role",o.role),Ue("mat-mdc-chip-with-avatar",o.leadingIcon)("mat-mdc-chip-disabled",o.disabled)("mat-mdc-chip-editing",o._isEditing)("mat-mdc-chip-editable",o.editable)("mdc-evolution-chip--disabled",o.disabled)("mdc-evolution-chip--with-leading-action",o._hasLeadingActionIcon())("mdc-evolution-chip--with-trailing-action",o._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",o.leadingIcon)("mdc-evolution-chip--with-primary-icon",o.leadingIcon)("mdc-evolution-chip--with-avatar",o.leadingIcon)("mat-mdc-chip-highlighted",o.highlighted)("mat-mdc-chip-with-trailing-icon",o._hasTrailingIcon()))},inputs:{editable:"editable"},outputs:{edited:"edited"},features:[Cn([{provide:ai,useExisting:n},{provide:h3,useExisting:n}]),ci],ngContentSelectors:ese,decls:9,vars:8,consts:[[1,"mat-mdc-chip-focus-overlay"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--leading"],["role","gridcell","matChipAction","",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary",3,"disabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],["aria-hidden","true",1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],["matChipEditInput",""]],template:fun Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var p3=class{source;value;constructor(i,e){this.source=i,this.value=e}},_i=(()=>{class n extends mse{ngControl=f(S1,{optional:!0,self:!0});controlType="mat-chip-grid";_chipInput;_defaultRole="grid";_errorStateTracker;_uid=f(Do).getId("mat-chip-grid-");_ariaDescribedbyIds=[];_onTouched=()=>{};_onChange=()=>{};get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e,this._syncChipsState(),this.stateChanges.next()}get id(){return this._chipInput?this._chipInput.id:this._uid}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this._chips||this._chips.length===0)}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder="";get focused(){return this._chipInput?.focused||this._hasFocusedChip()}get required(){return this._required??this.ngControl?.control?.hasValidator($e.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get shouldLabelFloat(){return!this.empty||this.focused}get value(){return this._value}set value(e){this._value=e}_value=[];get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get chipBlurChanges(){return this._getChipStream(e=>e._onBlur)}change=new _e;valueChange=new _e;_chips=void 0;stateChanges=new je;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(){super();let e=f(Gn,{optional:!0}),t=f(Nt,{optional:!0}),o=f(vd);this.ngControl&&(this.ngControl.valueAccessor=this),this._errorStateTracker=new O1(o,this.ngControl,t,e,this.stateChanges)}ngAfterContentInit(){this.chipBlurChanges.pipe(tt(this._destroyed)).subscribe(()=>{this._blur(),this.stateChanges.next()}),En(this.chipFocusChanges,this._chips.changes).pipe(tt(this._destroyed)).subscribe(()=>this.stateChanges.next())}ngDoCheck(){this.ngControl&&this.updateErrorState()}ngOnDestroy(){super.ngOnDestroy(),this.stateChanges.complete()}registerInput(e){this._chipInput=e,this._chipInput.setDescribedByIds(this._ariaDescribedbyIds),this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(e){!this.disabled&&!this._originatesFromChip(e)&&this.focus()}focus(){if(!(this.disabled||this._chipInput?.focused)){if(!this._chips.length||this._chips.first.disabled){if(!this._chipInput)return;Promise.resolve().then(()=>this._chipInput.focus())}else{let e=this._keyManager.activeItem;e?e.focus():this._keyManager.setFirstItemActive()}this.stateChanges.next()}}get describedByIds(){if(this._chipInput)return this._chipInput.describedByIds||[];let e=this._elementRef.nativeElement.getAttribute("aria-describedby");return e?e.split(" "):[]}setDescribedByIds(e){this._ariaDescribedbyIds=e,this._chipInput?this._chipInput.setDescribedByIds(e):e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(e){this._value=e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}updateErrorState(){this._errorStateTracker.updateErrorState()}_blur(){this.disabled||setTimeout(()=>{this.focused||(this._propagateChanges(),this._markAsTouched())})}_allowFocusEscape(){this._chipInput?.focused||super._allowFocusEscape()}_handleKeydown(e){let t=e.keyCode,o=this._keyManager.activeItem;if(t===9)this._chipInput?.focused&&Ca(e,"shiftKey")&&this._chips.length&&!this._chips.last.disabled?(e.preventDefault(),o?this._keyManager.setActiveItem(o):this._focusLastChip()):super._allowFocusEscape();else if(!this._chipInput?.focused)if((t===38||t===40)&&o){let r=this._chipActions.filter(m=>m._isPrimary===o._isPrimary&&!this._skipPredicate(m)),a=r.indexOf(o),c=e.keyCode===38?-1:1;e.preventDefault(),a>-1&&this._isValidIndex(a+c)&&this._keyManager.setActiveItem(r[a+c])}else super._handleKeydown(e);this.stateChanges.next()}_focusLastChip(){this._chips.length&&this._chips.last.focus()}_propagateChanges(){let e=this._chips.length?this._chips.toArray().map(t=>t.value):[];this._value=e,this.change.emit(new p3(this,e)),this.valueChange.emit(e),this._onChange(e),this._changeDetectorRef.markForCheck()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-grid"]],contentQueries:function(t,o,r){if(t&1&&Vi(r,dse,5),t&2){let a;pt(a=ut())&&(o._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mat-mdc-chip-grid","mdc-evolution-chip-set"],hostVars:10,hostBindings:function(t,o){t&1&&_("focus",function(){return o.focus()})("blur",function(){return o._blur()}),t&2&&(Xt("role",o.role)("tabindex",o.disabled||o._chips&&o._chips.length===0?-1:o.tabIndex)("aria-disabled",o.disabled.toString())("aria-inva Line truncated
`);for(let r=0;r<o.length;r++){let a=o[r].trim();if(!a)continue;let c=a.indexOf("=");if(c<=0)return{isValid:!1,errorMessage:`${t}, line ${r+1}: Invalid format (expected KEY=VALUE)`};let m=a.substring(0,c);if(m!==m.toUpperCase())return{isValid:!1,errorMessage:`${t}, line ${r+1}: Variable name "${m}" should be uppercase (e.g., ${m.toUpperCase()}=value)`}}return{isValid:!0}}validateConsolePort(e){return!e||e.trim()===""?{isValid:!0}:this.base.validatePortRange(e,1,65535)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Rv=(()=>{class n{base=f(Bi);idlePcRegex=/^(0x[0-9a-fA-F]+)?$/;platformRamLimits={c7200:{min:512,max:512},c3725:{min:128,max:256},c3745:{min:128,max:256},c2691:{min:128,max:256},c3600:{min:192,max:192},c2600:{min:160,max:160},c1700:{min:160,max:160}};platformNvramDefaults={c7200:512,c3725:256,c3745:256,c2691:256,c3600:256,c2600:256,c1700:256};validateName(e){return this.base.required(e,"Name")}validateImagePath(e){return this.base.required(e,"IOS image path")}validateRam(e){let t=this.base.required(e,"RAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){let t=this.base.required(e,"NVRAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}validateIdlepc(e){return!e||e.trim()===""?{isValid:!0}:this.idlePcRegex.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid Idle-PC format (expected 0x..., e.g. 0x1234)"}}validateMacAddress(e){return!e||e.trim()===""?{isValid:!0}:/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$/.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid MAC address format (expected XXXX.XXXX.XXXX)"}}validateRamForPlatform(e,t){let o=this.validateRam(e);if(!o.isValid)return o;let r=this.platformRamLimits[t];if(r){let a=parseInt(e,10);if(a<r.min||a>r.max)return{isValid:!1,errorMessage:`RAM for ${t} should be ${r.min} MB${r.max!==r.min?` (${r.min}-${r.max})`:""}`}}return{isValid:!0}}validateNvramForPlatform(e,t){let o=this.validateNvram(e);if(!o.isValid)return o;let r=this.platformNvramDefaults[t];if(r){let a=parseInt(e,10);if(a>r*2)return{isValid:!1,errorMessage:`NVRAM for ${t} is typically ${r} KB. Value ${a} seems unusually high.`}}return{isValid:!0}}validateIomem(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>100||t!==parseFloat(e)?{isValid:!1,errorMessage:"I/O memory must be an integer between 0 and 100"}:{isValid:!0}}validateDisk(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}validateNonNegative(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Fv=(()=>{class n{base=f(Bi);validateName(e){return this.base.required(e,"Name")}validatePath(e){return this.base.required(e,"IOU image path")}validateEthernetAdapters(e){let t=this.base.required(e,"Ethernet adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Ethernet adapters must be a non-negative integer"}:{isValid:!0}}validateSerialAdapters(e){let t=this.base.required(e,"Serial adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Serial adapters must be a non-negative integer"}:{isValid:!0}}validateRam(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var _3=(()=>{class n{base=f(Bi);validateName(e){return this.base.required(e,"Name")}validateRequiredRam(e){return this.base.required(e,"RAM")}validateCpus(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<1||t>255||t!==parseFloat(e)?{isValid:!1,errorMessage:"CPUs must be an integer between 1 and 255"}:{isValid:!0}}validateAdapters(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>275||t!==parseFloat(e)?{isValid:!1,errorMessage:"Adapters must be an integer between 0 and 275"}:{isValid:!0}}validateCpuThrottling(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0 Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Oce=(()=>{class n{templateRef=f(jo);name;constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:[0,"matStepperIcon","name"]}})}return n})(),Nce=(()=>{class n{_template=f(jo);constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepContent",""]]})}return n})(),Zl=(()=>{class n extends Yy{_errorStateMatcher=f(vd,{skipSelf:!0});_viewContainerRef=f(Ji);_isSelected=go.EMPTY;stepLabel=void 0;color;_lazyContent;_portal;ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe(hn(()=>this._stepper.selectionChange.pipe(xt(e=>e.selectedStep===this),xi(this._stepper.selected===this)))).subscribe(e=>{e&&this._lazyContent&&!this._portal&&(this._portal=new im(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(e,t){let o=this._errorStateMatcher.isErrorState(e,t),r=!!(e&&e.invalid&&this.interacted);return o||r}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-step"]],contentQueries:function(t,o,r){if(t&1&&Vi(r,Bv,5)(r,Nce,5),t&2){let a;pt(a=ut())&&(o.stepLabel=a.first),pt(a=ut())&&(o._lazyContent=a.first)}},hostAttrs:["hidden",""],inputs:{color:"color"},exportAs:["matStep"],features:[Cn([{provide:vd,useExisting:n},{provide:Yy,useExisting:n}]),ci],ngContentSelectors:jB,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(t,o){t&1&&(ii(),Se(0,vce,2,1,"ng-template"))},dependencies:[fh],encapsulation:2,changeDetection:0})}return n})(),Jl=(()=>{class n extends Ff{_ngZone=f(Pi);_renderer=f(pi);_animationsDisabled=Qo();_cleanupTransition;_isAnimating=se(!1);_stepHeader=void 0;_animatedContainers;_steps=void 0;steps=new jl;_icons;animationDone=new _e;disableRipple=!1;color;labelPosition="end";headerPosition="top";headerPrefix=ae(null);_iconOverrides={};get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e)?e+"ms":e}_animationDuration="";_isServer=!f(Zs).isBrowser;constructor(){super();let t=f(Qt).nativeElement.nodeName.toLowerCase();this.orientation=t==="mat-vertical-stepper"?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:e,templateRef:t})=>this._iconOverrides[e]=t),this.steps.changes.pipe(tt(this._destroyed)).subscribe(()=>this._stateChanged()),this.selectedIndexChange.pipe(tt(this._destroyed)).subscribe(()=>{let e=this._getAnimationDuration();e==="0ms"||e==="0s"?this._onAnimationDone():this._isAnimating.set(!0)}),this._ngZone.runOutsideAngular(()=>{this._animationsDisabled||setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-stepper-animations-enabled"),this._cleanupTransition=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionend)},200)})}ngAfterViewInit(){if(super.ngAfterViewInit(),typeof queueMicrotask=="function"){let e=!1;this._animatedContainers.changes.pipe(xi(null),tt(this._destroyed)).subscribe(()=>queueMicrotask(()=>{e||(e=!0,this.animationDone.emit()),this._stateChanged()}))}}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransition?.()}_getAnimationDuration(){return this._animationsDisabled?"0ms":this.animationDuration?this.animationDuration:this.orientation==="horizontal"?"500ms":"225ms"}_handleTransitionend=e=>{let t=e.target;if(!t)return;let o=this.orientation==="horizontal"&&e.propertyName==="transform"&&t.classList.contains("mat-horizontal-stepper-content-current"),r=this.orientation==="vertical"&&e.propertyName==="grid-template-rows"&&t.classList.contains("mat-vertical-content-container-active");(o||r)&&this._animatedContainers.find(c=>c.nativeElement===t)&&this._onAnimationDone()};_onAnimationDone(){this._isAnimating.set(!1),this.animationDone.emit()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(t,o,r){if(t&1&&Vi(r,Zl,5)(r,Oce,5),t&2){let a;pt(a=ut())&&(o._steps=a),pt(a=ut())&&(o._icons=a)}},viewQuery:function(t,o){if(t&1&&Dn(b3,5)(Cce,5),t&2){let r;pt(r=ut())&&(o._stepHeader=r),pt(r=ut())&&(o._animatedContainers=r)}},hostVars:14,hostBindings:function(t,o){t&2&&(wn("--mat-stepper-animation-duration",o._getAnimationDuration()),Ue("mat-stepper-horizontal",o.orientation==="horizontal")("mat-stepper-vertical",o.orientation==="vertical")("mat-stepper-label-position-end",o.orientation==="horizontal"&&o.labelPosition=="end")("mat-stepper-label-position-bottom",o.orientation==="horizontal"&&o.labelPosition=="bottom")("mat-stepper-header-position-bottom",o.headerPosition==="bottom")("mat-stepper-animating",o._isAnimating()))},inputs:{disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosi Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),UB=(()=>{class n extends BB{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(t,o){t&2&&qo("type",o.type)},features:[ci]})}return n})(),GB=(()=>{class n extends VB{static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(t,o){t&2&&qo("type",o.type)},features:[ci]})}return n})(),yl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({providers:[vd],imports:[gh,zB,re,uc,Jl,b3,ui]})}return n})();var Hc=(()=>{class n{getConsoleTypes(){return["telnet","ssh","vnc","http","https","none"]}getAuxConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getConsoleResolutions(){return["2560x1440","1920x1080","1680x1050","1440x900","1366x768","1280x1024","1280x800","1024x768","800x600","640x480"]}getMacAddrRegex(){return/^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$/}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var gs=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}getImages(e){return this.httpController.get(e,`/computes/${Fi.compute_id}/docker/images`)}addTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.post(e,"/templates",o)}saveTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.put(e,`/templates/${t.template_id}`,o)}prepareTemplate(e){return Qe(W({},e),{custom_adapters:e.custom_adapters||[]})}static \u0275fac=function(t){return new(t||n)(ge(gn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Rce=(n,i)=>i.image;function Fce(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),$(e.image)}}function Lce(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image list"),l(),s(3,"mat-select",30),_("selectionChange",function(o){T(e);let r=C();return E(r.selectedImage=o.value)}),Z(4,Fce,2,2,"mat-option",22,Rce),l()()}if(n&2){let e=C();u(3),b("value",e.selectedImage),u(),J(e.dockerImages)}}function Bce(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image name"),l(),s(3,"input",31),_("input",function(o){T(e);let r=C();return E(r.filename.set(o.target.value))}),l()()}if(n&2){let e=C();u(3),b("value",e.filename())}}function Vce(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),$(e)}}function zce(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),$(e)}}var Ky=(()=>{class n{route=f(it);controllerService=f(Je);dockerService=f(gs);toasterService=f(ee);router=f(mt);templateMocksService=f(ka);configurationService=f(Hc);computeService=f(Po);cd=f(X);controller;dockerTemplate;consoleTypes=[];auxConsoleTypes=[];dockerImages=[];selectedImage;newImageSelected=!1;isLocalComputerChosen=!0;filename=H("");templateName=H("");adapters=H(1);startCommand=H("");consoleType=H("");auxConsoleType=H("");environment=H("");ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,this.cd.markForCheck(),this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.templateMocksService.getDockerTemplate().subscribe({next:o=>{this.dockerTemplate=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load template";this.toasterService.error(r),this.cd.markForCheck()}}),this.dockerService.getImages(t).subscribe({next:o=>{this.dockerImages=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load docker images";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()})}setControllerType(e){e==="local"&&(this.isLocalComputerChosen=!0)}setDiskImage(e){this.newImageSelected=e==="newImage"}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}addTemplate(){!this.newImageSelected&&this.selectedImage||this.newImageSelected&&this.filename()&&this.templateName()&&this.adapters()?(this.dockerTemplate.template_id=$i(),this.newImageSelected?this.dockerTemplate.image=this.filename():this.dockerTemplate.image=this.selectedImage.image,this.dockerTemplate.name=this.templateName(),this.dockerTemplate.adapters=this.adapters(),this.dockerTempl Line truncated
`)),this.usage.set(r.usage||""),this.cd.markForCheck()},error:r=>{let a=r.error?.message||r.message||"Failed to load template";this.toasterService.error(a),this.cd.markForCheck()}})},o=>{let r=o.error?.message||o.message||"Failed to load controller";this.toasterService.error(r),this.cd.markForCheck()})}getConfiguration(){this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.categories=this.configurationService.getCategories(),this.consoleResolutions=this.configurationService.getConsoleResolutions()}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}toggleSection(e){switch(e){case"general":this.generalSettingsExpanded=!this.generalSettingsExpanded;break;case"advanced":this.advancedExpanded=!this.advancedExpanded;break;case"usage":this.usageExpanded=!this.usageExpanded;break}}onSave(){let e=this.validationService.validateName(this.name());if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}if(!this.validationService.validateName(this.image()).isValid){this.toasterService.error("Image is required");return}let o=this.validationService.validateAdapters(this.adaptersCount().toString(),100);if(!o.isValid){this.toasterService.error(o.errorMessage);return}let r=this.validationService.validateMacAddress(this.macAddress());if(!r.isValid){this.toasterService.error(r.errorMessage);return}let a=this.validationService.validateMemory(this.memory().toString());if(!a.isValid){this.toasterService.error(a.errorMessage);return}let c=this.validationService.validateCpus(this.cpus().toString());if(!c.isValid){this.toasterService.error(c.errorMessage);return}if(this.consoleHttpPort()){let p=this.validationService.validateConsoleHttpPort(this.consoleHttpPort().toString());if(!p.isValid){this.toasterService.error(p.errorMessage||"Console HTTP port must be between 1 and 65535");return}}let m=this.validationService.validateEnvironment(this.environment(),"Advanced > Environment");if(!m.isValid){this.toasterService.error(m.errorMessage);return}this.dockerTemplate.name=this.name(),this.dockerTemplate.default_name_format=this.defaultNameFormat(),this.dockerTemplate.category=this.category(),this.dockerTemplate.symbol=this.symbol(),this.dockerTemplate.tags=this.tags(),this.dockerTemplate.image=this.image(),this.dockerTemplate.start_command=this.startCommand(),this.dockerTemplate.mac_address=this.macAddress(),this.dockerTemplate.adapters=this.adaptersCount(),this.dockerTemplate.console_type=this.consoleType(),this.dockerTemplate.aux_type=this.auxConsoleType(),this.dockerTemplate.console_auto_start=this.consoleAutoStart(),this.dockerTemplate.console_resolution=this.consoleResolution(),this.dockerTemplate.console_http_port=this.consoleHttpPort(),this.dockerTemplate.console_http_path=this.consoleHttpPath(),this.dockerTemplate.memory=this.memory(),this.dockerTemplate.cpus=this.cpus(),this.dockerTemplate.environment=this.environment(),this.dockerTemplate.extra_hosts=this.extraHosts(),this.dockerTemplate.extra_volumes=this.extraVolumes()?this.extraVolumes().split(`
`).filter(p=>p.trim()):[],this.dockerTemplate.usage=this.usage(),this.dockerService.saveTemplate(this.controller,this.dockerTemplate).subscribe({next:p=>{this.toasterService.success("Changes saved")},error:p=>{let h=p.error?.message||p.message||"Failed to save template";this.toasterService.error(h),this.cd.markForCheck()}})}editCustomAdapters(){let e=this.dockerTemplate.custom_adapters||[];e.length===0&&(e=Array.from({length:this.adaptersCount()||1},(a,c)=>({adapter_number:c,port_name:"",adapter_type:""})));let t=this.dialogConfig.openConfig("base",{autoFocus:!1,panelClass:["base-dialog-panel","docker-configurator-dialog-panel"],disableClose:!0,data:{}});t.data={};let r=this.dialog.open(Lf,Qe(W({},t),{data:{}})).componentInstance;r.adapters.set(e),r.saveHandler=a=>{this.dockerTemplate.custom_adapters=a.map(c=>Qe(W({},c),{mac_address:c.mac_address||null})),this.adaptersCount.set(a.length)}}chooseSymbol(){let e=this.dialogConfig.openConfig("templateSymbol",{autoFocus:!1,disableClose:!1,data:{controller:this.controller,symbol:this.symbol()}});this.dialog.open(Xr,e).afterClosed().subscribe(o=>{o&&this.symbol.set(o)})}addTag(e){let t=(e.value||"").trim();t&&this.dockerTemplate&&(this.dockerTemplate.tags||(this.dockerTemplate.tags=[]),this.dockerTemplate.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.dockerTemplate.tags)return;let t=this.dockerTemplate.tags.indexOf(e);t>=0&&this.dockerTemplate.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-docker-template-details"]],inputs:{name:[1,"name"],defaultNameFormat:[1,"defaultNameFormat"],category:[1,"category"],symbol:[1,"symbol"],tags:[1,"tags"],image:[1,"image"],startCommand:[1,"startCommand"],macAddress:[1,"macAddress"],adaptersCount:[1,"adaptersCount"],memory:[1,"memory"],cpus:[1,"cpus"],consoleType:[1,"consoleType"],auxConsoleType:[1,"auxConsoleType"],consoleAutoStart:[1,"consoleAutoStart"],consoleResolution:[1,"consoleResolution"],consoleHttpPort:[1,"consoleHttpPort"],consoleHttpPath:[1,"consoleHttpPath"],environment:[1,"environment"],extraHosts:[1,"extraHosts"],extraVolumes:[1,"extraVolumes"],usage:[1,"usage"]},outputs:{name:"nameChange",defaultNameFormat:"defaultNameFormatChange",category:"categoryChange",symbol:"symbolChange",tags:"tagsChange",image:"imageChange",startCommand:"startCommandChange",macAddress:"macAddressChange",adaptersCount:"adaptersCountChange",memory:"memoryChange",cpus:"cpusChange",consoleType:"consoleTypeChange",auxConsoleType:"auxConsoleTypeChange",consoleAutoStart:"consoleAutoStartChange",consoleResolution:"consoleResolutionChange",consoleHttpPort:"consoleHttpPortChange",consoleHttpPath:"consoleHttpPathChange",environment:"environmentChange",extraHosts:"extraHostsChange",extraVolumes:"extraVolumesChange",usage:"usageChange"},decls:6,vars:2,consts:[["chipList",""],[1,"docker-details"],[1,"docker-details__header"],["mat-icon-button","",1,"docker-details__back-btn"],[1,"docker-details__title"],[1,"docker-details__content"],["mat-icon-button","",1,"docker-details__back-btn",3,"click"],[1,"docker-details__form-card"],[1,"docker-details__section-header",3,"click"],[1,"docker-details__section-title"],[1,"docker-details__expand-icon"],[1,"form-container"],[1,"preferences__usage-form"],[1,"docker-details__actions"],["mat-button","",1,"docker-details__cancel-btn",3,"click"],["mat-raised-button","","color","primary",1,"docker-details__save-btn",3,"click"],[1,"two-column-grid"],[1,"form-field"],["matInput","","type","text","placeholder","Template name",3,"input","value"],["matInput","","type","text","placeholder","Default name format",3,"input","value"],["matInput","","type","text","placeholder","Docker image name",3,"input","value"],[1,"docker-details__symbol-row"],["placeholder","Category",3,"selectionChange","value"],[3,"value"],[1,"form-field","form-field--flex"],["matInput","","type","text","placeholder","Symbol",3,"input","value"],["mat-button","",1,"docker-details__symbol-btn",3,"click"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],["matInput","","type","text","placeholder","Adapters",3,"input","value"],["matInput","","type","text","placeholder","Base MAC",3,"input","value"],["matInput","","type","text","min","0","placeholder","Memory",3,"input","value"],["matSuffix",""],["matInput","","type","text","min","0","placeholder","CPUs",3,"input","value"],["placeholder","Console type",3,"selectionChange","value"],["placeholder","Auxiliary console type",3,"selectionChange","value"],["placeholder","VNC console resolution",3,"selectionChange","value"],["matInput","","type","text","placeholder","HTTP port in the container",3,"input","value"],[1,"form-field","grid-span-2"],["matInput","","type","text","placeholder","HTTP path",3,"input","value"],[1,"grid-span-2",3,"change","checked"],["mat-button","",1,"form-field",3,"click"],[3,"removed"],["matChipRemove",""],[1,"docker-details__section-subtitle"],["mat Line truncated
/config)`,3,"input","value"],["matInput","","type","text","placeholder","Hostname to IP mappings, one per line (e.g., gns3.com:192.168.100.10)",3,"input","value"],[1,"preferences__usage-field--full"],["matInput","","type","text",3,"input","value"]],template:function(t,o){t&1&&(s(0,"div",1)(1,"header",2),A(2,Gce,3,0,"button",3),s(3,"h1",4),d(4,"Docker container template configuration"),l()(),A(5,ede,27,6,"main",5),l()),t&2&&(u(2),O(o.controller?2:-1),u(3),O(o.dockerTemplate?5:-1))},dependencies:[ne,Ze,st,at,Gn,dt,re,ce,U,pe,ze,we,ke,ot,to,ye,Ee,bt,Dt,vt,mi,ai,_i,vi,gi,It,qt],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.docker-details__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;display:flex;align-items:center;gap:16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.docker-details__back-btn[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;color:var(--mat-sys-on-surface);transition:all .2s cubic-bezier(.4,0,.2,1)}.docker-details__back-btn[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 8%,transparent)}.docker-details__title[_ngcontent-%COMP%]{flex:1;font-size:28px;font-weight:500;color:var(--mat-sys-on-surface);margin:0}.docker-details__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.docker-details--hidden[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.docker-details__form-card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent);margin-bottom:16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent)}.docker-details__section-header[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 5%,transparent)}.docker-details__section-title[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface-variant)}.docker-details__expand-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);transition:transform .2s ease}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%]{grid-column:1/-1}.docker-details__field[_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%]{width:100%}.docker-details__field--flex[_ngcontent-%COMP%]{flex:1}.docker-details__field--full[_ngcontent-%COMP%]{width:100%;padding:0}.docker-details__symbol-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.docker-details__symbol-row[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{flex:1}.docker-details__symbol-btn[_ngcontent-%COMP%]{margin-top:4px;height:48px}.docker-details__section-subtitle[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin:8px 0}.docker-details__checkbox[_ngcontent-%COMP%]{margin-top:8px}.docker-details__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.docker-details__cancel-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none}.docker-details__save-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.docker-details__header[_ngcontent-%COMP%]{padding:24px 16px 12px;gap:12px}.docker-details__back-btn[_ngcontent-%COMP%]{width:44px;height:44px}.docker-details__title[_ngcontent-%COMP%]{font-size:22px}.docker-details__content[_ngcontent-%COMP%]{padding:0 16px 16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:12px 16px}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px}.docker-details__symbol-row[_ngcontent-%COMP%]{flex-direction:column}.docker-details__symbol-btn[_ngcontent-%COMP%]{width:100%}.docker-details__actions[_ngcontent-%COMP%]{flex-direction:column}.docker-details__cancel-btn[_ngcontent-%COMP%], .docker-details__save-btn[_ngcontent-%COMP%]{width:100%;height:44px}}","[_nghost-%COMP%]{display:blLine truncated
`],encapsulation:2,changeDetection:0})}return n})();function WB(n,i=0,e=100){return Math.max(i,Math.min(e,n))}var wl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[ui]})}return n})();var Ml=(()=>{class n{data;_snackRef=f(q5);_US=f(Sl);uploadProgress=se(0);subscription;upload_file_type;constructor(e){this.data=e}ngOnInit(){this.upload_file_type=this.data.upload_file_type,this.subscription=this._US.currentCount.subscribe(e=>{this.uploadProgress.set(e),(this.uploadProgress()===100||this.uploadProgress()==null)&&this.dismiss()})}dismiss(){this._snackRef.dismiss()}cancelItem(){this._US.cancelFileUploading(!0)}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)(rt(Q5))};static \u0275cmp=F({type:n,selectors:[["app-uploading-processbar"]],decls:8,vars:3,consts:[[1,"row","proccessBar-row"],[1,"col-md-9","proccessBar-col"],["mode","determinate","aria-valuemin","0","aria-valuemax","100",3,"value"],[1,"col-md-3","proccessBar-col"],["mat-button","","color","primary",1,"file-button",3,"click"]],template:function(t,o){t&1&&(s(0,"p"),d(1),l(),s(2,"div",0)(3,"div",1),B(4,"mat-progress-bar",2),l(),s(5,"div",3)(6,"button",4),_("click",function(){return o.cancelItem()}),d(7,"Cancel"),l()()()),t&2&&(u(),Si("",o.upload_file_type," Uploading please wait .... ",o.uploadProgress,"%"),u(3),b("value",o.uploadProgress))},dependencies:[U,pe,wl,Uc],styles:[".mat-snack-bar-container[_ngcontent-%COMP%]{min-width:450px}.proccessBar-row[_ngcontent-%COMP%]{display:flex}.proccessBar-col[_ngcontent-%COMP%]{margin:auto}"],changeDetection:0})}return n})();var qm=class{auto_delete_disks;builtin;category;chassis;compute_id;console_auto_start;console_type;aux_type;default_name_format;disk0;disk1;exec_area;idlemax;idlepc;idlesleep;image;iomem;mac_addr;mmap;name;nvram;platform;private_config;ram;slot0;slot1;slot2;slot3;slot4;slot5;slot6;slot7;sparsemem;startup_config;symbol;system_id;template_id;template_type;usage;wic0;wic1;wic2;tags};var Qm=(()=>{class n{c2600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW"];c3600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW","NM-4T"];c3700_nms=["NM-1FE-TX","NM-4T","NM-16ESW"];c7200_pas=["PA-A1","PA-FE-TX","PA-2FE-TX","PA-GE","PA-4T+","PA-8T","PA-4E","PA-8E","PA-POS-OC3"];c7200_io=["C7200-IO-FE","C7200-IO-2FE","C7200-IO-GE-E"];c1700_wics=["WIC-1T","WIC-2T","WIC-1ENET"];c2600_wics=["WIC-1T","WIC-2T"];c3700_wics=["WIC-1T","WIC-2T"];getConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getDefaultRamSettings(){return{c1700:160,c2600:160,c2691:192,c3600:192,c3725:128,c3745:256,c7200:512}}getDefaultNvRamSettings(){return{c1700:128,c2600:128,c2691:256,c3600:256,c3725:256,c3745:256,c7200:512}}getAvailablePlatforms(){return["c1700","c2600","c2691","c3725","c3745","c3600","c7200"]}getPlatformsWithEtherSwitchRouterOption(){return{c1700:!1,c2600:!0,c2691:!0,c3725:!0,c3745:!0,c3600:!0,c7200:!1}}getPlatformsWithChassis(){return{c1700:!0,c2600:!0,c2691:!1,c3725:!1,c3745:!1,c3600:!0,c7200:!1}}getChassis(){return{c1700:["1720","1721","1750","1751","1760"],c2600:["2610","2611","2620","2621","2610XM","2611XM","2620XM","2621XM","2650XM","2651XM"],c3600:["3620","3640","3660"]}}getNPETypes(){return["npe-100","npe-150","npe-175","npe-200","npe-225","npe-300","npe-400","npe-g2"]}getMidplaneTypes(){return["std","vxr"]}getAdapterMatrix(){let e={};for(let t of["c1700","c2600","c2691","c3725","c3745","c3600","c7200"])e[t]={};for(let t of["1720","1721","1750","1751","1760"])e.c1700[t]={0:["C1700-MB-1FE"]};for(let t of["1751","1760"])e.c1700[t][1]=["C1700-MB-WIC1"];for(let t of["2620","2610XM","2620XM","2650XM"])e.c2600[t]={0:["C2600-MB-1FE"],1:this.c2600_nms};for(let t of["2621","2611XM","2621XM","2651XM"])e.c2600[t]={0:["C2600-MB-2FE"],1:this.c2600_nms};e.c2600[2610]={0:["C2600-MB-1E"],1:this.c2600_nms},e.c2600[2611]={0:["C2600-MB-2E"],1:this.c2600_nms},e.c2691[""]={0:["GT96100-FE"],1:this.c3700_nms},e.c3600[3620]={};for(let t=0;t<2;t++)e.c3600[3620][t]=this.c3600_nms;e.c3600[3640]={};for(let t=0;t<4;t++)e.c3600[3640][t]=this.c3600_nms;e.c3600[3660]={0:["Leopard-2FE"]};for(let t=1;t<7;t++)e.c3600[3660][t]=this.c3600_nms;e.c3725[""]={0:["GT96100-FE"]};for(let t=1;t<3;t++)e.c3725[""][t]=this.c3700_nms;e.c3745[""]={0:["GT96100-FE"]};for(let t=1;t<5;t++)e.c3745[""][t]=this.c3700_nms;e.c7200[""]={0:this.c7200_io};for(let t=1;t<7;t++)e.c7200[""][t]=this.c7200_pas;return e}getWicMatrix(){let e={};return e.c1700={0:this.c1700_wics,1:this.c1700_wics},e.c2600={0:this.c2600_wics,1:this.c2600_wics,2:this.c2600_wics},e.c2691={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3725={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3745={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e}getIdlepcRegex(){return/^(0x[0-9a-fA-F]+)?$|^$/}getMacAddrRegex(){return/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4 Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var Vme={provide:gd,useExisting:md(()=>Us),multi:!0};var zme=new $t("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Wo);return()=>v1(n)}}),Us=(()=>{class n{_environmentInjector=f(zl);_element=f(Qt);_injector=f(Wo);_viewContainerRef=f(Ji);_zone=f(Pi);_changeDetectorRef=f(X);_dir=f(ts,{optional:!0});_formField=f(yh,{optional:!0,host:!0});_viewportRuler=f(hd);_scrollStrategy=f(zme);_renderer=f(pi);_animationsDisabled=Qo();_defaults=f(qB,{optional:!0});_overlayRef=null;_portal;_componentDestroyed=!1;_initialized=new je;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue=null;_valueOnAttach=null;_valueOnLastKeydown=null;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=go.EMPTY;_breakpointObserver=f(T1);_handsetLandscapeSubscription=go.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption=null;_closeKeyEventStream=new je;_overlayPanelClass=b5(this._defaults?.overlayPanelClass||[]);_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled=!1;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&D1(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return En(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(Yn(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(Yn(()=>this._overlayAttached)):_t()).pipe(xt(e=>e instanceof U5?e:null))}optionSelections=sh(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(xi(e),hn(()=>En(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(hn(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new Pr(e=>{let t=r=>{let a=Bp(r),c=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,m=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&a!==this._element.nativeElement&&!this._hasFocus()&&(!c||!c.contains(a))&&(!m||!m.contains(a))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(a)&&e.next(r)},o=[this._renderer.listen("document","click",t),this._renderer.listen("document","auxclick",t),this._renderer.listen("document","touchend",t)];return()=>{o.forEach(r=>r())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e,o=t.keyCode,r=Ca(t);if(o===27&&!r&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&o===13&&this.panelOpen&&!r)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let a=this.autocomplete._keyManager.activeItem,c=o===38||o===40;o===9||c&&!r&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):c&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(c||this.autocomplete._keyManager.activeItem!==a)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this Line truncated
`+p.join(`
`));return}let e=this.data.portNameFormat||"Ethernet{0}",t=this.data.portSegmentSize||0,o=this.data.defaultAdapterType||"e1000",r=[];for(let m of this.adapters()){let p;if(t>0){let x=Math.floor(m.adapter_number/t),v=m.adapter_number%t;p=e.replace("{0}",String(x*t+v))}else p=e.replace("{0}",String(m.adapter_number));let h=m.port_name!==p,g=m.adapter_type!==o,S=m.mac_address&&m.mac_address.length>0;(h||g||S)&&r.push({adapter_number:m.adapter_number,port_name:h?m.port_name:p,adapter_type:m.adapter_type,mac_address:m.mac_address||null})}let a=this.adapters().length,c={adapters:r,requiredAdapters:a};this.dialogRef.close(c)}static \u0275fac=function(t){return new(t||n)(rt(Mt))};static \u0275cmp=F({type:n,selectors:[["app-custom-adapters"]],inputs:{adapters:[1,"adapters"]},outputs:{adapters:"adaptersChange"},decls:28,vars:0,consts:[["mat-dialog-title",""],["mat-dialog-content","",1,"content"],[1,"adapter-form"],[1,"adapter-header"],[1,"adapter-header-label"],[1,"adapter-header-field"],[1,"adapter-header-actions"],[1,"adapter-item"],[1,"add-adapter-row"],["mat-button","",1,"add-btn",3,"click"],[1,"info-note-text"],["mat-dialog-actions","","align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"adapter-label"],["appearance","fill","subscriptSizing","dynamic",1,"adapter-field"],["matInput","",3,"input","value","name"],[3,"selectionChange","value","name"],[3,"value"],["matInput","","placeholder","Paste any MAC format",3,"input","value","name"],["mat-icon-button","","matTooltip","Delete",1,"adapter-actions",3,"click"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1,"Custom adapters configuration"),l(),s(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),d(6,"Adapter"),l(),s(7,"span",5),d(8,"Port name"),l(),s(9,"span",5),d(10,"Type"),l(),s(11,"span",5),d(12,"MAC address"),l(),B(13,"span",6),l(),Z(14,Wme,15,11,"div",7,$me),l(),s(16,"div",8)(17,"button",9),_("click",function(){return o.onAdd()}),s(18,"mat-icon"),d(19,"add"),l(),d(20," Add adapter "),l(),s(21,"div",10),d(22," Deleting an adapter reduces the total number of adapters. Adapter numbers will be renumbered when reopened. Adapters without custom configuration will use default settings. "),l()()(),s(23,"div",11)(24,"button",12),_("click",function(){return o.cancelConfigureCustomAdapters()}),d(25,"Cancel"),l(),s(26,"button",13),_("click",function(){return o.configureCustomAdapters()}),d(27,"Apply"),l()()),t&2&&(u(14),J(o.adapters()))},dependencies:[U,pe,ze,we,ke,hi,re,ce,ye,Ee,bt,Dt,vt,Et,Vt,ve,Fe,Re,Rt],styles:["[_nghost-%COMP%]{display:block}.adapter-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.adapter-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--mat-sys-surface-container-lowest);border-radius:12px;border:1px solid color-mix(in srgb,var(--mat-sys-outline) 15%,transparent)}.adapter-item[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--mat-sys-primary) 30%,transparent)}.adapter-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--mat-sys-on-surface);text-align:center}.adapter-header[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:8px 16px;margin-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent);position:sticky;top:0;z-index:10;background:var(--mat-sys-surface);box-shadow:0 2px 4px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.adapter-header-label[_ngcontent-%COMP%], .adapter-header-field[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;text-align:center}.adapter-header-actions[_ngcontent-%COMP%]{width:40px;text-align:center}.adapter-field[_ngcontent-%COMP%], .adapter-actions[_ngcontent-%COMP%]{margin:0;text-align:center}.add-btn[_ngcontent-%COMP%]{flex-shrink:0;width:auto;margin-top:12px;height:48px;border-radius:12px;font-size:14px;font-weight:500;text-transform:none;border:2px dashed color-mix(in srgb,var(--mat-sys-outline) 40%,transparent);color:var(--mat-sys-on-surface-variant)}.add-btn[_ngcontent-%COMP%]:hover{border-color:var(--mat-sys-primary);color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 8%,transparent)}"],changeDetection:0})}return n})();var QB=(n,i)=>i[1],Zm=(n,i)=>i.filename,qme=(n,i)=>i.value;function Qme(n,i){if(n&1){let e=z();s(0,"button",18),_("click",function(){T(e);let o=C();return E(o.goBack())}),s(1,"mat-icon"),d(2,"arrow_back"),l()()}}function Xme(n,i){if(n&1&&(s(0,"mat-option",37),d(1),l()),n&2){let e=i.$implicit;b("value",e[1]),u(),$(e[0])}}function Yme(n,i){if(n&1){let e=z();s(0,"mat-chip",47),_("removed",function(){let o=T(e).$implicit,r=C(3);return E(r.removeTag(o))}),d(1),s(2,"mat-icon",48),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;u(),te(" ",e," ")}}function Kme(n,i){if(n&1&&( Line truncated
`],encapsulation:2})}return n})(),S3=new $t("MatBottomSheetData"),y3=class{viewContainerRef;injector;panelClass;direction;data=null;hasBackdrop=!0;backdropClass;disableClose=!1;ariaLabel=null;ariaModal=!1;closeOnNavigation=!0;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;height="";minHeight;maxHeight},tp=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new je;_result;_closeFallbackTimeout;constructor(i,e,t){this._ref=i,this.containerInstance=t,this.disableClose=e.disableClose,t._animationStateChanged.pipe(Yn(o=>o.phase==="done"&&o.toState==="visible"),Gi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Yn(o=>o.phase==="done"&&o.toState==="hidden"),Gi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),i.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),En(this.backdropClick(),this.keydownEvents().pipe(Yn(o=>o.keyCode===27))).subscribe(o=>{!this.disableClose&&(o.type!=="keydown"||!Ca(o))&&(o.preventDefault(),this.dismiss())})}dismiss(i){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(Yn(e=>e.phase==="start"),Gi(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=i,this.containerInstance.exit(),this.containerInstance=null)}afterDismissed(){return this._ref.closed}afterOpened(){return this._afterOpened}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}},Zpe=new $t("mat-bottom-sheet-default-options"),ec=(()=>{class n{_injector=f(Wo);_parentBottomSheet=f(n,{optional:!0,skipSelf:!0});_animationsDisabled=Qo();_defaultOptions=f(Zpe,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=f(z5);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,t){let o=W(W({},this._defaultOptions||new y3),t),r;return this._dialog.open(e,Qe(W({},o),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:Kpe,scrollStrategy:o.scrollStrategy||x5(this._injector),positionStrategy:y5(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:r}),providers:(a,c,m)=>(r=new tp(a,o,m),[{provide:tp,useValue:r},{provide:S3,useValue:o.data}])})),r.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===r&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>r.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):r.containerInstance.enter(),this._openedBottomSheetRef=r,r}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),qc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({providers:[ec],imports:[j5,gh,ui]})}return n})();var eue=(n,i)=>i==null?null:i.name;function tue(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),$(e==null?null:e.name)}}function nue(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),$(e)}}function iue(n,i){if(n&1){let e=z();s(0,"form",1),_("ngSubmit",function(){T(e);let o=C();return E(o.export_project_form.valid&&o.exportPortableProject())}),s(1,"div",2)(2,"h1",3),d(3,"Export Project"),l(),s(4,"button",4),_("click",function(){T(e);let o=C();return E(o.dialogRef.close())}),s(5,"mat-icon"),d(6,"close"),l()()(),B(7,"mat-divider"),s(8,"div",5)(9,"div",6)(10,"span",7),d(11,"Compression:"),l(),s(12,"mat-form-field",8)(13,"mat-select",9),_("selectionChange",function(o){T(e);let r=C();return E(r.selectCompression(o))}),Z(14,tue,2,2,"mat-option",10,eue),l()()(),s(16,"div",6)(17,"span",7),d(18,"Compression level:"),l(),s(19,"mat-form-field",8)(20,"mat-select",11),Z(21,nue,2,2,"mat-option",10,Ae),l()()(),s(23,"div",6)(24,"section",12)(25,"mat-checkbox",13),d(26," Include base images "),l()()(),s(27,"div",6)(28,"section",12)(29,"mat-checkbox",14),d(30," Include snapshots "),l()()(),s(31,"div",6)(32,"section",12)(33,"mat-checkbox",15),d(34," Reset MAC addresses "),l()()()(),B(35,"mat-divider"),s(36,"div",16)(37,"button",17),_("click",function(){T(e);let o=C();return E(o.dialogRef.close())}),d(38,"Cancel"),l(),s(39,"button",18),d(40,"Export"),l()()()}if(n&2){let e=C();b("formGroup",e.export_project_form),u(14),J(e.compression_methods),u(7),J(e.compression_filter_value),u(18),b("disab Line truncated
`)}})}var N3=100,UV=60,GV=" ";function WV({source:n,line:i,column:e},t){function o(h,g){return r.slice(h,g).map((S,x)=>String(h+x+1).padStart(m)+" |"+S).join(`
`)}let r=n.split(/\r\n?|\n|\f/),a=Math.max(1,i-t)-1,c=Math.min(i+t,r.length+1),m=Math.max(4,String(c).length)+1,p=0;e+=(GV.length-1)*(r[i-1].substr(0,e-1).match(/\t/g)||[]).length,e>N3&&(p=e-UV+3,e=UV-2);for(let h=a;h<=c;h++)h>=0&&h<r.length&&(r[h]=r[h].replace(/\t/g,GV),r[h]=(p>0&&r[h].length>p?"\u2026":"")+r[h].substr(p,N3-2)+(r[h].length>p+N3-1?"\u2026":""));return[o(a,i),new Array(e+m+2).join("-")+"^",o(i,c)].filter(Boolean).join(`
`)}function R3(n,i,e,t,o){return Object.assign(Lu("SyntaxError",n),{source:i,offset:e,line:t,column:o,sourceFragment(a){return WV({source:i,line:t,column:o},isNaN(a)?0:a)},get formattedMessage(){return`Parse error: ${n}
`+WV({source:i,line:t,column:o},2)}})}function qV(n){let i=this.createList(),e=!1,t={recognizer:n};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:e=!0,this.next();continue}let o=n.getNode.call(this,t);if(o===void 0)break;e&&(n.onWhiteSpace&&n.onWhiteSpace.call(this,o,i,t),e=!1),i.push(o)}return e&&n.onWhiteSpace&&n.onWhiteSpace.call(this,null,i,t),i}var QV=()=>{},che=33,dhe=35,F3=59,XV=123,YV=0;function mhe(n){return function(){return this[n]()}}function L3(n){let i=Object.create(null);for(let e in n){let t=n[e],o=t.parse||t;o&&(i[e]=o)}return i}function phe(n){let i={context:Object.create(null),scope:Object.assign(Object.create(null),n.scope),atrule:L3(n.atrule),pseudo:L3(n.pseudo),node:L3(n.node)};for(let e in n.parseContext)switch(typeof n.parseContext[e]){case"function":i.context[e]=n.parseContext[e];break;case"string":i.context[e]=mhe(n.parseContext[e]);break}return W(W({config:i},i),i.node)}function KV(n){let i="",e="<unknown>",t=!1,o=QV,r=!1,a=new NS,c=Object.assign(new Kv,phe(n||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:qV,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(p){return p===XV?1:0},consumeUntilLeftCurlyBracketOrSemicolon(p){return p===XV||p===F3?1:0},consumeUntilExclamationMarkOrSemicolon(p){return p===che||p===F3?1:0},consumeUntilSemicolonIncluded(p){return p===F3?2:0},createList(){return new Ya},createSingleNodeList(p){return new Ya().appendData(p)},getFirstListNode(p){return p&&p.first},getLastListNode(p){return p&&p.last},parseWithFallback(p,h){let g=this.tokenIndex;try{return p.call(this)}catch(S){if(r)throw S;let x=h.call(this,g);return r=!0,o(S,x),r=!1,x}},lookupNonWSType(p){let h;do if(h=this.lookupType(p++),h!==13)return h;while(h!==YV);return YV},charCodeAt(p){return p>=0&&p<i.length?i.charCodeAt(p):0},substring(p,h){return i.substring(p,h)},substrToCursor(p){return this.source.substring(p,this.tokenStart)},cmpChar(p,h){return Bd(i,p,h)},cmpStr(p,h,g){return Vd(i,p,h,g)},consume(p){let h=this.tokenStart;return this.eat(p),this.substrToCursor(h)},consumeFunctionName(){let p=i.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),p},consumeNumber(p){let h=i.substring(this.tokenStart,Fu(i,this.tokenStart));return this.eat(p),h},eat(p){if(this.tokenType!==p){let h=Xf[p].slice(0,-6).replace(/-/g," ").replace(/^./,x=>x.toUpperCase()),g=`${/[[\](){}]/.test(h)?`"${h}"`:h} is expected`,S=this.tokenStart;switch(p){case 1:this.tokenType===2||this.tokenType===7?(S=this.tokenEnd-1,g="Identifier is expected but function found"):g="Identifier is expected";break;case 4:this.isDelim(dhe)&&(this.next(),S++,g="Name is expected");break;case 11:this.tokenType===10&&(S=this.tokenEnd,g="Percent sign is expected");break}this.error(g,S)}this.next()},eatIdent(p){(this.tokenType!==1||this.lookupValue(0,p)===!1)&&this.error(`Identifier "${p}" is expected`),this.next()},eatDelim(p){this.isDelim(p)||this.error(`Delim "${String.fromCharCode(p)}" is expected`),this.next()},getLocation(p,h){return t?a.getLocationRange(p,h,e):null},getLocationFromList(p){if(t){let h=this.getFirstListNode(p),g=this.getLastListNode(p);return a.getLocationRange(h!==null?h.loc.start.offset-a.startOffset:this.tokenStart,g!==null?g.loc.end.offset-a.startOffset:this.tokenStart,e)}return null},error(p,h){let g=typeof h<"u"&&h<i.length?a.getLocation(h):this.eof?a.getLocation(zV(i,i.length-1)):a.getLocation(this.tokenStart);throw new R3(p||"Unexpected input",i,g.offset,g.line,g.column)}});return Object.assign(function(p,h){i=p,h=h||{},c.setSource(i,sp),a.setSource(i,h.offset,h.line,h.column),e=h.filename||"<unknown>",t=!!h.positions,o=typeof h.onParseError=="function"?h.onParseError:QV,r=!1,c.parseAtrulePrelude="parseAtrulePrelude"in h?!!h.parseAtrulePrelude:!0,c.parseRulePrelude="parseRulePrelude"in h?!!h.parseRulePrelude:!0,c.parseValue="parseValue"in h?!!h.parseValue:!0,c.parseCustomProperty="parseCustomProperty"in h?!!h.parseCustomProperty:!1;let{context:g="default",onComment:S}=h;if(!(g in c.context))throw new Error("Unknown context `"+g+"`");typeof S=="function"&&c.forEachToken((v,M,w)=>{if(v===25){let y=c.getLocation(M,w),k=Vd(i,w-2,w,"*/")?i.slice(M+2,w-2):i.slice(M+2,w);S(k,y)}});let x=c.context[g].call(c,h);return c.eof||c.error(),x},{SyntaxError:R3,config:c.config})}var vz=Xs(gz(),1),_z=new Set(["Atrule","Selector","Declaration"]);function Cz(n){let i=new vz.SourceMapGenerator,e={line:1,column:0},t={line:0,column:0},o={line:1,column:0},r={generated:o},a=1,c=0,m=!1,p=n.node;n.node=function(S){if(S.loc&&S.loc.start&&_z.has(S.type)){let x=S.loc.start.line,v=S.loc.start.column-1;(t.line!==x||t.column!==v)&&(t.line=x,t.column=v,e.line=a,e.column=c,m&&(m=!1,(e.line!==o.line||e.column!==o.column)&&i.addMapping(r)),m=!0,i.addMapping({source:S.loc.source,original:t,generated:e}))}p.call(this,S),m&&_z.has(S.type)&&(o.line=a,o.column=c)};let h=n.emit;n.emit=function(S,x,v){for(let M=0;M<S.length;M++)S.charCodeAt(M)===10?(a++,c=0):c++;h(S Line truncated
`,13,!0)},emit(m){o+=m},result(){return o}};t&&(typeof t.decorator=="function"&&(a=t.decorator(a)),t.sourceMap&&(a=Cz(a)),t.mode in BS&&(a.tokenBefore=BS[t.mode]));let c={node:m=>a.node(m),children:Fhe,token:(m,p)=>a.token(m,p),tokenize:Lhe};return a.node(e),a.result()}}function Sz(n){return{fromPlainObject(i){return n(i,{enter(e){e.children&&!(e.children instanceof Ya)&&(e.children=new Ya().fromArray(e.children))}}),i},toPlainObject(i){return n(i,{leave(e){e.children&&e.children instanceof Ya&&(e.children=e.children.toArray())}}),i}}}var{hasOwnProperty:W3}=Object.prototype,tC=function(){};function wz(n){return typeof n=="function"?n:tC}function Mz(n,i){return function(e,t,o){e.type===i&&n.call(this,e,t,o)}}function Bhe(n,i){let e=i.structure,t=[];for(let o in e){if(W3.call(e,o)===!1)continue;let r=e[o],a={name:o,type:!1,nullable:!1};Array.isArray(r)||(r=[r]);for(let c of r)c===null?a.nullable=!0:typeof c=="string"?a.type="node":Array.isArray(c)&&(a.type="list");a.type&&t.push(a)}return t.length?{context:i.walkContext,fields:t}:null}function Vhe(n){let i={};for(let e in n.node)if(W3.call(n.node,e)){let t=n.node[e];if(!t.structure)throw new Error("Missed `structure` field in `"+e+"` node type definition");i[e]=Bhe(e,t)}return i}function kz(n,i){let e=n.fields.slice(),t=n.context,o=typeof t=="string";return i&&e.reverse(),function(r,a,c,m){let p;o&&(p=a[t],a[t]=r);for(let h of e){let g=r[h.name];if(!h.nullable||g){if(h.type==="list"){if(i?g.reduceRight(m,!1):g.reduce(m,!1))return!0}else if(c(g))return!0}}o&&(a[t]=p)}}function Tz({StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}){return{Atrule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Rule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Declaration:{StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}}}function Ez(n){let i=Vhe(n),e={},t={},o=Symbol("break-walk"),r=Symbol("skip-node");for(let p in i)W3.call(i,p)&&i[p]!==null&&(e[p]=kz(i[p],!1),t[p]=kz(i[p],!0));let a=Tz(e),c=Tz(t),m=function(p,h){function g(y,k,I){let P=S.call(w,y,k,I);return P===o?!0:P===r?!1:!!(v.hasOwnProperty(y.type)&&v[y.type](y,w,g,M)||x.call(w,y,k,I)===o)}let S=tC,x=tC,v=e,M=(y,k,I,P)=>y||g(k,I,P),w={break:o,skip:r,root:p,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof h=="function")S=h;else if(h&&(S=wz(h.enter),x=wz(h.leave),h.reverse&&(v=t),h.visit)){if(a.hasOwnProperty(h.visit))v=h.reverse?c[h.visit]:a[h.visit];else if(!i.hasOwnProperty(h.visit))throw new Error("Bad value `"+h.visit+"` for `visit` option (should be: "+Object.keys(i).sort().join(", ")+")");S=Mz(S,h.visit),x=Mz(x,h.visit)}if(S===tC&&x===tC)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");g(p)};return m.break=o,m.skip=r,m.find=function(p,h){let g=null;return m(p,function(S,x,v){if(h.call(this,S,x,v))return g=S,o}),g},m.findLast=function(p,h){let g=null;return m(p,{reverse:!0,enter(S,x,v){if(h.call(this,S,x,v))return g=S,o}}),g},m.findAll=function(p,h){let g=[];return m(p,function(S,x,v){h.call(this,S,x,v)&&g.push(S)}),g},m}function zhe(n){return n}function jhe(n){let{min:i,max:e,comma:t}=n;return i===0&&e===0?t?"#?":"*":i===0&&e===1?"?":i===1&&e===0?t?"#":"+":i===1&&e===1?"":(t?"#":"")+(i===e?"{"+i+"}":"{"+i+","+(e!==0?e:"")+"}")}function $he(n){if(n.type==="Range")return" ["+(n.min===null?"-\u221E":n.min)+","+(n.max===null?"\u221E":n.max)+"]";throw new Error("Unknown node type `"+n.type+"`")}function Hhe(n,i,e,t){let o=n.combinator===" "||t?n.combinator:" "+n.combinator+" ",r=n.terms.map(a=>q3(a,i,e,t)).join(o);return n.explicit||e?(t||r[0]===","?"[":"[ ")+r+(t?"]":" ]"):r}function q3(n,i,e,t){let o;switch(n.type){case"Group":o=Hhe(n,i,e,t)+(n.disallowEmpty?"!":"");break;case"Multiplier":return q3(n.term,i,e,t)+i(jhe(n),n);case"Type":o="<"+n.name+(n.opts?i($he(n.opts),n.opts):"")+">";break;case"Property":o="<'"+n.name+"'>";break;case"Keyword":o=n.name;break;case"AtKeyword":o="@"+n.name;break;case"Function":o=n.name+"(";break;case"String":case"Token":o=n.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+n.type+"`")}return i(o,n)}function Jf(n,i){let e=zhe,t=!1,o=!1;return typeof i=="function"?e=i:i&&(t=!!i.forceBraces,o=!!i.compact,typeof i.decorate=="function"&&(e=i.decorate)),q3(n,e,t,o)}var Dz={offset:0,line:1,column:1};function Uhe(n,i){let e=n.tokens,t=n.longestMatch,o=t<e.length&&e[t].node||null,r=o!==i?o:null,a=0,c=0,m=0,p="",h,g;for(let S=0;S<e.length;S++){let x=e[S].value;S===t&&(c=x.length,a=p.length),r!==null&&e[S].node===r&&(S<=t?m++:m=0),p+=x}return t===e.length||m>1?(h=VS(r||i,"end")||nC(Dz,p),g=nC(h)):(h=VS(r,"start")||nC(VS(i,"start")||Dz,p.slice(0,a)),g=VS(r,"end")||nC(h,p.substr(a,c))),{css:p,mismatchOffset:a,mismatchLength:c,start:h,end:g}}function VS(n,i){let e=n&&n.loc&&n.loc[i];return e?"line"in e?nC(e):e:null}function nC({offset:n,line:i,column:e},t){let o={offset:n,line:i,column:e};if(t){let r=t.split(/\n|\r\n?|\f/);o.offset+=t.length,o.line+=r.le Line truncated
syntax: `+o.syntax+`
value: `+(r||"<empty string>")+`
--------`+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,m),o.loc={source:e&&e.loc&&e.loc.source||"<unknown>",start:m,end:p},o};var zS=new Map,tg=new Map,jS=45,$S=Ghe,Q3=Whe;function HS(n,i){return i=i||0,n.length-i>=2&&n.charCodeAt(i)===jS&&n.charCodeAt(i+1)===jS}function Iz(n,i){if(i=i||0,n.length-i>=3&&n.charCodeAt(i)===jS&&n.charCodeAt(i+1)!==jS){let e=n.indexOf("-",i+2);if(e!==-1)return n.substring(i,e+1)}return""}function Ghe(n){if(zS.has(n))return zS.get(n);let i=n.toLowerCase(),e=zS.get(i);if(e===void 0){let t=HS(i,0),o=t?"":Iz(i,0);e=Object.freeze({basename:i.substr(o.length),name:i,prefix:o,vendor:o,custom:t})}return zS.set(n,e),e}function Whe(n){if(tg.has(n))return tg.get(n);let i=n,e=n[0];e==="/"?e=n[1]==="/"?"//":"/":e!=="_"&&e!=="*"&&e!=="$"&&e!=="#"&&e!=="+"&&e!=="&"&&(e="");let t=HS(i,e.length);if(!t&&(i=i.toLowerCase(),tg.has(i))){let c=tg.get(i);return tg.set(n,c),c}let o=t?"":Iz(i,e.length),r=i.substr(0,e.length+o.length),a=Object.freeze({basename:i.substr(r.length),name:i.substr(e.length),hack:e,vendor:o,prefix:r,custom:t});return tg.set(n,a),a}var US=["initial","inherit","unset","revert","revert-layer"];var oC=43,Zc=45,X3=110,ng=!0,Qhe=!1;function K3(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function iC(n,i,e){for(;n!==null&&(n.type===13||n.type===25);)n=e(++i);return i}function lp(n,i,e,t){if(!n)return 0;let o=n.value.charCodeAt(i);if(o===oC||o===Zc){if(e)return 0;i++}for(;i<n.value.length;i++)if(!er(n.value.charCodeAt(i)))return 0;return t+1}function Y3(n,i,e){let t=!1,o=iC(n,i,e);if(n=e(o),n===null)return i;if(n.type!==10)if(K3(n,oC)||K3(n,Zc)){if(t=!0,o=iC(e(++o),o,e),n=e(o),n===null||n.type!==10)return 0}else return i;if(!t){let r=n.value.charCodeAt(0);if(r!==oC&&r!==Zc)return 0}return lp(n,t?0:1,t,o)}function Z3(n,i){let e=0;if(!n)return 0;if(n.type===10)return lp(n,0,Qhe,e);if(n.type===1&&n.value.charCodeAt(0)===Zc){if(!Bd(n.value,1,X3))return 0;switch(n.value.length){case 2:return Y3(i(++e),e,i);case 3:return n.value.charCodeAt(2)!==Zc?0:(e=iC(i(++e),e,i),n=i(e),lp(n,0,ng,e));default:return n.value.charCodeAt(2)!==Zc?0:lp(n,3,ng,e)}}else if(n.type===1||K3(n,oC)&&i(e+1).type===1){if(n.type!==1&&(n=i(++e)),n===null||!Bd(n.value,0,X3))return 0;switch(n.value.length){case 1:return Y3(i(++e),e,i);case 2:return n.value.charCodeAt(1)!==Zc?0:(e=iC(i(++e),e,i),n=i(e),lp(n,0,ng,e));default:return n.value.charCodeAt(1)!==Zc?0:lp(n,2,ng,e)}}else if(n.type===12){let t=n.value.charCodeAt(0),o=t===oC||t===Zc?1:0,r=o;for(;r<n.value.length&&er(n.value.charCodeAt(r));r++);return r===o||!Bd(n.value,r,X3)?0:r+1===n.value.length?Y3(i(++e),e,i):n.value.charCodeAt(r+1)!==Zc?0:r+2===n.value.length?(e=iC(i(++e),e,i),n=i(e),lp(n,0,ng,e)):lp(n,r+2,ng,e)}return 0}var Xhe=43,Az=45,Oz=63,Yhe=117;function J3(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function Khe(n,i){return n.value.charCodeAt(0)===i}function rC(n,i,e){let t=0;for(let o=i;o<n.value.length;o++){let r=n.value.charCodeAt(o);if(r===Az&&e&&t!==0)return rC(n,i+t+1,!1),6;if(!bs(r)||++t>6)return 0}return t}function GS(n,i,e){if(!n)return 0;for(;J3(e(i),Oz);){if(++n>6)return 0;i++}return i}function eA(n,i){let e=0;if(n===null||n.type!==1||!Bd(n.value,0,Yhe)||(n=i(++e),n===null))return 0;if(J3(n,Xhe))return n=i(++e),n===null?0:n.type===1?GS(rC(n,0,!0),++e,i):J3(n,Oz)?GS(1,++e,i):0;if(n.type===10){let t=rC(n,1,!0);return t===0?0:(n=i(++e),n===null?e:n.type===12||n.type===10?!Khe(n,Az)||!rC(n,1,!1)?0:e+1:GS(t,e,i))}return n.type===12?GS(rC(n,1,!0),++e,i):0}var Zhe=["calc(","-moz-calc(","-webkit-calc("],tA=new Map([[2,22],[21,22],[19,20],[23,24]]);function nc(n,i){return i<n.length?n.charCodeAt(i):0}function Nz(n,i){return Vd(n,0,n.length,i)}function Rz(n,i){for(let e=0;e<i.length;e++)if(Nz(n,i[e]))return!0;return!1}function Fz(n,i){return i!==n.length-2?!1:nc(n,i)===92&&er(nc(n,i+1))}function WS(n,i,e){if(n&&n.type==="Range"){let t=Number(e!==void 0&&e!==i.length?i.substr(0,e):i);if(isNaN(t)||n.min!==null&&t<n.min&&typeof n.min!="string"||n.max!==null&&t>n.max&&typeof n.max!="string")return!0}return!1}function Jhe(n,i){let e=0,t=[],o=0;e:do{switch(n.type){case 24:case 22:case 20:if(n.type!==e)break e;if(e=t.pop(),t.length===0){o++;break e}break;case 2:case 21:case 19:case 23:t.push(e),e=tA.get(n.type);break}o++}while(n=i(o));return o}function Il(n){return function(i,e,t){return i===null?0:i.type===2&&Rz(i.value,Zhe)?Jhe(i,e):n(i,e,t)}}function Ro(n){return function(i){return i===null||i.type!==n?0:1}}function efe(n){if(n===null||n.type!==1)return 0;let i=n.value.toLowerCase();return Rz(i,US)||Nz(i,"default")?0:1}function tfe(n){return n===null||n.type!==1||nc(n.value,0)!==45||nc(n.value,1)!==45?0:1}function nfe(n){if(n===null||n.type!==4)return 0;let i=n.value.length;if(i!==4&&i!==5&&i!==7&&i!==9)return 0;for(let e=1;e<i;e++)if(!bs(nc(n.value,e)))return 0;return 1}function ife(n){return n===null||n.type!==4||!qf(nc(n.value,1),nc(n.value,2),nc(n.value,3))?0:1}function ofe(n,i){if(!n)return 0;let e=0,t=[], Line truncated
`+i+`
--`+new Array((e||i.length)+1).join("-")+"^"})}var bfe=9,xfe=10,yfe=12,Sfe=13,wfe=32,QS=class{constructor(i){this.str=i,this.pos=0}charCodeAt(i){return i<this.str.length?this.str.charCodeAt(i):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(i){return this.charCodeAt(this.findWsEnd(i))}findWsEnd(i){for(;i<this.str.length;i++){let e=this.str.charCodeAt(i);if(e!==Sfe&&e!==xfe&&e!==yfe&&e!==wfe&&e!==bfe)break}return i}substringToPos(i){return this.str.substring(this.pos,this.pos=i)}eat(i){this.charCode()!==i&&this.error("Expect `"+String.fromCharCode(i)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(i){throw new nA(i,this.str,this.pos)}};var Mfe=9,kfe=10,Tfe=12,Efe=13,Dfe=32,Wz=33,rA=35,Vz=38,XS=39,qz=40,Pfe=41,Qz=42,aA=43,sA=44,zz=45,lA=60,Xz=62,oA=63,Ife=64,JS=91,cA=93,YS=123,jz=124,$z=125,Hz=8734,aC=new Uint8Array(128).map((n,i)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(i))?1:0),Uz={" ":1,"&&":2,"||":3,"|":4};function KS(n){return n.substringToPos(n.findWsEnd(n.pos))}function ig(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e>=128||aC[e]===0)break}return n.pos===i&&n.error("Expect a keyword"),n.substringToPos(i)}function ZS(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e<48||e>57)break}return n.pos===i&&n.error("Expect a number"),n.substringToPos(i)}function Afe(n){let i=n.str.indexOf("'",n.pos+1);return i===-1&&(n.pos=n.str.length,n.error("Expect an apostrophe")),n.substringToPos(i+1)}function Gz(n){let i=null,e=null;return n.eat(YS),i=ZS(n),n.charCode()===sA?(n.pos++,n.charCode()!==$z&&(e=ZS(n))):e=i,n.eat($z),{min:Number(i),max:e?Number(e):0}}function Ofe(n){let i=null,e=!1;switch(n.charCode()){case Qz:n.pos++,i={min:0,max:0};break;case aA:n.pos++,i={min:1,max:0};break;case oA:n.pos++,i={min:0,max:1};break;case rA:n.pos++,e=!0,n.charCode()===YS?i=Gz(n):n.charCode()===oA?(n.pos++,i={min:0,max:0}):i={min:1,max:0};break;case YS:i=Gz(n);break;default:return null}return{type:"Multiplier",comma:e,min:i.min,max:i.max,term:null}}function og(n,i){let e=Ofe(n);return e!==null?(e.term=i,n.charCode()===rA&&n.charCodeAt(n.pos-1)===aA?og(n,e):e):i}function iA(n){let i=n.peek();return i===""?null:{type:"Token",value:i}}function Nfe(n){let i;return n.eat(lA),n.eat(XS),i=ig(n),n.eat(XS),n.eat(Xz),og(n,{type:"Property",name:i})}function Rfe(n){let i=null,e=null,t=1;return n.eat(JS),n.charCode()===zz&&(n.peek(),t=-1),t==-1&&n.charCode()===Hz?n.peek():(i=t*Number(ZS(n)),aC[n.charCode()]!==0&&(i+=ig(n))),KS(n),n.eat(sA),KS(n),n.charCode()===Hz?n.peek():(t=1,n.charCode()===zz&&(n.peek(),t=-1),e=t*Number(ZS(n)),aC[n.charCode()]!==0&&(e+=ig(n))),n.eat(cA),{type:"Range",min:i,max:e}}function Ffe(n){let i,e=null;return n.eat(lA),i=ig(n),n.charCode()===qz&&n.nextCharCode()===Pfe&&(n.pos+=2,i+="()"),n.charCodeAt(n.findWsEnd(n.pos))===JS&&(KS(n),e=Rfe(n)),n.eat(Xz),og(n,{type:"Type",name:i,opts:e})}function Lfe(n){let i=ig(n);return n.charCode()===qz?(n.pos++,{type:"Function",name:i}):og(n,{type:"Keyword",name:i})}function Bfe(n,i){function e(o,r){return{type:"Group",terms:o,combinator:r,disallowEmpty:!1,explicit:!1}}let t;for(i=Object.keys(i).sort((o,r)=>Uz[o]-Uz[r]);i.length>0;){t=i.shift();let o=0,r=0;for(;o<n.length;o++){let a=n[o];a.type==="Combinator"&&(a.value===t?(r===-1&&(r=o-1),n.splice(o,1),o--):(r!==-1&&o-r>1&&(n.splice(r,o-r,e(n.slice(r,o),t)),o=r+1),r=-1))}r!==-1&&i.length&&n.splice(r,o-r,e(n.slice(r,o),t))}return t}function Yz(n){let i=[],e={},t,o=null,r=n.pos;for(;t=zfe(n);)t.type!=="Spaces"&&(t.type==="Combinator"?((o===null||o.type==="Combinator")&&(n.pos=r,n.error("Unexpected combinator")),e[t.value]=!0):o!==null&&o.type!=="Combinator"&&(e[" "]=!0,i.push({type:"Combinator",value:" "})),i.push(t),o=t,r=n.pos);return o!==null&&o.type==="Combinator"&&(n.pos-=r,n.error("Unexpected combinator")),{type:"Group",terms:i,combinator:Bfe(i,e)||" ",disallowEmpty:!1,explicit:!1}}function Vfe(n){let i;return n.eat(JS),i=Yz(n),n.eat(cA),i.explicit=!0,n.charCode()===Wz&&(n.pos++,i.disallowEmpty=!0),i}function zfe(n){let i=n.charCode();if(i<128&&aC[i]===1)return Lfe(n);switch(i){case cA:break;case JS:return og(n,Vfe(n));case lA:return n.nextCharCode()===XS?Nfe(n):Ffe(n);case jz:return{type:"Combinator",value:n.substringToPos(n.pos+(n.nextCharCode()===jz?2:1))};case Vz:return n.pos++,n.eat(Vz),{type:"Combinator",value:"&&"};case sA:return n.pos++,{type:"Comma"};case XS:return og(n,{type:"String",value:Afe(n)});case Dfe:case Mfe:case kfe:case Efe:case Tfe:return{type:"Spaces",value:KS(n)};case Ife:return i=n.nextCharCode(),i<128&&aC[i]===1?(n.pos++,{type:"AtKeyword",name:ig(n)}):iA(n);case Qz:case aA:case oA:case rA:case Wz:break;case YS:if(i=n.nextCharCode(),i<48||i>57)return iA(n);break;default:return iA(n)}}function sC(n){let i=new QS(n),e=Yz(i);return i.pos!==n.length&&i.error("Unexpected input"),e.terms.length===1&&e.terms[0].type==="Group"?e.terms[0]:e}var lC=function(){};func Line truncated
`))},styles:[".temporaryElement[_ngcontent-%COMP%]{padding-left:4px;width:fit-content;position:absolute;z-index:99;font-family:Noto Sans;font-size:11pt;font-weight:700;color:var(--mat-app-on-surface-color);vertical-align:top;line-height:1.2;transform-origin:top left}"],changeDetection:0})}return n})();var T$=(()=>{class n{svg=ae(void 0);mapListener;drawingSelected;drawingsEventSource=f(Uo);context=f(Oo);ngOnInit(){this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e===""?this.deactivate():this.activate()})}activate(){let e=t=>{let o=(t.pageX-(this.context.getZeroZeroTransformationPoint().x+this.context.transformation.x))/this.context.transformation.k,r=(t.pageY-(this.context.getZeroZeroTransformationPoint().y+this.context.transformation.y))/this.context.transformation.k;this.drawingsEventSource.pointToAddSelected.emit(new $w(o,r)),this.deactivate()};this.deactivate(),this.mapListener=e,this.svg().addEventListener("click",this.mapListener)}deactivate(){this.svg().removeEventListener("click",this.mapListener)}ngOnDestroy(){this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-adding"]],inputs:{svg:[1,"svg"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var Ti=(()=>{class n extends lm{getItemKey(e){return e.drawing_id}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Ni=(()=>{class n{httpController;svgToDrawingConverter;constructor(e,t){this.httpController=e,this.svgToDrawingConverter=t}add(e,t,o,r,a){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:a,x:Math.round(o),y:Math.round(r),z:1})}duplicate(e,t,o){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:o.svg,rotation:o.rotation,x:o.x+10,y:o.y+10,z:o.z})}updatePosition(e,t,o,r,a){let c=Math.round(r),m=Math.round(a);return t.snap_to_grid&&(o.element=this.svgToDrawingConverter.convert(o.svg),c=Math.round((c+o.element.width/2)/t.drawing_grid_size)*t.drawing_grid_size,m=Math.round((m+o.element.height/2)/t.drawing_grid_size)*t.drawing_grid_size,c=Math.round(c-o.element.width/2),m=Math.round(m-o.element.height/2)),this.httpController.put(e,`/projects/${o.project_id}/drawings/${o.drawing_id}`,{x:c,y:m})}updateSizeAndPosition(e,t,o,r,a){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:a,x:Math.round(o),y:Math.round(r)})}updateText(e,t,o){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:o,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}update(e,t){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{locked:t.locked,svg:t.svg,rotation:t.rotation,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}delete(e,t){return this.httpController.delete(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`)}lockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/lock`,{})}unLockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/unlock`,{})}static \u0275fac=function(t){return new(t||n)(ge(gn),ge(Sp))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var E$=(()=>{class n{svg=ae(void 0);controller=ae(void 0);project=ae(void 0);isDrawing=!1;points=[];drawingSelected;svgSelection;canvasGroup;previewPath;drawingsEventSource=f(Uo);context=f(Oo);drawingsDataSource=f(Ti);drawingService=f(Ni);toolsService=f(Tl);ngOnInit(){this.svgSelection=Zt(this.svg()),this.canvasGroup=this.svgSelection.select("g.canvas"),this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e==="curve"?this.activate():this.deactivate()})}activate(){let e=this;this.toolsService.selectionToolActivation(!1);let t=a=>{a.preventDefault(),a.stopPropagation();let c=e.getCanvasCoordinates(a);e.isDrawing=!0,e.points=[{x:c[0],y:c[1]}],e.createPreviewPath(),document.addEventListener("mousemove",o,{passive:!1}),document.addEventListener("mouseup",r,{passive:!1})},o=a=>{if(!e.isDrawing)return;a.preventDefault();let c=e.getCanvasCoordinates(a);e.points.push({x:c[0],y:c[1]}),e.updatePreviewPath()},r=a=>{e.isDrawing&&(a.preventDefault(),e.isDrawing=!1,document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),e.points.length>1&&e.createCurveDrawing(),e.removePreviewPath(),e.drawingsEventSource.drawingCompleted.emit("curve"))};this.svg()._curveDrawingListener=t,this.svg().addEventListener("mousedown",t)}deactivate(){this.toolsService.selectionToolActivation(!0);let e=this.svg()._curveDrawingListener;e&&(this.svg().removeEventListener("mousedown",e),delete this.svg()._curveDrawingListener),this.removePreviewPath(),this.isDrawing=!1,this.points=[]}getCanvasCoordinates(e){let t=this.canvasGroup.node(),o=this.context.transformation,r=this.context.getZeroZeroTransformationPoint(),a=(e.pageX-(r.x+o.x))/o.k,c=(e.pageY-(r.y+o.y))/o.k;return[a,c]}createPreviewPath(){this.c Line truncated
<path d="${t}" stroke="${e.stroke}" stroke-width="${e.stroke_width}"
fill="none" stroke-dasharray="${e.stroke_dasharray}"
data-curve-type="none"
data-arrow-start="${e.arrow_start}"
data-arrow-end="${e.arrow_end}" />
</svg>`}ngOnDestroy(){this.deactivate(),this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-curve-drawing"]],inputs:{svg:[1,"svg"],controller:[1,"controller"],project:[1,"project"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var abe=["*"],D$=(()=>{class n{resizingFinished;drawingsWidget=f(rd);drawingsEventSource=f(Uo);ngOnInit(){this.resizingFinished=this.drawingsWidget.resizingFinished.subscribe(e=>{this.drawingsEventSource.resized.emit(new jw(e.datum,e.x,e.y,e.width,e.height))})}ngOnDestroy(){this.resizingFinished.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-resizing"]],ngContentSelectors:abe,decls:1,vars:0,template:function(t,o){t&1&&(ii(),nn(0))},encapsulation:2,changeDetection:0})}return n})();var p2=(()=>{class n{inRectangle(e,t,o){return e.x<=t&&t<e.x+e.width&&e.y<=o&&o<e.y+e.height}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var P$=(()=>{class n{onSelection;selectionEventSource=f(xg);graphDataManager=f(pp);inRectangleHelper=f(p2);selectionManager=f(Ho);cd=f(X);ngOnInit(){this.onSelection=this.selectionEventSource.selected.subscribe(e=>{let t=this.graphDataManager.getNodes().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),o=this.graphDataManager.getLinks().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),r=this.graphDataManager.getDrawings().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),a=this.graphDataManager.getNodes().filter(g=>{if(g.label===void 0)return!1;let S=g.x+g.label.x,x=g.y+g.label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.label),c=this.graphDataManager.getLinks().filter(g=>{if(g.source===void 0||g.nodes.length!=2||g.nodes[0].label===void 0)return!1;let S=g.source.x+g.nodes[0].label.x,x=g.source.y+g.nodes[0].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.nodes[0]),m=this.graphDataManager.getLinks().filter(g=>{if(g.target===void 0||g.nodes.length!=2||g.nodes[1].label===void 0)return!1;let S=g.target.x+g.nodes[1].label.x,x=g.target.y+g.nodes[1].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.nodes[1]),p=[...c,...m],h=[...t,...o,...r,...a,...p];this.selectionManager.setSelected(h),this.cd.markForCheck()})}ngOnDestroy(){this.onSelection.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-control"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var I$=(()=>{class n{onSelected;onUnselected;selectionManager=f(Ho);mapChangeDetectorRef=f(up);ngOnInit(){this.onSelected=this.selectionManager.selected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()}),this.onUnselected=this.selectionManager.unselected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()})}ngOnDestroy(){this.onSelected.unsubscribe(),this.onUnselected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-select"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var A$=(()=>{class n{start;drag;end;mapSettingsSubscription;isMapLocked=!1;svg;nodesWidget=f(xp);drawingsWidget=f(rd);linksWidget=f(yp);labelWidget=f(bp);interfaceWidget=f(nd);selectionManager=f(Ho);nodesEventSource=f(Fl);drawingsEventSource=f(Uo);graphDataManager=f(pp);linksEventSource=f(Oa);mapSettingsService=f(bo);ngOnInit(){let e=Zt(this.svg);this.mapSettingsSubscription=this.mapSettingsService.isMapLocked.subscribe(t=>{this.isMapLocked=t}),this.start=En(this.nodesWidget.draggable.start,this.drawingsWidget.draggable.start,this.labelWidget.draggable.start,this.interfaceWidget.draggable.start).subscribe(t=>{let o=this.selectionManager.getSelected();t.datum instanceof El&&o.filter(r=>r instanceof El&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Aa&&o.filter(r=>r instanceof Aa&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof tc&&o.filter(r=>r instanceof tc&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Hd&&o.filter(r=>r instanceof Hd&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum])}),this.drag=En(this.nodesWidget.draggable.drag,this.drawingsWidget.draggable.drag,this.labelWidget.draggable.drag,this.interfaceWidget.draggable.drag).subscribe(t=>{if(!this.isMapLocked){let o=this.selectionManager.getSelected(),r=o.filter(v=>v instanceof El),a=r.filter(v=>v.locked),c=r.filter(v=>!v.locked);c.forEach(v=>{v.x+=t.dx,v.y+=t.dy,this.nodesWidget.updateNodePosition(e,v),this.graphDataManager.getLinks().filter(w=>w.target!==void 0&&w.target.id===v.id||w.source!==void 0&&w.source.id===v.id).forEach(w=>{this.linksWidget.redrawLink(e,w)})}),o.filteLine truncated
]`).replace("lheading",q$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),Rbe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Fbe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,X$=/^( {2,}|\\)\n(?!\s*$)/,Lbe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Og=/[\p{P}\p{S}]/u,T2=/[\s\p{P}\p{S}]/u,Q4=/[^\s\p{P}\p{S}]/u,Bbe=Ri(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,T2).getRegex(),Y$=/(?!~)[\p{P}\p{S}]/u,Vbe=/(?!~)[\s\p{P}\p{S}]/u,zbe=/(?:[^\s\p{P}\p{S}]|~)/u,jbe=Ri(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",ybe?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),K$=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,$be=Ri(K$,"u").replace(/punct/g,Og).getRegex(),Hbe=Ri(K$,"u").replace(/punct/g,Y$).getRegex(),Z$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ube=Ri(Z$,"gu").replace(/notPunctSpace/g,Q4).replace(/punctSpace/g,T2).replace(/punct/g,Og).getRegex(),Gbe=Ri(Z$,"gu").replace(/notPunctSpace/g,zbe).replace(/punctSpace/g,Vbe).replace(/punct/g,Y$).getRegex(),Wbe=Ri("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Q4).replace(/punctSpace/g,T2).replace(/punct/g,Og).getRegex(),qbe=Ri(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Og).getRegex(),Qbe="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Xbe=Ri(Qbe,"gu").replace(/notPunctSpace/g,Q4).replace(/punctSpace/g,T2).replace(/punct/g,Og).getRegex(),Ybe=Ri(/\\(punct)/,"gu").replace(/punct/g,Og).getRegex(),Kbe=Ri(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Zbe=Ri(W4).replace("(?:-->|$)","-->").getRegex(),Jbe=Ri("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Zbe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),w2=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,exe=Ri(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",w2).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),J$=Ri(/^!?\[(label)\]\[(ref)\]/).replace("label",w2).replace("ref",G4).getRegex(),eH=Ri(/^!?\[(ref)\](?:\[\])?/).replace("ref",G4).getRegex(),txe=Ri("reflink|nolink(?!\\()","g").replace("reflink",J$).replace("nolink",eH).getRegex(),z$=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X4={_backpedal:Ju,anyPunctuation:Ybe,autolink:Kbe,blockSkip:jbe,br:X$,code:Fbe,del:Ju,delLDelim:Ju,delRDelim:Ju,emStrongLDelim:$be,emStrongRDelimAst:Ube,emStrongRDelimUnd:Wbe,escape:Rbe,link:exe,nolink:eH,punctuation:Bbe,reflink:J$,reflinkSearch:txe,tag:Jbe,text:Lbe,url:Ju},nxe=Qe(W({},X4),{link:Ri(/^!?\[(label)\]\((.*?)\)/).replace("label",w2).getRegex(),reflink:Ri(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",w2).getRegex()}),V4=Qe(W({},X4),{emStrongRDelimAst:Gbe,emStrongLDelim:Hbe,delLDelim:qbe,delRDelim:Xbe,url:Ri(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",z$).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ri(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",z$).getRegex()}),ixe=Qe(W({},V4),{br:Ri(X$).replace("{2,}","*").getRegex(),text:Ri(V4.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),S2={normal:q4,gfm:Obe,pedantic:Nbe},LC={normal:X4,gfm:V4,breaks:ixe,pedantic:nxe},oxe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},j$=n=>oxe[n];function sd(n,i){if(i){if(Ja.escapeTest.test(nLine truncated
`).map(r=>{let a=r.match(e.other.beginningSpace);if(a===null)return r;let[c]=a;return c.length>=o.length?r.slice(o.length):r}).join(`
`)}var M2=class{options;rules;lexer;constructor(n){this.options=n||th}space(n){let i=this.rules.block.newline.exec(n);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(n){let i=this.rules.block.code.exec(n);if(i){let e=i[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:BC(e,`
`)}}}fences(n){let i=this.rules.block.fences.exec(n);if(i){let e=i[0],t=sxe(e,i[3]||"",this.rules);return{type:"code",raw:e,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:t}}}heading(n){let i=this.rules.block.heading.exec(n);if(i){let e=i[2].trim();if(this.rules.other.endingHash.test(e)){let t=BC(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(n){let i=this.rules.block.hr.exec(n);if(i)return{type:"hr",raw:BC(i[0],`
`)}}blockquote(n){let i=this.rules.block.blockquote.exec(n);if(i){let e=BC(i[0],`
`).split(`
`),t="",o="",r=[];for(;e.length>0;){let a=!1,c=[],m;for(m=0;m<e.length;m++)if(this.rules.other.blockquoteStart.test(e[m]))c.push(e[m]),a=!0;else if(!a)c.push(e[m]);else break;e=e.slice(m);let p=c.join(`
`),h=p.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");t=t?`${t}
${p}`:p,o=o?`${o}
${h}`:h;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,r,!0),this.lexer.state.top=g,e.length===0)break;let S=r.at(-1);if(S?.type==="code")break;if(S?.type==="blockquote"){let x=S,v=x.raw+`
`+e.join(`
`),M=this.blockquote(v);r[r.length-1]=M,t=t.substring(0,t.length-x.raw.length)+M.raw,o=o.substring(0,o.length-x.text.length)+M.text;break}else if(S?.type==="list"){let x=S,v=x.raw+`
`+e.join(`
`),M=this.list(v);r[r.length-1]=M,t=t.substring(0,t.length-S.raw.length)+M.raw,o=o.substring(0,o.length-x.raw.length)+M.raw,e=v.substring(r.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:t,tokens:r,text:o}}}list(n){let i=this.rules.block.list.exec(n);if(i){let e=i[1].trim(),t=e.length>1,o={type:"list",raw:"",ordered:t,start:t?+e.slice(0,-1):"",loose:!1,items:[]};e=t?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=t?e:"[*+-]");let r=this.rules.other.listItemRegex(e),a=!1;for(;n;){let m=!1,p="",h="";if(!(i=r.exec(n))||this.rules.block.hr.test(n))break;p=i[0],n=n.substring(p.length);let g=axe(i[2].split(`
`,1)[0],i[1].length),S=n.split(`
`,1)[0],x=!g.trim(),v=0;if(this.options.pedantic?(v=2,h=g.trimStart()):x?v=i[1].length+1:(v=g.search(this.rules.other.nonSpaceChar),v=v>4?1:v,h=g.slice(v),v+=i[1].length),x&&this.rules.other.blankLine.test(S)&&(p+=S+`
`,n=n.substring(S.length+1),m=!0),!m){let M=this.rules.other.nextBulletRegex(v),w=this.rules.other.hrRegex(v),y=this.rules.other.fencesBeginRegex(v),k=this.rules.other.headingBeginRegex(v),I=this.rules.other.htmlBeginRegex(v),P=this.rules.other.blockquoteBeginRegex(v);for(;n;){let R=n.split(`
`,1)[0],D;if(S=R,this.options.pedantic?(S=S.replace(this.rules.other.listReplaceNesting," "),D=S):D=S.replace(this.rules.other.tabCharGlobal," "),y.test(S)||k.test(S)||I.test(S)||P.test(S)||M.test(S)||w.test(S))break;if(D.search(this.rules.other.nonSpaceChar)>=v||!S.trim())h+=`
`+D.slice(v);else{if(x||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||y.test(g)||k.test(g)||w.test(g))break;h+=`
`+S}x=!S.trim(),p+=R+`
`,n=n.substring(R.length+1),g=D.slice(v)}}o.loose||(a?o.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),o.items.push({type:"list_item",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),o.raw+=p}let c=o.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let m of o.items){if(this.lexer.state.top=!1,m.tokens=this.lexer.blockTokens(m.text,[]),m.task){if(m.text=m.text.replace(this.rules.other.listReplaceTask,""),m.tokens[0]?.type==="text"||m.tokens[0]?.type==="paragraph"){m.tokens[0].raw=m.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),m.tokens[0].text=m.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let p=this.rules.other.listTaskCheckbox.exec(m.raw);if(p){let h={type:"checkbox",raw:p[0]+" ",checked:p[0]!=="[ ]"};m.checked=h.checked,o.loose?m.tokens[0]&&["paragraph","text"].includes(m.tokens[0].type)&&"tokens"in m.tokens[0]&&m.tokens[0].tokens?(m.tokens[0].raw=h.raw+m.tokens[0].raw,m.tokens[0].text=h.raw+m.tokens[0].text,m.tokens[0].tokens.unshift(h)):m.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):m.tokens.unshift(h)}}if(!o.loose){let p=m.tokens.filter(g=>g.type==="space"),h=p.length>0&&p.some(g=>this.rules.other.anyLine.test(g.raw));o.loose=h}}if(o.loose)for(let m of o.items){m.loose=!0;for(let p of m.tokens)p.type==="text"&&(p.type="paragraph")}return o}}html(n){let i=this.rules.block.html.exec(n);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(n){let i=this.rules.block.def.exec(n);if(i){let e=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),t=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:e,raw:i[0],href:t,title:o}}}table(n){let i=this.rules.block.table.exec(n);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let e=H$(i[1]),t=i[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=i[3]?.trim()?i[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],r={type:"table",raw:i[0],header:[],align:[],rows:[]};if(e.length===t.length){for(let a of t)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<e.length;a++)r.header.push({text:e[a],tokens:this.lexer.inline(e[a]),header:!0,align:r.align[a]});for(let a of o)r.rows.push(H$(a,r.header.length).map((c,m)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[m]})));return r}}lheading(n){let i=this.rules.block.lheading.exec(n);if(i){let e=i[1].trim();return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(n){let i=this.rules.block.paragraph.exec(n);if(i){let e=i[1].charAt(i[1].length-1)===`
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:e,tokens:this.lexer.inline(e)}}}text(n){let i=this.rules.block.text.exec(n);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(n){let i=this.rules.inline.escape.exec(n);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(n){let i=this.rules.inline.tag.exec(n);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(n){let i=this.rules.inline.link.exec(n);if(i){let e=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let r=BC(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{let r=rxe(i[2],"()");if(r===-2)return;if(r>-1){let a=(i[0].indexOf("!")===0?5:4)+i[1].length+r;i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,a).trim(),i[3]=""}}let t=i[2],o="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(t);r&&(t=r[1],o=r[3])}else o=i[3]?i[3].slice(1,-1):"";return t=t.trim(),this.rules.other.startAngleBracket.test(t)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?t=t.slice(1):t=t.slice(1,-1)),U$(i,{href:t&&t.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(n,i){let e;if((e=this.rules.inline.reflink.exec(n))||(e=this.rules.inline.nolink.exec(n))){let t=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=i[t.toLowerCase()];if(!o){let r=e[0].charAt(0);return{type:"text",raw:r,text:r}}return U$(e,o,e[0],this.lexer,this.rules)}}emStrong(n,i,e=""){let t=this.rules.inline.emStrongLDelim.exec(n);if(!(!t||!t[1]&&!t[2]&&!t[3]&&!t[4]||t[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(t[1]||t[3])||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,m=0,p=t[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,i=i.slice(-1*n.length+o);(t=p.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r)continue;if(a=[...r].length,t[3]||t[4]){c+=a;continue}else if((t[5]||t[6])&&o%3&&!((o+a)%3)){m+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c+m);let h=[...t[0]][0].length,g=n.slice(0,o+t.index+h+a);if(Math.min(o,a)%2){let x=g.slice(1,-1);return{type:"em",raw:g,text:x,tokens:this.lexer.inlineTokens(x)}}let S=g.slice(2,-2);return{type:"strong",raw:g,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(n){let i=this.rules.inline.code.exec(n);if(i){let e=i[2].replace(this.rules.other.newLineCharGlobal," "),t=this.rules.other.nonSpaceChar.test(e),o=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return t&&o&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:i[0],text:e}}}br(n){let i=this.rules.inline.br.exec(n);if(i)return{type:"br",raw:i[0]}}del(n,i,e=""){let t=this.rules.inline.delLDelim.exec(n);if(t&&(!t[1]||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,m=this.rules.inline.delRDelim;for(m.lastIndex=0,i=i.slice(-1*n.length+o);(t=m.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r||(a=[...r].length,a!==o))continue;if(t[3]||t[4]){c+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c);let p=[...t[0]][0].length,h=n.slice(0,o+t.index+p+a),g=h.slice(o,-o);return{type:"del",raw:h,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(n){let i=this.rules.inline.autolink.exec(n);if(i){let e,t;return i[2]==="@"?(e=i[1],t="mailto:"+e):(e=i[1],t=e),{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(n){let i;if(i=this.rules.inline.url.exec(n)){let e,t;if(i[2]==="@")e=i[0],t="mailto:"+e;else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"";while(o!==i[0]);e=i[0],i[1]==="www."?t="http://"+i[0]:t=i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(n){let i=this.rules.inline.text.exec(n);if(i){let e=this.lexer.state.inRawBlock;return{type:"text",raw:i[0],text:i[0],escaped:e}}}},sc=class z4{tokens;options;state;inlineQueue;tokenizer;constructor(i){this.tokens=[],this.tokens.links=Object.create(null),this.options=i||th,this.options.tokenizer=this.options.tokenizer||new M2,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:Ja,block:S2.normal,inline:LC.normal};this.options.pedantic?(e.block=S2.pedantic,e.inline=LC.pedantic):this.options.gfm&&(e.block=S2.gfm,this.options.breaks?e.inline=LC.breaks:e.inl Line truncated
`),this.blockTokens(i,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(i,e=[],t=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(i=i.replace(Ja.tabCharGlobal," ").replace(Ja.spaceLine,""));i;){let o;if(this.options.extensions?.block?.some(a=>(o=a.call({lexer:this},i,e))?(i=i.substring(o.raw.length),e.push(o),!0):!1))continue;if(o=this.tokenizer.space(i)){i=i.substring(o.raw.length);let a=e.at(-1);o.raw.length===1&&a!==void 0?a.raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(o=this.tokenizer.fences(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.heading(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.hr(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.blockquote(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.list(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.html(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.def(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title},e.push(o));continue}if(o=this.tokenizer.table(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.lheading(i)){i=i.substring(o.raw.length),e.push(o);continue}let r=i;if(this.options.extensions?.startBlock){let a=1/0,c=i.slice(1),m;this.options.extensions.startBlock.forEach(p=>{m=p.call({lexer:this},c),typeof m=="number"&&m>=0&&(a=Math.min(a,m))}),a<1/0&&a>=0&&(r=i.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(r))){let a=e.at(-1);t&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o),t=r.length!==i.length,i=i.substring(o.raw.length);continue}if(o=this.tokenizer.text(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(i){let a="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(i,e=[]){return this.inlineQueue.push({src:i,tokens:e}),e}inlineTokens(i,e=[]){this.tokenizer.lexer=this;let t=i,o=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(t))!=null;)m.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(t=t.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+t.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(t))!=null;)t=t.slice(0,o.index)+"++"+t.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(o=this.tokenizer.rules.inline.blockSkip.exec(t))!=null;)r=o[2]?o[2].length:0,t=t.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+t.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);t=this.options.hooks?.emStrongMask?.call({lexer:this},t)??t;let a=!1,c="";for(;i;){a||(c=""),a=!1;let m;if(this.options.extensions?.inline?.some(h=>(m=h.call({lexer:this},i,e))?(i=i.substring(m.raw.length),e.push(m),!0):!1))continue;if(m=this.tokenizer.escape(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.tag(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.link(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.reflink(i,this.tokens.links)){i=i.substring(m.raw.length);let h=e.at(-1);m.type==="text"&&h?.type==="text"?(h.raw+=m.raw,h.text+=m.text):e.push(m);continue}if(m=this.tokenizer.emStrong(i,t,c)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.codespan(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.br(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.del(i,t,c)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.autolink(i)){i=i.substring(m.raw.length),e.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(i))){i=i.substring(m.raw.length),e.push(m);continue}let p=i;if(this.options.extensions?.startInline){let h=1/0,g=i.slice(1),S;this.options.extensions.startInline.forEach(x=>{S=x.call({lexer:this},g),typeof S=="number"&&S>=0&&(h=Math.min(h,S))}),h<1/0&&h>=0&&(p=i.substring(0,h+1))}if(m=this.tokenizer.inlineText(p)){i=i.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(c=m.raw.slice(-1)),a=!0;let h=e.at(-1);h?.type==="text"?(h.raw+=m.raw,h.text+=m.text):e.push(m);continue}if(i){let h="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return e}},Tp=class{options;parser;constructor(n){this.options=n||th}space(n){return""}code({text:n,lang:i,escaped:e}){let t=(i||"").match(Ja.notSpaceStart)?.[0],o=n.replace(Ja.endingNewline,"")+`
`;return t?'<pre><code class="language-'+sd(t)+'">'+(e?o:sd(o,!0))+`</code></pre>
`:"<pre><code>"+(e?o:sd(o,!0))+`</code></pre>
`}blockquote({tokens:n}){return`<blockquote>
${this.parser.parse(n)}</blockquote>
`}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:i}){return`<h${i}>${this.parser.parseInline(n)}</h${i}>
`}hr(n){return`<hr>
`}list(n){let i=n.ordered,e=n.start,t="";for(let a=0;a<n.items.length;a++){let c=n.items[a];t+=this.listitem(c)}let o=i?"ol":"ul",r=i&&e!==1?' start="'+e+'"':"";return"<"+o+r+`>
`+t+"</"+o+`>
`}listitem(n){return`<li>${this.parser.parse(n.tokens)}</li>
`}checkbox({checked:n}){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>
`}table(n){let i="",e="";for(let o=0;o<n.header.length;o++)e+=this.tablecell(n.header[o]);i+=this.tablerow({text:e});let t="";for(let o=0;o<n.rows.length;o++){let r=n.rows[o];e="";for(let a=0;a<r.length;a++)e+=this.tablecell(r[a]);t+=this.tablerow({text:e})}return t&&(t=`<tbody>${t}</tbody>`),`<table>
<thead>
`+i+`</thead>
`+t+`</table>
`}tablerow({text:n}){return`<tr>
${n}</tr>
`}tablecell(n){let i=this.parser.parseInline(n.tokens),e=n.header?"th":"td";return(n.align?`<${e} align="${n.align}">`:`<${e}>`)+i+`</${e}>
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${sd(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:i,tokens:e}){let t=this.parser.parseInline(e),o=$$(n);if(o===null)return t;n=o;let r='<a href="'+n+'"';return i&&(r+=' title="'+sd(i)+'"'),r+=">"+t+"</a>",r}image({href:n,title:i,text:e,tokens:t}){t&&(e=this.parser.parseInline(t,this.parser.textRenderer));let o=$$(n);if(o===null)return sd(e);n=o;let r=`<img src="${n}" alt="${sd(e)}"`;return i&&(r+=` title="${sd(i)}"`),r+=">",r}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:sd(n.text)}},Y4=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},lc=class j4{options;renderer;textRenderer;constructor(i){this.options=i||th,this.options.renderer=this.options.renderer||new Tp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Y4}static parse(i,e){return new j4(e).parse(i)}static parseInline(i,e){return new j4(e).parseInline(i)}parse(i){this.renderer.parser=this;let e="";for(let t=0;t<i.length;t++){let o=i[t];if(this.options.extensions?.renderers?.[o.type]){let a=o,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a.type)){e+=c||"";continue}}let r=o;switch(r.type){case"space":{e+=this.renderer.space(r);break}case"hr":{e+=this.renderer.hr(r);break}case"heading":{e+=this.renderer.heading(r);break}case"code":{e+=this.renderer.code(r);break}case"table":{e+=this.renderer.table(r);break}case"blockquote":{e+=this.renderer.blockquote(r);break}case"list":{e+=this.renderer.list(r);break}case"checkbox":{e+=this.renderer.checkbox(r);break}case"html":{e+=this.renderer.html(r);break}case"def":{e+=this.renderer.def(r);break}case"paragraph":{e+=this.renderer.paragraph(r);break}case"text":{e+=this.renderer.text(r);break}default:{let a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return e}parseInline(i,e=this.renderer){this.renderer.parser=this;let t="";for(let o=0;o<i.length;o++){let r=i[o];if(this.options.extensions?.renderers?.[r.type]){let c=this.options.extensions.renderers[r.type].call({parser:this},r);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){t+=c||"";continue}}let a=r;switch(a.type){case"escape":{t+=e.text(a);break}case"html":{t+=e.html(a);break}case"link":{t+=e.link(a);break}case"image":{t+=e.image(a);break}case"checkbox":{t+=e.checkbox(a);break}case"strong":{t+=e.strong(a);break}case"em":{t+=e.em(a);break}case"codespan":{t+=e.codespan(a);break}case"br":{t+=e.br(a);break}case"del":{t+=e.del(a);break}case"text":{t+=e.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return t}},VC=class{options;block;constructor(n){this.options=n||th}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(){return this.block?sc.lex:sc.lexInline}provideParser(){return this.block?lc.parse:lc.parseInline}},lxe=class{defaults=$4();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=lc;Renderer=Tp;TextRenderer=Y4;Lexer=sc;Tokenizer=M2;Hooks=VC;constructor(...n){this.use(...n)}walkTokens(n,i){let e=[];for(let t of n)switch(e=e.concat(i.call(this,t)),t.type){case"table":{let o=t;for(let r of o.header)e=e.concat(this.walkTokens(r.tokens,i));for(let r of o.rows)for(let a of r)e=e.concat(this.walkTokens(a.tokens,i));break}case"list":{let o=t;e=e.concat(this.walkTokens(o.items,i));break}default:{let o=t;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let a=o[r].flat(1/0);e=e.concat(this.walkTokens(a,i))}):o.tokens&&(e=e.concat(this.walkTokens(o.tokens,i)))}}return e}use(...n){let i=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(e=>{let t=W({},e);if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let r=i.renderers[o.name];r?i.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=r.apply(this,a)),c}:i.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!oLine truncated
Please report this to https://github.com/markedjs/marked.`,n){let t="<p>An error occurred:</p><pre>"+sd(e.message+"",!0)+"</pre>";return i?Promise.resolve(t):t}if(i)return Promise.reject(e);throw e}}},eh=new lxe;function Di(n,i){return eh.parse(n,i)}Di.options=Di.setOptions=function(n){return eh.setOptions(n),Di.defaults=eh.defaults,G$(Di.defaults),Di};Di.getDefaults=$4;Di.defaults=th;Di.use=function(...n){return eh.use(...n),Di.defaults=eh.defaults,G$(Di.defaults),Di};Di.walkTokens=function(n,i){return eh.walkTokens(n,i)};Di.parseInline=eh.parseInline;Di.Parser=lc;Di.parser=lc.parse;Di.Renderer=Tp;Di.TextRenderer=Y4;Di.Lexer=sc;Di.lexer=sc.lex;Di.Tokenizer=M2;Di.Hooks=VC;Di.parse=Di;var y1t=Di.options,S1t=Di.setOptions,w1t=Di.use,M1t=Di.walkTokens,k1t=Di.parseInline;var T1t=lc.parse,E1t=sc.lex;var cxe=["*"],dxe="Copy",mxe="Copied",pxe=(()=>{class n{constructor(){this._buttonClick$=new je,this.copied=B$(this._buttonClick$.pipe(hn(()=>En(_t(!0),es(3e3).pipe(DN(!1)))),b_(),Fp(1))),this.copiedText=mn(()=>this.copied()?mxe:dxe)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(t,o){t&1&&(yo(0,"button",0),s1("click",function(){return o.onCopyToClipboardClick()}),d(1),Eo()),t&2&&(Ue("copied",o.copied()),u(),$(o.copiedText()))},encapsulation:2,changeDetection:0})}}return n})(),uxe=new $t("CLIPBOARD_OPTIONS");var hxe=new $t("MARKED_EXTENSIONS"),fxe=new $t("MARKED_OPTIONS"),gxe=new $t("MERMAID_OPTIONS"),_xe=new $t("SANITIZE");function vxe(n){return typeof n=="function"}var Cxe="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",bxe="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",xxe="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",yxe="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",Sxe="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",wxe="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var tH=(()=>{class n{get options(){return this._options}set options(e){this._options=W(W({},this.DEFAULT_MARKED_OPTIONS),e)}get renderer(){return this.options.renderer}set renderer(e){this.options.renderer=e}constructor(){this.clipboardOptions=f(uxe,{optional:!0}),this.extensions=f(hxe,{optional:!0}),this.http=f(mc,{optional:!0}),this.mermaidOptions=f(gxe,{optional:!0}),this.platform=f(lh),this.sanitize=f(_xe,{optional:!0}),this.sanitizer=f(Cr),this.DEFAULT_MARKED_OPTIONS={renderer:new Tp},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=VT.HTML,this._options=null,this._reload$=new je,this.reload$=this._reload$.asObservable(),this.options=f(fxe,{optional:!0})}parse(e,t=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:o,inline:r,emoji:a,mermaid:c,disableSanitizer:m}=t,p=W(W({},this.options),t.markedOptions),h=p.renderer||this.renderer||new Tp;this.extensions&&(this.renderer=this.extendsRendererForExtensions(h)),c&&(this.renderer=this.extendsRendererForMermaid(h));let g=this.trimIndentation(e),S=o?this.decodeHtml(g):g,x=a?this.parseEmoji(S):S,v=this.parseMarked(x,p,r);return m?v:this.sanitizeHtml(v)}render(e,t=this.DEFAULT_RENDER_OPTIONS,o){let{clipboard:r,clipboardOptions:a,katex:c,katexOptions:m,mermaid:p,mermaidOptions:h}=t;c&&this.renderKatex(e,W(W({},this.DEFAULT_KATEX_OPTIONS),m)),p&&this.renderMermaid(e,W(W(W({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),h)),r&&this.renderClipboard(e,o,W(W(W({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(e)}reload(){this._reload$.next()}getSource(e){if(!this.http)throw n Line truncated
`+t+"\n```":t}parseMarked(e,t,o=!1){if(t.renderer){let r=W({},t.renderer);delete r.\u0275NgxMarkdownRendererExtendedForExtensions,delete r.\u0275NgxMarkdownRendererExtendedForMermaid,delete t.renderer,Di.use({renderer:r})}return o?Di.parseInline(e,t):Di.parse(e,t)}parseEmoji(e){if(!Es(this.platform))return e;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(Cxe);return joypixels.shortnameToUnicode(e)}renderKatex(e,t){if(Es(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(bxe);renderMathInElement(e,t)}}renderClipboard(e,t,o){if(!Es(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(yxe);if(!t)throw new Error(Sxe);let{buttonComponent:r,buttonTemplate:a}=o,c=e.querySelectorAll("pre");for(let m=0;m<c.length;m++){let p=c.item(m),h=document.createElement("div");h.style.position="relative",p.parentNode.insertBefore(h,p),h.appendChild(p);let g=document.createElement("div");g.classList.add("markdown-clipboard-toolbar"),g.style.position="absolute",g.style.top=".5em",g.style.right=".5em",g.style.zIndex="1",h.insertAdjacentElement("beforeend",g),h.onmouseenter=()=>g.classList.add("hover"),h.onmouseleave=()=>g.classList.remove("hover");let S;if(r){let v=t.createComponent(r);S=v.hostView,v.changeDetectorRef.markForCheck()}else if(a)S=t.createEmbeddedView(a);else{let v=t.createComponent(pxe);S=v.hostView,v.changeDetectorRef.markForCheck()}let x;S.rootNodes.forEach(v=>{g.appendChild(v),x=new ClipboardJS(v,{text:()=>p.innerText})}),S.onDestroy(()=>x.destroy())}}renderMermaid(e,t=this.DEFAULT_MERMAID_OPTIONS){if(!Es(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error(xxe);let o=e.querySelectorAll(".mermaid");o.length!==0&&(mermaid.initialize(t),mermaid.run({nodes:o}))}trimIndentation(e){if(!e)return"";let t;return e.split(`
`).map(o=>{let r=t;return o.length>0&&(r=isNaN(r)?o.search(/\S|$/):Math.min(o.search(/\S|$/),r)),isNaN(t)&&(t=r),r?o.substring(r):o}).join(`
`)}async sanitizeHtml(e){return vxe(this.sanitize)?this.sanitize(await e):this.sanitize!==VT.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,e)??"":e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=K({token:n,factory:n.\u0275fac})}}return n})(),K4=(function(n){return n.CommandLine="command-line",n.LineHighlight="line-highlight",n.LineNumbers="line-numbers",n})(K4||{}),E2=(()=>{class n{constructor(){this.element=f(Qt),this.markdownService=f(tH),this.viewContainerRef=f(Ji),this.error=new _e,this.load=new _e,this.ready=new _e,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new je}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(e){this._disableSanitizer=this.coerceBooleanProperty(e)}get inline(){return this._inline}set inline(e){this._inline=this.coerceBooleanProperty(e)}get clipboard(){return this._clipboard}set clipboard(e){this._clipboard=this.coerceBooleanProperty(e)}get emoji(){return this._emoji}set emoji(e){this._emoji=this.coerceBooleanProperty(e)}get katex(){return this._katex}set katex(e){this._katex=this.coerceBooleanProperty(e)}get mermaid(){return this._mermaid}set mermaid(e){this._mermaid=this.coerceBooleanProperty(e)}get lineHighlight(){return this._lineHighlight}set lineHighlight(e){this._lineHighlight=this.coerceBooleanProperty(e)}get lineNumbers(){return this._lineNumbers}set lineNumbers(e){this._lineNumbers=this.coerceBooleanProperty(e)}get commandLine(){return this._commandLine}set commandLine(e){this._commandLine=this.coerceBooleanProperty(e)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(tt(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}async render(e,t=!1){let o={decodeHtml:t,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},r={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=await this.markdownService.parse(e,o);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,r,this.viewContainerRef),this.ready.emit()}coerceBooleanProperty(e){return e!=null&&`${String(e)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:e=>{this.render(e).then(()=>{this.load.emit(e)})},error:e=>this.error.emit(e)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,K4.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,K4.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++){let a=t instanceof Array?t:[t];o.item(r).classList.add(...a)}}setPluginOptions(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++)Object.keys(t).forEach(a=>{let c=t[a];if(c){let m=this.toLispCase(a);o.item(r).setAttribute(m,c.toString())}})}toLispCase(e){let t=e.match(/([A-Z])/g);if(!t)return e;let o=e.toString();for(let r=0,a=t.length;r<a;r++)o=o.replace(new RegExp(t[r]),"-"+t[r].toLowerCase());return o.slice(0,1)==="-"&&(o=o.slice(1)),o}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown"],["","markdown",""]],inputs:{data:"data",src:"src",disableSanitizer:"disableSanitizer",inline:"inline",clipboard:"clipboard",clipboardButtonComponent:"clipboardButtonComponent",clipboardButtonTemplate:"clipboardButtonTemplate",emoji:"emoji",katex:"katex",katexOptions:"katexOptions",mermaid:"mermaid",mermaidOptions:"mermaidOptions",lineHighlight:"lineHighlight",line:"line",lineOffset:"lineOffset",lineNumbers:"lineNumbers",start:"start",commandLine:"commandLine",filterOutput:"filterOutput",host:"host",prompt:"prompt",output:"output",user:"user"},outputs:{error:"error",load:"load",ready:"ready"},features:[dn],ngContentSelectors:cxe,decls:1,vars:0,template:function(t,o){t&1&&(ii(),nn(0))},encapsulation:2})}}return n})();fu Line truncated
name: ${o.name}; `}),t=t.substring(0,t.length-2),t}getCommandLine(e){return e.node_type==="cloud"||e.node_type==="nat"||e.node_type==="ethernet_hub"||e.node_type==="ethernet_switch"||e.node_type==="frame_relay_switch"||e.node_type==="atm_switch"||e.node_type==="dynamips"||e.node_type==="iou"?"Command line information is not supported for this type of node.":e.command_line?e.command_line:"Please start the node in order to get the command line information."}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();function Jxe(n,i){if(n&1&&(s(0,"div"),d(1),l()),n&2){let e=i.$implicit;u(),$(e)}}var O2=(()=>{class n{dialogRef=f(Ie);infoService=f(A2);cd=f(X);controller;node;infoList=[];usage="";commandLine="";ngOnInit(){this.infoList=this.infoService.getInfoAboutNode(this.node,this.controller),this.commandLine=this.infoService.getCommandLine(this.node),this.usage=this.node.usage?this.node.usage:"No usage information has been provided for this node.",this.cd.markForCheck()}onCloseClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-info-dialog"]],inputs:{controller:"controller",node:"node"},decls:17,vars:3,consts:[["mat-dialog-title",""],["mat-icon-button","",1,"close-btn",3,"click"],[1,"modal-form-container"],["animationDuration","0ms"],["label","General information"],[1,"textBox"],["label","Usage instructions"],["label","Command line"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1),s(2,"button",1),_("click",function(){return o.onCloseClick()}),s(3,"mat-icon"),d(4,"close"),l()()(),s(5,"div",2)(6,"mat-tab-group",3)(7,"mat-tab",4)(8,"div",5),Z(9,Jxe,2,1,"div",null,Ae),l()(),s(11,"mat-tab",6)(12,"div",5),d(13),l()(),s(14,"mat-tab",7)(15,"div",5),d(16),l()()()()),t&2&&(u(),te(" ",o.node.name," "),u(8),J(o.infoList),u(4),te(" ",o.usage," "),u(3),te(" ",o.commandLine," "))},dependencies:[ve,Fe,U,ze,re,ce,Mn,io,Io,Ao],styles:["[mat-dialog-title][_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;color:var(--mat-sys-on-surface)}.close-btn[_ngcontent-%COMP%]{margin-left:auto}.modal-form-container[_ngcontent-%COMP%]{padding:16px;height:300px;display:flex;flex-direction:column;color:var(--mat-sys-on-surface-variant)}.modal-form-container[_ngcontent-%COMP%] mat-tab-group[_ngcontent-%COMP%]{flex:1;overflow:auto}.textBox[_ngcontent-%COMP%]{margin-top:8px;color:var(--mat-sys-on-surface-variant)}"],changeDetection:0})}return n})();var N2=(()=>{class n{dialog=f(nt);node=ae(void 0);controller=ae(void 0);showNode(){let t=this.dialog.open(O2,{panelClass:["base-dialog-panel","show-node-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.node=this.node(),t.controller=this.controller()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-show-node-action"]],inputs:{node:[1,"node"],controller:[1,"controller"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),_("click",function(){return o.showNode()}),s(1,"mat-icon"),d(2,"info"),l(),s(3,"span"),d(4,"Show node information"),l()())},dependencies:[U,re,ce,qe,et],encapsulation:2,changeDetection:0})}return n})();function eye(n,i){n&1&&(s(0,"th",21),d(1,"Source Port : VPI : VCI"),l())}function tye(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;u(),$(e.portIn)}}function nye(n,i){n&1&&(s(0,"th",21),d(1,"Destination Port : VPI : VCI"),l())}function iye(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;u(),$(e.portOut)}}function oye(n,i){n&1&&(s(0,"th",21),d(1,"Actions"),l())}function rye(n,i){if(n&1){let e=z();s(0,"td",22)(1,"button",23),_("click",function(){let o=T(e).$implicit,r=C();return E(r.delete(o))}),s(2,"mat-icon",24),d(3,"delete"),l()()()}}function aye(n,i){n&1&&B(0,"tr",25)}function sye(n,i){n&1&&B(0,"tr",26)}var R2=(()=>{class n{dialogRef=f(Ie);nodeService=f(ht);toasterService=f(ee);validationService=f(g3);controller;node;name;nameSignal=H("");useVpiOnly=H(!1);sourcePort=H("");sourceVci=H("");destinationPort=H("");destinationVci=H("");sourceVpi=H("");destinationVpi=H("");nodeMappings=se(new Map);nodeMappingsDataSource=se([]);displayedColumns=["portIn","portOut","actions"];constructor(){}ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=e.name,this.nameSignal.set(e.name),this.useVpiOnly.set(!1);let t=e.properties.mappings,o=new Map;Object.keys(t).forEach(r=>{o.set(r,t[r])}),this.nodeMappings.set(o),this.nodeMappingsDataSource.set(Array.from(o.entries()).map(([r,a])=>({portIn:r,portOut:a})))},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t)}})}delete(e){this.nodeMappingsDataSource.set(this.nodeMappingsDataSource().filter(t=>t!==e))}add(){let e=this.validationService.validateMappingEntry(this.sourcePort(),this.sourceVci(),this.destinationPort(),this.destinationVci(),this.sourceVpi Line truncated
`):t||""),this.usage.set(e.properties.usage||""),this.getConfiguration(),this.node.properties.cpus||(this.node.properties.cpus=0),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.dockerConfigurationService.getConsoleTypes(),this.auxConsoleTypes=this.dockerConfigurationService.getAuxConsoleTypes()}configureCustomAdapters(){let e=this.node.custom_adapters||[];if(e.length===0){let o=parseInt(this.adapter(),10)||1;e=Array.from({length:o},(r,a)=>({adapter_number:a,mac_address:""}))}this.dialogRef=this.dialog.open(Lf,this.conf);let t=this.dialogRef.componentInstance;t.controller=this.controller,t.adapters.set(e),t.saveHandler=o=>{this.node.custom_adapters=o.map(r=>Qe(W({},r),{mac_address:r.mac_address||null})),this.adapter.set(o.length.toString())}}editNetworkConfiguration(){this.dialogRef=this.dialog.open(B2,this.conf);let e=this.dialogRef.componentInstance;e.controller=this.controller,e.node=this.node}onSaveClick(){let e=this.validationService.validateName(this.nodeName());if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}let t=this.validationService.validateAdapters(this.adapter(),99);if(!t.isValid){this.toasterService.error(t.errorMessage);return}let o=this.validationService.validateMacAddress(this.macAddress());if(!o.isValid){this.toasterService.error(o.errorMessage);return}let r=this.validationService.validateMemory(this.memory());if(!r.isValid){this.toasterService.error(r.errorMessage);return}let a=this.validationService.validateCpus(this.cpus());if(!a.isValid){this.toasterService.error(a.errorMessage);return}if(!this.consoleHttpPort()||this.consoleHttpPort().trim()===""){this.toasterService.error("Console HTTP port is required");return}let c=this.validationService.validateConsoleHttpPath(this.consoleHttpPath());if(!c.isValid){this.toasterService.error(c.errorMessage);return}let m=this.validationService.validateEnvironment(this.environment(),"Advanced > Environment");if(!m.isValid){this.toasterService.error(m.errorMessage);return}this.node.name=this.nodeName(),this.node.properties.image=this.dockerImage(),this.node.properties.start_command=this.startCommand(),this.node.properties.adapters=parseInt(this.adapter(),10)||0,this.node.properties.mac_address=this.macAddress(),this.node.properties.memory=parseInt(this.memory(),10)||0,this.node.properties.cpus=parseFloat(this.cpus())||0,this.node.console_type=this.consoleType(),this.node.aux_type=this.auxType(),this.node.console_auto_start=this.consoleAutoStart(),this.node.properties.console_resolution=this.consoleResolution(),this.node.properties.console_http_port=parseInt(this.consoleHttpPort(),10)||void 0,this.node.properties.console_http_path=this.consoleHttpPath(),this.node.properties.environment=this.environment(),this.node.properties.extra_hosts=this.extraHosts(),this.node.properties.extra_volumes=this.extraVolumes()?this.extraVolumes().split(`
`).filter(p=>p.trim()):[],this.node.properties.usage=this.usage(),this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:p=>{let h=p?.error?.message||p?.message||"Failed to update node";this.toasterService.error(h),this.cd.markForCheck()}})}onCancelClick(){this.dialogReference.close()}addTag(e){let t=(e.value||"").trim();t&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let t=this.node.tags.indexOf(e);t>=0&&this.node.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-configurator-docker"]],inputs:{nodeName:[1,"nodeName"],dockerImage:[1,"dockerImage"],startCommand:[1,"startCommand"],adapter:[1,"adapter"],macAddress:[1,"macAddress"],memory:[1,"memory"],cpus:[1,"cpus"],consoleType:[1,"consoleType"],auxType:[1,"auxType"],consoleAutoStart:[1,"consoleAutoStart"],consoleResolution:[1,"consoleResolution"],consoleHttpPort:[1,"consoleHttpPort"],consoleHttpPath:[1,"consoleHttpPath"],environment:[1,"environment"],extraHosts:[1,"extraHosts"],extraVolumes:[1,"extraVolumes"],usage:[1,"usage"]},outputs:{nodeName:"nodeNameChange",dockerImage:"dockerImageChange",startCommand:"startCommandChange",adapter:"adapterChange",macAddress:"macAddressChange",memory:"memoryChange",cpus:"cpusChange",consoleType:"consoleTypeChange",auxType:"auxTypeChange",consoleAutoStart:"consoleAutoStartChange",consoleResolution:"consoleResolutionChange",consoleHttpPort:"consoleHttpPortChange",consoleHttpPath:"consoleHttpPathChange",environment:"environmentChange",extraHosts:"extraHostsChange",extraVolumes:"extraVolumesChange",usage:"usageChange"},decls:12,vars:2,consts:[["chipList",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],[1,"matCard"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],["label","General settings"],[1,"form-container"],[1,"form-field"],["matInput","","type","text",3,"input","value"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[1,"two-column-grid"],["matInput","","type","text","min","0",3,"input","value"],["matSuffix",""],[3,"valueChange","value"],[3,"value"],[1,"form-field","grid-span-2"],[1,"grid-span-2",3,"change","checked"],["mat-button","",1,"form-field",3,"click"],["label","Advanced"],["matInput","","placeholder",'Command to run when the container starts (overrides image default CMD). E.g., python app.py, nginx -g "daemon off;"',3,"input","value"],["matInput","","placeholder","Environment variables (one per line, KEY=VALUE format). Supports: %vm-name%, %vm-id%, %project-id%, %project-path%",3,"input","value"],["matInput","","placeholder","Hostname to IP mappings, one per line (e.g., gns3.com:192.168.100.10)",3,"input","value"],["matInput","","placeholder",`Container directories to persist, one per line (e.g., /data
/config)`,3,"input","value"],["label","Usage"],["matInput","",3,"input","value"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",1),d(1),l(),s(2,"div",2)(3,"div",3)(4,"div",4)(5,"mat-card",5),A(6,$ye,103,19,"mat-tab-group"),l()()()(),s(7,"div",6)(8,"button",7),_("click",function(){return o.onCancelClick()}),d(9,"Cancel"),l(),s(10,"button",8),_("click",function(){return o.onSaveClick()}),d(11,"Apply"),l()()),t&2&&(u(),te("Configurator for node ",o.name),u(5),O(o.name?6:-1))},dependencies:[ne,Ze,ve,Fe,Re,St,Sn,io,Io,Ao,we,ke,ot,to,ye,Ee,bt,Dt,vt,U,pe,mi,ai,_i,vi,gi,re,ce,It,qt],encapsulation:2,changeDetection:0})}return n})();function Hye(n,i){if(n&1){let e=z();s(0,"mat-chip",18),_("removed",function(){let o=T(e).$implicit,r=C(2);return E(r.removeTag(o))}),d(1),s(2,"mat-icon",19),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;u(),te(" ",e," ")}}function Uye(n,i){if(n&1&&(s(0,"mat-option",16),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),te(" ",e," ")}}function Gye(n,i){if(n&1&&B(0,"app-ports",17,1),n&2){let e=C(2);b("ethernetPorts",e.node.properties.ports_mapping)}}function Wye(n,i){if(n&1){let e=z();s(0,"div",5)(1,"mat-card",9)(2,"div",10)(3,"mat-form-field",11)(4,"mat-label"),d(5,"Name"),l(),s(6,"input",12),_("input",function(o){T(e);let r=C();return E(r.nodeName.set(o.target.value))}),l()(),s(7,"mat-form-field",13)(8,"mat-label"),d(9,"Tags"),l(),s(10,"mat-chip-grid",null,0),Z(12,Hye,4,1,"mat-chip",null,Ae),l(),s(14,"input",14),_("matChipInputTokenEnd",function(o){T(e);let r=C();return E(r.addTag(o))}),l()(),s(15,"mat-form-field",11)(16,"mat-label"),d(17,"Console type"),l(),s(18,"mat-select",15),_("valueChange",function(o){T(e);let r=C();return E(r.consoleType.set(o))}),Z(19,Uye,2,2,"mat-option",16,Ae),l()()(),A(21,Gye,2,1,"app-ports",17),l()()}if(n&2){let e=Pe(11),t=C();u(6),b("value",t.nodeName()),u(6),J(t.node==null?null:t.node.tags),u(2),b("matChipInputFor",e)("matChipInputSeparatorKeyCodes",t.separatorKeysCodes),u(4),b("value",t.consoleType()),u(),J(t.consoleTypes),u(2),O(t.node.properties?21:-1)}}var z2=(()=>{class n{portsComponent=jt(Rd);dialogRef=f(Ie);nodeService=f(ht);toasterService=f(ee);ethernetSwitchesConfigurationService=f(Ta);cd=f(X);validationService=f(Bi);controller;node;name;consoleTypes=[];separatorKeysCodes=[13,188];nodeName=H("");consoleType=H("");ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=this.node.name,this.nodeName.set(e.name||""),this.consoleType.set(e.console_type||""),this.getConfiguration(),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.ethernetSwitchesConfigurationService.getConsoleTypesForEthernetSwitches()}onSaveClick(){let e=this.validationService.required(this.nodeName(),"Name");if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}this.node.name=this.nodeName(),this.node.console_type=this.consoleType(),this.node.properties.ports_mapping=this.portsComponent().ethernetPorts,this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:t=>{let o=t?.error?.message||t?.message||"Failed to update node";this.toasterService.error(o),this.cd.markForCheck()}})}onCancelClick(){this.dialogRef.close()}addTag(e){let t=(e.value||"").trim();t&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let t=this.node.tags.indexOf(e);t>=0&&this.node.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-configurator-ethernet-switch"]],viewQuery:function(t,o){t&1&&en(o.portsComponent,Rd,5),t&2&&tn()},inputs:{nodeName:[1,"nodeName"],consoleType:[1,"consoleType"]},outputs:{nodeName:"nodeNameChange",consoleType:"consoleTypeChange"},decls:10,vars:2,consts:[["chipList",""],["ports",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],[1,"matCard"],[1,"form-container"],[1,"form-field"],["matInput","","type","text",3,"input","value"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[3,"valueChange","value"],[3,"value"],[3,"ethernetPorts"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",2),d(1),l(),s(2,"div",3)(3,"div",4),A(4,Wye,22,5,"div",5),l()(),s(5,"div",6)(6,"button",7),_("click",function(){return o.onCancelClick()}),d(7,"Cancel"),l(),s(8,"button",8),_("click",function(){return o.onSaveClick()}),d(9,"Apply"),l()()),t&2&&(u(),te("Configurator for EthernLine truncated
A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|
MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|
ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|
WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|
XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|
XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052`),SAMSUNG:new RegExp(`\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|
GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|
GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|
GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|
GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|
GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|
GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|
GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|
GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|
GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|
GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|
GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|
GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|
GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|
GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|
GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|
GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|
GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|
SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|
SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|
SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|
SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|
SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|
SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|
SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|
SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|
SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|
SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|
SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|
SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|
SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|
SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|
SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|
SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|
SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|
SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|
SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|
SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|
SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|
SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|
SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|
SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|
SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|
SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|
SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|
SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|
SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|
SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|
SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|
GT-N7105|SCH-I535|SM-N900A|SM-N900T|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|
GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|
GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|
SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|
SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|
SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F`),LG:new RegExp(`\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|
LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|
C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|
LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|
VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|
MS323|M257)`),SONY:/SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533/,ASUS:/Asus.*Galaxy|PadFone.*Mobile/,NOKIA_LUMIA:/Lumia [0-9]{3,4}/,MICROMAX:/Micromax.*\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\b/,PALM:/PalmSource|Palm/,VERTU:/Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature/,PANTECH:new RegExp(`PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|
IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|
IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|
CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|
P2000|P7040|P7000|C790`),FLY:/IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250/,WIKO:new RegExp(`KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|
SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|
CINK KING|CINK PEAX|CINK SLIM|SUBLIM`),I_MOBILE:/i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)/,SIMVALLEY:/\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b/,WOLFGANG:/AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q/,ALCATEL:/Alcatel|Mobile; rv:49.0|Mobile; ALCATEL 4052R; rv:48.0/,NINTENDO:/Nintendo (3DS|Switch)/,AMOI:/Amoi/,INQ:/INQ/,VITA:/\bVita\b/,BLACKBERRY:/\bBlackBerry\b|\bBB10\b|rim[0-9]+/,FIREFOX_OS:/\bFirefox-OS\b/,IPHONE:/\biPhone\b/,iPod:/\biPod\b/,ANDROID:/\bAndroid\b/,WINDOWS_PHONE:/\bWindows-Phone\b/,GENERIC_PHONE:new RegExp(`Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|
up.link|vodafone|\\bwap\\b|nokia|Nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser`)},Bg={iPad:/iPad|iPad.*Mobile/,NexusTablet:/Android.*Nexus[\s]+(7|9|10)/,GoogleTablet:/Android.*Pixel C/,SamsungTablet:new RegExp(`SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|
GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|
SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|
GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|
SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|
GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|
SHV-E230S|SHW-M180K|SHW-M180L|SM-T865|SM-T290|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|
SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|
GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T385M|SM-P585M|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|
SM-P601|SM-P605|SM-P615|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|
GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|
SM-T510|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|
SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T500|SM-T330|
SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|
SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|
SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|
SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|
SM-T719|SM-T725|SM-T813|SM-T819|SM-T580|SM-T590|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|
SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-P585Y|SM-X200`),Kindle:new RegExp(`Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|
KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome /[0-9.]+ (?!Mobile)`),SurfaceTablet:/Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)/,HPTablet:/HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10/,AsusTablet:new RegExp(`^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|
TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|
Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|
ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|
ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b`),BlackBerryTablet:/PlayBook|RIM Tablet/,HTCtablet:/HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410/,MotorolaTablet:/xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617/,NookTablet:/Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2/,AcerTablet:new RegExp(`Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|
W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|
\\bA3-A20\\b|\\bA3-A30`),ToshibaTablet:/Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO/,LGTablet:/\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\b/,FujitsuTablet:/Android.*\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\b/,PrestigioTablet:new RegExp(`PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|
PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|
PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|
PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|
PMT5887|PMT5001|PMT5002`),LenovoTablet:new RegExp(`Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|
YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|
B8000|B8080)(-|)(FL|F|HV|H|)|TB-X606F|TB-X103F|TB-X304F|TB-X304L|TB-X704F|TB-8703F|Tab2A7-10F|TB2-X30L|TB-8504F`),DellTablet:/Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7/,YarvikTablet:new RegExp(`Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|
TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|
TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|
TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|
TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b`),MedionTablet:/Android.*\bOYO\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB/,ArnovaTablet:/97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2/,IntensoTablet:/INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004/,IRUTablet:/M702pro/,MegafonTablet:/MegaFon V9|\bZTE V9\b|Android.*\bMT7A\b/,EbodaTablet:/E-Boda (Supreme|Impresspeed|Izzycomm|Essential)/,AllViewTablet:/Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)/,ArchosTablet:new RegExp(`\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10|
Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b`),AinolTablet:/NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark/,NokiaLumiaTablet:/Lumia 2520/,SonyTablet:new RegExp(`Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|
SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|
EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|
SGP612|SGP712`),PhilipsTablet:/\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\b/,CubeTablet:/Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT/,CobyTablet:new RegExp(`MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|
MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010`),MIDTablet:new RegExp(`M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|
MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|
MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10`),MSITablet:new RegExp(`MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|
Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b`),SMiTTablet:/Android.*(\bMID\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)/,RockChipTablet:/Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A/,FlyTablet:/IQ310|Fly Vision/,bqTablet:new RegExp(`Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|
Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus`),HuaweiTablet:new RegExp(`MediaPad|MediaPad 7 Youth|MediaPad T3 10|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|
S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-W09`),NecTablet:/\bN-06D|\bN-08D/,PantechTablet:/Pantech.*P4100/,BronchoTablet:/Broncho.*(N701|N708|N802|a710)/,VersusTablet:/TOUCHPAD.*[78910]|\bTOUCHTAB\b/,ZyncTablet:/z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900/,PositivoTablet:/TB07STA|TB10STA|TB07FTA|TB10FTA/,NabiTablet:/Android.*\bNabi/,KoboTablet:/Kobo Touch|\bK080\b|\bVox\b Build|\bArc\b Build/,DanewTablet:/DSlide.*\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\b/,TexetTablet:new RegExp(`NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|
TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|
TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|
TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|
TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|
TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|
TB-436|TB-416|TB-146SE|TB-126SE`),PlaystationTablet:/Playstation.*(Portable|Vita)/,TrekstorTablet:/ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab/,PyleAudioTablet:/\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\b/,AdvanTablet:new RegExp(`Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|
T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b`),DanyTechTablet:`Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|
Genius TAB GII|Genius TAB GIII|Genius Tab S1`,GalapadTablet:/Android.*\bG1\b(?!\))/,MicromaxTablet:/Funbook|Micromax.*\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\b/,KarbonnTablet:/Android.*\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\b/,AllFineTablet:/Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide/,PROSCANTablet:new RegExp(`\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|
PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|
PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|
PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b`),YONESTablet:/BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026/,ChangJiaTablet:new RegExp(`TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|
TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|
TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|
TPC10111|TPC10203|TPC10205|TPC10503`),GUTablet:/TX-A1301|TX-M9002|Q702|kf026/,PointOfViewTablet:new RegExp(`TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|
TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|
TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|
TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10`),OvermaxTablet:new RegExp(`OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|
MagicTab|Stream|TB-08|TB-09)|Qualcore 1027`),HCLTablet:/HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync/,DPSTablet:/DPS Dream 9|DPS Dual 7/,VistureTablet:/V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10/,CrestaTablet:/CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989/,MediatekTablet:/\bMT8125|MT8389|MT8135|MT8377\b/,ConcordeTablet:/Concorde([ ]+)?Tab|ConCorde ReadMan/,GoCleverTablet:new RegExp(`GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|
TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|
GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|
TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|
TAB R104|TAB R83.3|TAB A1042`),ModecomTablet:new RegExp(`FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|
FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|
FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003`),VoninoTablet:new RegExp(`\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|
Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|
Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b`),ECSTablet:/V07OT2|TM105A|S10OT1|TR10CS1/,StorexTablet:/eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab/,VodafoneTablet:/SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497/,EssentielBTablet:/Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2/,RossMoorTablet:/RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711/,iMobileTablet:/i-mobile i-note/,TolinoTablet:/tolino tab [0-9.]+|tolino shine/,AudioSonicTablet:/\bC-22Q|T7-QC|T-17B|T-17P\b/,AMPETablet:/Android.* A78 /,SkkTablet:/Android.* (SKYPAD|PHOENIX|CYCLOPS)/,TecnoTablet:/TECNO P9|TECNO DP8D/,JXDTablet:new RegExp(`Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|
S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|
P1000|P300|S18|S6600|S9100)\\b`),iJoyTablet:new RegExp(`Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|
Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|
Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|
Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|
Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)`),FX2Tablet:/FX2 PAD7|FX2 PAD10/,XoroTablet:new RegExp(`KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|
PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|
PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|
TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151`),ViewsonicTablet:/ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a/,VerizonTablet:/QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1/,OdysTablet:/LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\bXELIO\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10/,CaptivaTablet:/CAPTIVA PAD/,IconbitTablet:new RegExp(`NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|
NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S`),TeclastTablet:new RegExp(`T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|
\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|
\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|
\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|
\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|
\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|
\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|
\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|
\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi`),OndaTablet:new RegExp(`\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|
V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|
V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|
Vi40)\\b[s]+|V10 \\b4G\\b`),JaytechTablet:/TPC-PA762/,BlaupunktTablet:/Endeavour 800NG|Endeavour 1010/,DigmaTablet:/\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\b/,EvolioTablet:/ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\bEvotab\b|\bNeura\b/,LavaTablet:/QPAD E704|\bIvoryS\b|E-TAB IVORY|\bE-TAB\b/,AocTablet:/MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712/,MpmanTablet:new RegExp(`MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|
\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|
MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010`),CelkonTablet:/CT695|CT888|CT[\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\bCT-1\b/,WolderTablet:new RegExp(`miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|
POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|
FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b`),MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:/\bMI PAD\b|\bHM NOTE 1W\b/,NibiruTablet:/Nibiru M1|Nibiru Jupiter One/,NexoTablet:/NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI/,LeaderTablet:new RegExp(`TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|
TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100`),UbislateTablet:/UbiSlate[\s]?7C/,PocketBookTablet:/Pocketbook/,KocasoTablet:/\b(TB-1207)\b/,HisenseTablet:/\b(F5281|E2371)\b/,Hudl:/Hudl HT7S3|Hudl 2/,TelstraTablet:/T-Hub2/,Honeywell:/RT10A/,GenericTablet:new RegExp(`Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|
A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|
Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107`)},Ep={BLACKBERRY:"Blackberry",FIREFOX_OS:"Firefox-OS",CHROME_BOOK:"Chrome-Book",WINDOWS_PHONE:"Windows-Phone",VITA:"Vita",PS4:"PS4",MAC:"Macintosh",CHROMECAST:"Chromecast",APPLE_TV:"Apple-TV",GOOGLE_TV:"Google-TV",ANDROID:"Android",Tesla:"Tesla",iPad:"iPad",IPHONE:"iPhone",iPod:"iPod",UNKNOWN:Vg.UKNOWN,HTC:"HTC",NEXUS_PHONE:"Nexus Phone",NexusTablet:"Nexus Tablet",DELL:"Dell",MOTOROLA:"Motorola",SAMSUNG:"Samsung",LG:"LG",SONY:"Sony",ASUS:"Asus",NOKIA_LUMIA:"Nokia Lumia",MICROMAX:"Micromax",PALM:"Palm",VERTU:"Vertu",PANTECH:"PANTECH",FLY:"Fly",WIKO:"WIKO",I_MOBILE:"i-mobile",SIMVALLEY:"Simvalley",WOLFGANG:"Wolfgang",ALCATEL:"Alcatel",HONEYWELL:"Honeywell",NINTENDO:"Nintendo",AMOI:"Amoi",INQ:"INQ",GENERIC_PHONE:"Generic Phone",MI_SE_9:"Mi SE 9"},lH=[Ep.PS4,Ep.CHROME_BOOK,Ep.MAC,Ep.DELL,Ep.ASUS,Ep.UNKNOWN],Wwe={WINDOWS:"Windows",MAC:"Mac",IOS:"iOS",ANDROID:"Android",LINUX:"Linux",UNIX:"Unix",FIREFOX_OS:"Firefox-OS",CHROME_OS:"Chrome-OS",WINDOWS_PHONE:"Windows-Phone",UNKNOWN:Vg.UKNOWN},qwe={WINDOWS_3_11:"windows-3-11",WINDOWS_95:"windows-95",WINDOWS_ME:"windows-me",WINDOWS_98:"windows-98",WINDOWS_CE:"windows-ce",WINDOWS_2000:"windows-2000",WINDOWS_XP:"windows-xp",WINDOWS_SERVER_2003:"windows-server-2003",WINDOWS_VISTA:"windows-vista",WINDOWS_7:"windows-7",WINDOWS_8_1:"windows-8-1",WINDOWS_8:"windows-8",WINDOWS_10:"windows-10",WINDOWS_PHONE_7_5:"windows-phone-7-5",WINDOWS_PHONE_8_1:"windows-phone-8-1",WINDOWS_PHONE_10:"windows-phone-10",WINDOWS_NT_4_0:"windows-nt-4-0",MACOSX_11_0:"mac-os-x-11-0",MACOSX_16:"mac-os-x-16",MACOSX_15:"mac-os-x-15",MACOSX_14:"mac-os-x-14",MACOSX_13:"mac-os-x-13",MACOSX_12:"mac-os-x-12",MACOSX_11:"mac-os-x-11",MACOSX_10:"mac-os-x-10",MACOSX_9:"mac-os-x-9",MACOSX_8:"mac-os-x-8",MACOSX_7:"mac-os-x-7",MACOSX_6:"mac-os-x-6",MACOSX_5:"mac-os-x-5",MACOSX_4:"mac-os-x-4",MACOSX_3:"mac-os-x-3",MACOSX_2:"mac-os-x-2",MACOSX:"mac-os-x",iOS:"iOS",ANDROID_9:"android-9",UNKNOWN:Vg.UKNOWN.toLowerCase()},cH={WINDOWS:{and:[{or:[/\bWindows|(Win\d\d)\b/,/\bWin 9x\b/]},{not:/\bWindows Phone\b/}]},MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]},IOS:{and:[{or:[/\biPad\b/,/\biPhone\b/,/\biPod\b/]},{not:/\bWindows Phone\b/}]},ANDROID:{and:[/\bAndroid\b/,{not:/\bWindows Phone\b/}]},LINUX:/\bLinux\b/,UNIX:/\bUNIX\b/,FIREFOX_OS:{and:[/\bFirefox\b/,/Mobile\b/]},CHROME_OS:/\bCrOS\b/,WINDOWS_PHONE:{or:[/\bIEMobile\b/,/\bWindows Phone\b/]},PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/},Qwe={CHROME:{and:[{or:[/\bChrome\b/,/\bCriOS\b/,/\bHeadlessChrome\b/]},{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},FIREFOX:{or:[/\bFirefox\b/,/\bFxiOS\b/]},SAFARI:{and:[/^((?!CriOS).)*\Safari\b.*$/,{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bWindows Phone\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},OPERA:{or:[/Opera\b/,/\bOPR\b/]},IE:{or:[/\bMSIE\b/,/\bTrident\b/,/^Mozilla\/5\.0 \(Windows NT 10\.0; Win64; x64\)$/]},MS_EDGE:{or:[/\bEdg(e|A|iOS)\b/]},MS_EDGE_CHROMIUM:/\bEdg\/\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/,FB_MESSANGER:/\bFBAN\/MessengerForiOS\b/,SAMSUNG:/\bSamsungBrowser\b/,UCBROWSER:/\bUCBrowser\b/},Xwe=Qe(W(W(W({},iM),Bg),cH),{FIREFOX_OS:{and:[/\bFirefox\b/,/\bMobile\b/]},CHROME_BOOK:/\bCrOS\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,CHROMECAST:/\bCrKey\b/,APPLE_TV:/^iTunes-AppleTV\/4.1$/,GOOGLE_TV:/\bGoogleTV\b/,Tesla:/Tesla\/([0-9]{4}.[0-9]{1,2}.?[0-9]{0,2}.?[0-9]{0,2})-(.{7})/,MI_SE_9:/\bXiaomi\b/,MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]}}),J4={WINDOWS_3_11:/Win16/,WINDOWS_95:/(Windows 95|Win95|Windows_95)/,WINDOWS_ME:/(Win 9x 4.90|Windows ME)/,WINDOWS_98:/(Windows 98|Win98)/,WINDOWS_CE:/Windows CE/,WINDOWS_2000:/(Windows NT 5.0|Windows 2000)/,WINDOWS_XP:/(Windows NT 5.1|Windows XP)/,WINDOWS_SERVER_2003:/Windows NT 5.2/,WINDOWS_VISTA:/Windows NT 6.0/,WINDOWS_7:/(Windows 7|Windows NT 6.1)/,WINDOWS_8_1:/(Windows 8.1|Windows NT 6.3)/,WINDOWS_8:/(Windows 8|Windows NT 6.2)/,WINDOWS_10:/(Windows NT 10.0)/,WINDOWS_PHONE_7_5:/(Windows Phone OS 7.5)/,WINDOWS_PHONE_8_1:/(Windows Phone 8.1)/,WINDOWS_PHONE_10:/(Windows Phone 10)/,WINDOWS_NT_4_0:{and:[/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/,{not:/Windows NT 10.0/}]},MACOSX:/(MAC OS X\s*[^ 0-9])/,MACOSX_3:/(Darwin 10.3|Mac OS X 10.3)/,MACOSX_4:/(Darwin 10.4|Mac OS X 10.4)/,MACOSX_5:/(Mac OS X 10.5)/,MACOSX_6:/(Mac OS X 10.6)/,MACOSX_7:/(Mac OS X 10.7)/,MACOSX_8:/(Mac OS X 10.8)/,MACOSX_9:/(Mac OS X 10.9)/,MACOSX_10:/(Mac OS X 10.10)/,MACOSX_11:/(Mac OS X 10.11)/,MACOSX_12:/(Mac OS X 10.12)/,MACOSX_13:/(Mac OS X 10.13)/,MACOSX_14:/(Mac OS X 10.14)/,MACOSX_15:/(Mac OS X 10.15)/,MACOSX_16:/(Mac OS X 10.16)/,MACOSX_11_0:{or:[/11_0 like Mac OS X/,/Mac OS X 11/]},iOS:/(iPhone OS\s*[0-9_]+)/,ANDROID_9:/(Android 9)/},eN={CHROME:[/\bChrome\/([\d\.] Line truncated
Finding the right idle-pc value is a trial and error process, consisting of applying different Idle-PC values and monitoring the CPU usage.
Select each value that appears in the list and click Apply, and note the CPU usage a few moments later. When you have found the value that minimises the CPU usage, apply that value.`}onCompute(){this.isComputing=!0,this.nodeService.getIdlePCProposals(this.controller,this.node).subscribe({next:e=>{let t=[];for(let o of e){let r=o.match(/^(0x[0-9a-f]{8})\s+\[(\d+)\]$/);if(r){let a=r[1],c=parseInt(r[2],10);50<=c&&c<=60&&(o+="*"),t.push({key:a,name:o})}}this.idlepcs=t,this.idlepcs.length>0&&this.idlePC.set(this.idlepcs[0].key),this.isComputing=!1,this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to compute idle-PC proposals";this.toasterService.error(t),this.isComputing=!1,this.cd.markForCheck()}})}onClose(){this.dialogRef.close()}onApply(){this.idlePC()&&this.idlePC()!=="0x0"&&(this.node.properties.idlepc=this.idlePC(),this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated with idle-PC value ${this.idlePC()}`),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to update node with idle-PC value";this.toasterService.error(t),this.cd.markForCheck()}}))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-dialog"]],inputs:{controller:"controller",node:"node",idlePC:[1,"idlePC"]},outputs:{idlePC:"idlePCChange"},decls:7,vars:4,consts:[["mat-dialog-actions",""],["mat-button","","color","accent"],["mat-button","","color","accent",3,"click"],["align","center"],["mat-dialog-content","","align","center"],["color","accent"],["mat-dialog-title",""],[1,"form-field"],["placeholder","Idle-PC","matTooltipClass","multiline-tooltip",3,"selectionChange","value","matTooltip"],[3,"value"]],template:function(t,o){t&1&&(A(0,b2e,5,0,"div"),A(1,y2e,6,2),s(2,"div",0),A(3,S2e,2,0,"button",1),A(4,w2e,2,0,"button",1),s(5,"button",2),_("click",function(){return o.onClose()}),d(6,"Close"),l()()),t&2&&(O(o.isComputing?0:-1),u(),O(o.isComputing?-1:1),u(2),O(o.isComputing?-1:3),u(),O(o.isComputing?-1:4))},dependencies:[ve,Fe,Re,Rt,U,pe,Mn,zi,ye,ke,lo,bt,Dt,vt,Ze],styles:[".container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between}.multiline-tooltip[_ngcontent-%COMP%]{background-color:var(--mat-app-surface);color:var(--mat-app-on-surface-color);white-space:pre-line}"],changeDetection:0})}return n})();function M2e(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=C();return E(o.idlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Idle-PC"),l()()}}var yM=(()=>{class n{nodeService=f(ht);dialog=f(nt);controller=ae(void 0);node=ae(void 0);idlePC(){let t=this.dialog.open(xM,{panelClass:["base-dialog-panel","idle-pc-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.controller=this.controller(),t.node=this.node()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,M2e,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[U,re,ce,qe,et],encapsulation:2,changeDetection:0})}return n})();function k2e(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=C();return E(o.autoIdlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Auto Idle-PC"),l()()}}var SM=(()=>{class n{nodeService=f(ht);toasterService=f(ee);progressService=f(so);cdr=f(X);controller=ae(void 0);node=ae(void 0);autoIdlePC(){this.progressService.activate(),this.nodeService.getAutoIdlePC(this.controller(),this.node()).subscribe({next:e=>{this.progressService.deactivate(),e.idlepc!==null&&this.toasterService.success(`Node ${this.node().name} updated with idle-PC value ${e.idlepc}`),this.cdr.markForCheck()},error:e=>{this.progressService.deactivate();let t=e.error?.message||e.message||"Failed to update idle-PC value";this.toasterService.error(t),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-auto-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,k2e,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[U,re,ce,qe,et],encapsulation:2,changeDetection:0})}return n})();var wM=(()=>{class n{nodesDataSource=f(ei);drawingsDataSource=f(Ti);nodeService=f(ht);drawingService=f(Ni);toasterService=f(ee);cdr=f(X);controller=ae(void 0);nodes=ae(void 0);drawings=ae(void 0);moveLayerUp(){this.nodes().forEach(e=>{e.z++,this.nodesDataSource.update(e),this.nodeService.update(this.controller(),e).subscribe({next:t=>{},error:t=>{let o=t.error?.message||t.message||"Failed to move layer up";this.toasterService.error(o) Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Wg=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[U,bt,Et,_r]})}return n})();var BMe=["mat-sort-header",""],VMe=["*",[["","matSortHeaderIcon",""]]],zMe=["*","[matSortHeaderIcon]"];function jMe(n,i){n&1&&(Jn(),yo(0,"svg",3),Ts(1,"path",4),Eo())}function $Me(n,i){n&1&&(yo(0,"div",2),nn(1,1,null,jMe,2,0),Eo())}var gH=new $t("MAT_SORT_DEFAULT_OPTIONS"),To=(()=>{class n{_defaultOptions;_initializedStream=new rh(1);sortables=new Map;_stateChanges=new je;active;start="asc";get direction(){return this._direction}set direction(e){this._direction=e}_direction="";disableClear;disabled=!1;sortChange=new _e;initialized=this._initializedStream;constructor(e){this._defaultOptions=e}register(e){this.sortables.set(e.id,e)}deregister(e){this.sortables.delete(e.id)}sort(e){this.active!=e.id?(this.active=e.id,this.direction=e.start?e.start:this.start):this.direction=this.getNextSortDirection(e),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(e){if(!e)return"";let t=e?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear,o=HMe(e.start||this.start,t),r=o.indexOf(this.direction)+1;return r>=o.length&&(r=0),o[r]}ngOnInit(){this._initializedStream.next()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete(),this._initializedStream.complete()}static \u0275fac=function(t){return new(t||n)(rt(gH,8))};static \u0275dir=ft({type:n,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{active:[0,"matSortActive","active"],start:[0,"matSortStart","start"],direction:[0,"matSortDirection","direction"],disableClear:[2,"matSortDisableClear","disableClear",gt],disabled:[2,"matSortDisabled","disabled",gt]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[dn]})}return n})();function HMe(n,i){let e=["asc","desc"];return n=="desc"&&e.reverse(),i||e.push(""),e}var ia=(()=>{class n{_sort=f(To,{optional:!0});_columnDef=f(Om,{optional:!0});_changeDetectorRef=f(X);_focusMonitor=f(Fa);_elementRef=f(Qt);_ariaDescriber=f(I5,{optional:!0});_renderChanges;_animationsDisabled=Qo();_recentlyCleared=se(null);_sortButton;id;arrowPosition="after";start;disabled=!1;get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(e){this._updateSortActionDescription(e)}_sortActionDescription="Sort";disableClear;constructor(){f(pr).load(sa);let e=f(gH,{optional:!0});this._sort,e?.arrowPosition&&(this.arrowPosition=e?.arrowPosition)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._sort.register(this),this._renderChanges=En(this._sort._stateChanges,this._sort.sortChange).subscribe(()=>this._changeDetectorRef.markForCheck()),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(()=>{Promise.resolve().then(()=>this._recentlyCleared.set(null))})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._renderChanges?.unsubscribe(),this._sortButton&&this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription)}_toggleOnInteraction(){if(!this._isDisabled()){let e=this._isSorted(),t=this._sort.direction;this._sort.sort(this),this._recentlyCleared.set(e&&!this._isSorted()?t:null)}}_handleKeydown(e){(e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&(this._sort.direction==="asc"||this._sort.direction==="desc")}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?this._sort.direction=="asc"?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(e){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,e)),this._sortActionDescription=e}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,o){t&1&&_("click",function(){return o._toggleOnInteraction()})("keydown",function(a){return o._handleKeydown(a)})("mouseleave",function(){return o._recentlyCleared.set(null)}),t&2&&(Xt("aria-sort",o._getAriaSortAttribute()),Ue("mat-sort-header-disabled",o._isDisabled()))},inputs:{id:[0,"mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",disabled:[2,"disabled","disabled",gt],sortActionDescription:"sortActionDescription",disableClear:[2,"disableClear","disableClear",gt]},exportAs:["matSortHeader"],attrs:BMe,ngContentSelectors:zMe,decls:4,vars:17,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],[1,"mat-sort- Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Dr=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[ui]})}return n})();var xH=Xs(CH());var HC=(()=>{class n{dialogRef=f(Ie);confirmationMessage;onNoClick(){this.dialogRef.close(!1)}onYesClick(){this.dialogRef.close(!0)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-information-dialog"]],decls:8,vars:1,consts:[[1,"information-dialog__content"],[1,"information-dialog__message"],["mat-dialog-actions",""],["mat-button","",1,"cancel-button",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",1,"confirm-button",3,"click"]],template:function(t,o){t&1&&(s(0,"mat-dialog-content",0)(1,"p",1),d(2),l()(),s(3,"div",2)(4,"button",3),_("click",function(){return o.onNoClick()}),d(5,"No"),l(),s(6,"button",4),_("click",function(){return o.onYesClick()}),d(7," Yes "),l()()),t&2&&(u(2),$(o.confirmationMessage))},dependencies:[ve,Re,Rt,U,pe],styles:[".information-dialog__content[_ngcontent-%COMP%]{padding:16px 24px 8px}.information-dialog__message[_ngcontent-%COMP%]{margin:0;color:var(--mat-sys-on-surface-variant);font-size:14px;line-height:1.6}"],changeDetection:0})}return n})();var qg=class{adapters;builtin;category;compute_id;console_auto_start;console_http_path;console_http_port;console_resolution;console_type;aux_type;mac_address;custom_adapters;default_name_format;environment;extra_hosts;extra_volumes;image;memory;cpus;name;start_command;symbol;template_id;template_type;usage;tags};var UM=(()=>{class n{httpController;constructor(e){this.httpController=e}getAppliances(e){return this.httpController.get(e,"/appliances")}getAppliance(e,t){return this.httpController.get(e,t)}getUploadPath(e,t){return`${e.protocol}//${e.host}:${e.port}/${Fi.current_version}/images/upload/${t}`}updateAppliances(e){return this.httpController.get(e,"/appliances?update=yes")}static \u0275fac=function(t){return new(t||n)(ge(gn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();function UMe(n,i){if(n&1&&(s(0,"div"),d(1),l(),s(2,"div"),d(3),l()),n&2){let e=C();u(),te("Adapters: ",e.appliance.qemu.adapters),u(2),te("Console type: ",e.appliance.qemu.console_type)}}var GM=(()=>{class n{data;dialogRef=f(Ie);appliance;constructor(e){this.data=e}onNoClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)(rt(Mt))};static \u0275cmp=F({type:n,selectors:[["app-appliance-info-dialog"]],decls:14,vars:5,consts:[[1,"title-container"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","","tabindex","-1","color","accent",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"h1",1),d(2),l()(),s(3,"div",2)(4,"div"),d(5),l(),s(6,"div"),d(7),l(),s(8,"div"),d(9),l(),A(10,UMe,4,2),l(),s(11,"div",3)(12,"button",4),_("click",function(){return o.onNoClick()}),d(13,"Close"),l()()),t&2&&(u(2),$(o.appliance.name),u(3),te("Vendor: ",o.appliance.vendor_name),u(2),te("Status: ",o.appliance.status),u(2),te("Maintainer: ",o.appliance.maintainer),u(),O(o.appliance.qemu?10:-1))},dependencies:[ve,Fe,Re,Rt,U,pe,Mn],encapsulation:2,changeDetection:0})}return n})();var bH=(n,i)=>e=>es(500).pipe(hn(()=>i.list(n)),xt(t=>t.find(o=>o.name===e.value)?{templateExist:!0}:null));var GMe=n=>({"is-invalid":n});function WMe(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is required"),l())}function qMe(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is incorrect"),l())}function QMe(n,i){n&1&&(s(0,"mat-error"),d(1,"Template with this name exists"),l())}var nh=(()=>{class n{templateNameValidator;data;dialogRef=f(Ie);router=f(mt);dialog=f(nt);toasterService=f(ee);formBuilder=f(Pn);templateService=f(xl);cdr=f(X);controller;templateNameForm;constructor(e,t){this.templateNameValidator=e,this.data=t}ngOnInit(){let e=this.data.name;this.templateNameForm=this.formBuilder.group({templateName:new Ke(e,[$e.required,this.templateNameValidator.get],[bH(this.controller,this.templateService)])}),setTimeout(()=>{this.templateNameForm.controls.templateName.markAsTouched(),this.cdr.markForCheck()},100)}get form(){return this.templateNameForm.controls}onAddClick(){if(this.templateNameForm.invalid){this.toasterService.error("Please enter correct name for new template");return}this.templateService.list(this.controller).subscribe({next:e=>{let t=this.templateNameForm.controls.templateName.value;e.find(r=>r.name===t)?(this.toasterService.error("Template with this name exists"),this.cdr.markForCheck()):this.dialogRef.close(this.templateNameForm.controls.templateName.value)},error:e=>{let t=e.error?.message||e.message||"Failed to load templates";this.toasterService.error(t),this.cdr.markForCheck()}})}onNoClick(){this.dialogRef.close()}onKeyDown(e){e.key==="Enter"&&this.onAddClick()}static \u0275fac=function(t){return new(t||n)(rt(qs),rt(Mt))};static \u0275cmp=F({type:n,selectors:[["app-template-name-dialog"]],features:[Cn([qs])],decls:13,vars:7,consts:[ Line truncated
The MD5 sum is ${o} and should be ${r.md5sum}. Do you want to accept it at your own risks?`,a.afterClosed().subscribe(c=>{c?(this.importImageFile(e,t),this.openSnackBar()):(this.isUploading=!1,this.uploadingImageName="",this.uploaderImage.clearQueue(),this.changeDetectorRef.markForCheck())})}else this.importImageFile(e,t),this.openSnackBar()})}importImageFile(e,t){let o=e.target.files[0].name.split("-")[0],r=e.target.files[0],a=new FileReader,c;a.onloadend=()=>{this.applianceToInstall.qemu&&(c="qemu"),this.applianceToInstall.dynamips&&(c="dynamips"),this.applianceToInstall.iou&&(c="iou");let m=this.applianceService.getUploadPath(this.controller,t);this.uploaderImage.queue.forEach(h=>h.url=m);let p=this.uploaderImage.queue[0];p.options&&(p.options.disableMultipart=!0),p.options.headers=[{name:"Authorization",value:"Bearer "+this.controller.authToken}],this.isUploading=!0,this.uploadProgress=0,this.uploaderImage.uploadItem(p),this.changeDetectorRef.markForCheck()},a.onloadend(void 0)}cancelUploading(){this.uploaderImage.clearQueue(),this.uploadServiceService.processBarCount(null),this.toasterService.warning("File upload cancelled"),this.uploadServiceService.cancelFileUploading(!1)}checkImageFromVersion(e){let t=this.applianceToInstall.images.filter(o=>o.filename===e)[0];if(this.applianceToInstall.qemu){if(this.qemuImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.dynamips){if(this.iosImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.iou&&this.iouImages.filter(o=>o.checksum===t.md5sum).length>0)return!0;return!1}getVersionImageCount(e){let t=e.images,o=0;return t.bios_image&&o++,t.hda_disk_image&&o++,t.hdb_disk_image&&o++,t.hdc_disk_image&&o++,t.hdd_disk_image&&o++,t.cdrom_image&&o++,o}getVersionReadyCount(e){let t=e.images,o=0;return t.bios_image&&this.checkImageFromVersion(t.bios_image)&&o++,t.hda_disk_image&&this.checkImageFromVersion(t.hda_disk_image)&&o++,t.hdb_disk_image&&this.checkImageFromVersion(t.hdb_disk_image)&&o++,t.hdc_disk_image&&this.checkImageFromVersion(t.hdc_disk_image)&&o++,t.hdd_disk_image&&this.checkImageFromVersion(t.hdd_disk_image)&&o++,t.cdrom_image&&this.checkImageFromVersion(t.cdrom_image)&&o++,o}isVersionComplete(e){return this.getVersionReadyCount(e)===this.getVersionImageCount(e)}openConfirmationDialog(e,t){let o=this.dialog.open(HC,{autoFocus:!1,disableClose:!0,panelClass:["base-confirmation-dialog-panel","information-dialog-panel"]});o.componentInstance.confirmationMessage=e,o.afterClosed().subscribe(r=>{r&&window.open(t)})}downloadImage(e){let t="Download will redirect you where the required file can be downloaded, you may have to be registered with the vendor in order to download the file.",o=`The file is compressed with ${e.compression}, it must be uncompressed first.`;e.direct_download_url?e.compression?this.openConfirmationDialog(o,e.direct_download_url):window.open(e.direct_download_url):this.openConfirmationDialog(t,e.download_url)}downloadImageFromVersion(e){this.applianceToInstall.images.forEach(t=>{t.filename===e&&this.downloadImage(t)})}getCategory(){return this.applianceToInstall.category==="multilayer_switch"?"switch":this.applianceToInstall.category}createIouTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(m=>m.filename===t)[0],r=this.iouImages.filter(m=>m.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new Xm;a.nvram=this.applianceToInstall.iou.nvram,a.ram=this.applianceToInstall.iou.ram,a.ethernet_adapters=this.applianceToInstall.iou.ethernet_adapters,a.serial_adapters=this.applianceToInstall.iou.serial_adapters,a.startup_config=this.applianceToInstall.iou.startup_config,a.category=this.getCategory(),a.default_name_format=this.applianceToInstall.default_name_format,a.symbol=this.applianceToInstall.symbol,a.tags=this.applianceToInstall.tags||[],a.compute_id="local",a.template_id=$i(),a.path=t,a.template_type="iou";let c=this.dialog.open(nh,{width:"400px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","simple-dialog-panel","template-name-dialog-panel"],data:{name:this.applianceToInstall.name}});c.componentInstance.controller=this.controller,c.afterClosed().subscribe(m=>{if(m)a.name=m,this.iouService.addTemplate(this.controller,a).subscribe({next:p=>{this.templateService.newTemplateCreated.next(p),this.toasterService.success("Template added"),this.dialogRef.close()},error:p=>{let h=p.error?.message||p.message||"Failed to add template";this.toasterService.error(h),this.changeDetector.markForCheck()}});else return!1})}createIosTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(m=>m.filename===t)[0],r=this.iosImages.filter(m=>m.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new qm;a.chassis=this.applianceToInstall.dynamips.chassis,a.nvram=this.applianceToInstall.dynamips.nvram,a.platform=this.applianceToInstall.dynamips.platform,a.ram=this.applianceToInstall.dynamips.ram,a.startup_config=this.applian Line truncated
width="${t.width}">
<image height="${t.height}" width="${t.width}" xlink:href="${e}"/>
</svg>`}ngOnDestroy(){this.projectSubscriptions.forEach(e=>e.unsubscribe()),this.aiChatStateSubscription&&this.aiChatStateSubscription.unsubscribe()}openAIChat(){!this.project()||!this.controller()||(this.isAIChatOpen?this.isAIMinimized?this.aiChatStore.restorePanel():this.aiChatStore.minimizePanel():this.aiChatOpened.emit())}openFaultInjection(){!this.project()||!this.controller()||import("./chunk-OEFNHQTH.js").then(({FaultInjectionDialogComponent:e})=>{this.dialog.open(e,{panelClass:["base-dialog-panel","fault-injection-dialog-panel"],backdropClass:"fault-injection-backdrop",autoFocus:!1,disableClose:!0,data:{controller:this.controller(),project:this.project()}}).afterClosed().subscribe(o=>{o&&(console.log("Fault injection completed:",o),o.openAIChat&&this.openAIChat())})})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},outputs:{aiChatOpened:"aiChatOpened"},decls:34,vars:23,consts:[["file",""],["matTooltip","Add a note","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],[3,"ngClass"],["type","file","accept",".svg, .bmp, .jpeg, .jpg, .gif, .png",1,"non-visible",3,"change"],["matTooltip","Insert a picture","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a rectangle","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw an ellipse","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button"],["matTooltip","Draw a curve","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20","viewBox","0 0 20 20"],["transform","rotate(20, 10, 10)"],["d","M 6 3 C 12 3, 12 6, 10 6 C 8 6, 6 8, 6 10 C 6 12, 8 14, 10 14 C 12 14, 14 17, 14 17","fill","none","stroke-width","2","stroke","currentColor",1,"draw-line-icon",3,"ngClass"],["matTooltip","Lock or unlock all items","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Take a screenshot","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","AI Assistant","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","ai-chat-button",3,"click"],[1,"ai-icon"],["matTooltip","Inject Fault","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","fault-inject-button",3,"click"],[3,"drawingSaved","controller","project","selectedDrawing"],["id","crowbar-workspace"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20"],["x1","15","y1","5","x2","5","y2","15",1,"draw-line-icon",2,"stroke-width","2",3,"ngClass"]],template:function(t,o){if(t&1){let r=z();s(0,"button",1),_("click",function(){return o.addDrawing("text")}),s(1,"mat-icon",2),d(2,"create"),l()(),s(3,"input",3,0),_("change",function(c){return o.uploadImageFile(c)}),l(),s(5,"button",4),_("click",function(){T(r);let c=Pe(4);return E(c.click())}),s(6,"mat-icon"),d(7,"image"),l()(),s(8,"button",5),_("click",function(){return o.addDrawing("rectangle")}),s(9,"mat-icon",2),d(10,"crop_3_2"),l()(),s(11,"button",6),_("click",function(){return o.addDrawing("ellipse")}),s(12,"mat-icon",2),d(13,"panorama_fish_eye"),l()(),A(14,sTe,3,3,"button",7),A(15,lTe,3,3,"button",7),s(16,"button",8),_("click",function(){return o.addDrawing("curve")}),Jn(),s(17,"svg",9)(18,"g",10),B(19,"path",11),l()()(),Ir(),s(20,"button",12),_("click",function(){return o.changeLockValue()}),s(21,"mat-icon",2),d(22),l()(),s(23,"button",13),_("click",function(){return o.takeScreenshot()}),s(24,"mat-icon",2),d(25,"photo_camera"),l()(),s(26,"button",14),_("click",function(){return o.openAIChat()}),s(27,"span",15),d(28,"AI"),l()(),s(29,"button",16),_("click",function(){return o.openFaultInjection()}),s(30,"mat-icon"),d(31,"bug_report"),l()(),s(32,"app-drawing-added",17),_("drawingSaved",function(){return o.onDrawingSaved()}),l(),B(33,"div",18)}t&2&&(u(),b("ngClass",o.getCssClassForIcon("text")),u(8),b("ngClass",o.getCssClassForIcon("rectangle")),u(3),b("ngClass",o.getCssClassForIcon("ellipse")),u(2),O(o.isLightThemeEnabled?-1:14),u(),O(o.isLightThemeEnabled?15:-1),u(4),b("ngClass",ln(16,lN,o.drawTools.isCurveChosen)),u(2),b("ngClass",Ys(18,rTe,!o.isLocked&&o.isLightThemeEnabled,o.isLocked)),u(),$(o.lock),u(2),b("ngClass",ln(21,aTe,!o.isLocked&&o.isLightThemeEnabled)),u(2),Ue("ai-active",o.isAIChatOpen&&!o.isAIMinimized)("ai-minimized",o.isAIChatOLine truncated
`).length||0;o.setAttribute("data-code-processed","true"),a>50&&(o.classList.add("code-block-collapsible"),o.setAttribute("title",`Click to view full code (${a} lines)`),o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.openCodeBlockDialog(r.innerHTML,r.className)}))})}wrapTables(e){e.querySelectorAll("markdown table").forEach(o=>{if(o.parentElement?.classList.contains("markdown-table-wrapper"))return;let r=document.createElement("div");r.className="markdown-table-wrapper",o.parentNode?.insertBefore(r,o),r.appendChild(o)})}openCodeBlockDialog(e,t){let o=t.match(/language-(\w+)/)?.[1]||void 0,r={code:e,language:o};this.dialog.open(FH,{data:r,panelClass:["base-dialog-panel","code-block-dialog-panel"]})}get lastAssistantMessage(){let e=this.messages().filter(t=>t.role==="assistant");return e[e.length-1]}isToolCallExecuting(e){return!1}formatTime(e){if(!e)return"";let t=e;/(Z|[+-]\d{2}:\d{2})$/.test(e)||(t=e+"Z");let r=new Date(t),a=new Date;if(isNaN(r.getTime()))return"";let c=a.getTime()-r.getTime(),m=Math.floor(c/6e4);return m<1?"Just now":m<60?`${m} minutes ago`:m<1440?`${Math.floor(m/60)} hours ago`:r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}scrollToBottom(){let e=this.messageContainer();if(e?.nativeElement){let t=e.nativeElement;t.scrollTop=t.scrollHeight,this.scrollToEnd.emit()}}trackByMessageId(e,t){return t.id}openToolCallDialog(e,t){let o;t!==void 0?o=t:o=e;let r={type:"tool_call",toolCall:o};this.dialog.open(GC,{data:r,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}openAssistantToolResultDialog(e){let t={type:"tool_result",toolName:e.toolName,toolOutput:e.toolOutput};this.dialog.open(GC,{data:t,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}sendSuggestion(e){this.suggestionClicked.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-chat-message-list"]],viewQuery:function(t,o){t&1&&en(o.messageContainer,OTe,5),t&2&&tn()},inputs:{messages:[1,"messages"],isStreaming:[1,"isStreaming"],autoScroll:[1,"autoScroll"]},outputs:{scrollToEnd:"scrollToEnd",suggestionClicked:"suggestionClicked"},features:[dn],decls:6,vars:3,consts:[["messageContainer",""],[1,"gns3-chat-message-list"],[1,"gns3-chat-message-list__messages-container"],[1,"gns3-chat-message-list__empty-state"],[1,"gns3-chat-message-list__message","gns3-chat-message-list__message--user"],[1,"gns3-chat-message-list__message"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--user"],[1,"avatar-text"],[1,"gns3-chat-message-list__content"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--user"],[1,"gns3-chat-message-list__text",3,"data"],[1,"gns3-chat-message-list__time"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--assistant"],["src","assets/gns3_icon.svg","alt","GNS3",1,"gns3-chat-message-list__avatar-logo"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--assistant"],["viewBox","0 0 256 256","xmlns","http://www.w3.org/2000/svg",1,"gns3-chat-message-list__streaming-logo"],[1,"gns3-chat-message-list__tool-calls-container"],[1,"gns3-chat-message-list__tool-results-container"],["id","gns3LoadingGradient","x1","0%","y1","0%","x2","100%","y2","100%"],["offset","0%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","1"],["offset","100%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","0.6"],["transform","translate(0,-356)"],["d","m 147.99093,422.62227 c 0,6.34 -5.13717,11.47729 -11.47726,11.47729 -6.33986,0 -11.47761,-5.13729 -11.47761,-11.47729 0,-6.34019 5.13775,-11.47804 11.47761,-11.47804 6.34009,0 11.47726,5.13785 11.47726,11.47804 z M 22.394349,480.3376 c -6.886487,37.71152 2.514172,64.92952 17.161614,84.38707 26.124988,36.83736 64.492517,43.28645 64.492517,43.28645 44.81704,8.52584 78.92153,-6.99569 99.36233,-26.23425 25.68784,-24.37577 24.81373,-48.53334 24.92311,-48.86119 0.21851,-11.25931 -3.49797,-19.34782 -10.05651,-24.92306 -11.0404,-9.29128 -24.4855,-5.68414 -24.4855,-5.68414 -23.2827,5.46564 -19.457,26.67165 -19.457,26.67165 1.31155,6.33984 4.59052,10.49362 8.30733,12.89839 7.10497,4.37239 14.64752,3.49799 14.64752,3.49799 11.14958,-1.31129 14.42894,-11.80519 13.77292,-17.05238 -1.09318,-8.30719 -8.63562,-9.83784 -8.63562,-9.83784 -2.84184,-0.54643 -5.02802,-0.10925 -6.66791,0.76517 -2.40425,0.98433 -3.38861,2.62342 -3.38861,2.62342 -1.74868,2.95142 -0.65568,4.59143 0.43749,5.24736 0.65611,0.43714 1.42132,0.43714 1.42132,0.43714 0.87411,0 1.42053,-0.2185 2.07653,-0.54638 1.53057,-0.8745 2.73256,-2.29597 5.02855,-1.42145 3.3886,1.31184 2.514,4.91929 2.514,4.91929 -0.76536,3.93499 -3.06079,5.79343 -5.57488,6.44908 -3.3886,0.8745 -6.88644,-0.21851 -6.88644,-0.21851 -12.02422,-4.9193 -6.66794,-16.943 -6.66794,-16.943 3.71635,-7.54269 12.02432,-8.41719 12.02432,-8.41719 13.00749,-2.07647 21.64316,6.6679 20.22168,21.42461 -1.63939,1 Line truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{if(!this.isDestroying){console.log("[WebConsole] Socket closed unexpectedly"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`);let o=this.node();o&&this.consoleService.closeConsoleForNode(o)}};let t=new jH.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>{if(o.altKey&&o.key>="1"&&o.key<="9"){let r=new CustomEvent("consoleTabShortcut",{detail:{key:o.key},bubbles:!0});return this.term.element.dispatchEvent(r),!1}return!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)}),this.setupResizeObserver(),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)}setupResizeObserver(){let e=this.terminal();e?.nativeElement&&(this.resizeObserver=new ResizeObserver(t=>{for(let o of t){let{width:r,height:a}=o.contentRect;r===0||a===0||requestAnimationFrame(()=>{try{this.fitTerminal()}catch{}})}}),this.resizeObserver.observe(e.nativeElement))}fitTerminal(){this.fitAddon.fit();let e=this.term.cols,t=this.term.rows;this.consoleService.setNumberOfColumns(e),this.consoleService.setNumberOfRows(t),this.term.resize(e,t)}focusTerminal(){this.term&&this.term.focus()}ngOnDestroy(){this.isDestroying=!0,this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console"]],viewQuery:function(t,o){t&1&&en(o.terminal,SEe,5),t&2&&tn()},inputs:{controller:[1,"controller"],project:[1,"project"],node:[1,"node"]},decls:2,vars:0,consts:[["terminal",""],[1,"terminal"]],template:function(t,o){t&1&&Ts(0,"div",1,0)},dependencies:[ne],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}.lightTheme[_nghost-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var e_="3.1.0.dev1";var pk=(()=>{class n extends lm{getItemKey(e){return e}static \u0275fac=(()=>{let e;return function(o){return(e||(e=bi(n)))(o||n)}})();static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var HH=Xs(oN());var wEe=["console"],MEe=["commandInput"],uk=n=>({lightTheme:n});function kEe(n,i){if(n&1&&(s(0,"span",9),d(1),B(2,"br"),l()),n&2){let e=i.$implicit;u(),te(" ",e.message," ")}}var t_=(()=>{class n{projectWebServiceHandler=f(Ig);nodeService=f(ht);nodesDataSource=f(ei);protocolHandlerService=f(Dp);logEventsDataSource=f(pk);httpService=f(gn);themeService=f(di);cd=f(X);nodeConsoleService=f(cr);controller;project=ae(void 0);console=jt("console");commandInput=jt("commandInput");focusInput(){let e=this.commandInput();e?.nativeElement&&e.nativeElement.focus()}version=e_;nodeSubscription;linkSubscription;drawingSubscription;controllerRequestsSubscription;errorSubscription;warningSubscription;infoSubscription;command=H("");filters=["all","errors","warnings","info","map updates","controller requests"];selectedFilter="all";filteredEvents=[];regexStart=/^start (.*?)$/;regexStop=/^stop (.*?)$/;regexSuspend=/^suspend (.*?)$/;regexReload=/^reload (.*?)$/;regexShow=/^show (.*?)$/;regexConsole=/^console (.*?)$/;style={};isDraggingEnabled=!1;isLightThemeEnabled=!1;selected=new Ke(0);constructor(){}ngOnInit(){this.nodeConsoleService.consoleResized.subscribe(e=>{this.style={width:`${e.width}px`,height:`${e.height-70}px`},this.cd.detectChanges()}),this.themeService.getActualTheme()==="light"?this.isLightThemeEnabled=!0:this.isLightThemeEnabled=!1,this.style={width:"848px",height:"477px"},this.nodeSubscription=this.projectWebServiceHandler.nodeNotificationEmitter.subscribe(e=>{let t=e.event,o="";t.label?o=`Event received: ${e.action} - ${this.printNode(t)}.`:o=`Event received: ${e.action} - ${t.name}.`,this.showMessage({type:"map update",message:o})}),this.linkSubscription=this.projectWebServiceHandler.linkNotificationEmitter.subscribe(e=>{let t=e.event,o=`Event received: ${e.action} - ${this.printLink(t)}.`;this.showMessage({type:"map update",message:o})}),this.drawingSubscription=this.projectWebServiceHandler.drawingNotificationEmitter.subscribe(e=>{let t=e.event,o=`Event received: ${e.action} - ${this.printDrawing(t)}.`;this.showMessage({type:"map update",message:o})}),this.controllerRequestsSubscription=this.httpService.requestsNotificationEmitter.subscribe(e=>{this.showMessage({type:"controller request",message:e})}),this.errorSubscription=this.projectWebServiceHandler.errorNotificationEmitter.subscribe(e=>{this.showMessage({type:"error",message:e})}),this.warningSubscription=this.projectWebServiceHandler.warningNotificationEmitter.subscribe(e=>{this.showMessage({type:"warning",message:e})}),this.infoSubscription=this.projectWebServiceHandler.infoNotificationEmitter.subscribe(e=>{this.showMessage({type:"info",message:e})})}ngAfterViewInit(){let e=this.console Line truncated
compute_id: ${e.compute_id},
console: ${e.console},
console_host: ${e.console_host},
console_type: ${e.console_type},
first_port_name: ${e.first_port_name},
height: ${e.height},
label: ${e.label.text},
name: ${e.name},
node_directory: ${e.node_directory},
node_id: ${e.node_id},
node_type: ${e.node_type},
port_name_format: ${e.port_name_format},
port_segment_size: ${e.port_segment_size}, `+this.printPorts(e.ports)+`project_id: ${e.project_id},
status: ${e.status},
symbol: ${e.symbol},
symbol_url: ${e.symbol_url},
width: ${e.width},
x: ${e.x},
y: ${e.y},
z: ${e.z}`}printPorts(e){let t="ports: ";return e.forEach(o=>{t=t+`adapter_number: ${o.adapter_number},
link_type: ${o.link_type},
name: ${o.name},
port_number: ${o.port_number},
short_name: ${o.short_name}, `}),t}printLink(e){return`capture_file_name: ${e.capture_file_name},
capture_file_path: ${e.capture_file_path},
capturing: ${e.capturing},
link_id: ${e.link_id},
link_type: ${e.link_type},
project_id: ${e.project_id},
suspend: ${e.suspend}, `}printDrawing(e){return`drawing_id: ${e.drawing_id},
project_id: ${e.project_id},
rotation: ${e.rotation},
x: ${e.x},
y: ${e.y},
z: ${e.z}`}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-log-console"]],viewQuery:function(t,o){t&1&&en(o.console,wEe,5)(o.commandInput,MEe,5),t&2&&tn(2)},inputs:{controller:"controller",project:[1,"project"],command:[1,"command"]},outputs:{command:"commandChange"},decls:27,vars:15,consts:[["filterMenu","matMenu"],["console",""],["commandInput",""],[1,"consoleHeader"],[1,"consoleFiltering"],[1,"filterButton",3,"ngClass","matMenuTriggerFor"],["xPosition","after"],["mat-menu-item","",3,"click"],[1,"console",3,"ngClass","ngStyle"],[1,"console-item"],[1,"consoleInput",3,"ngClass"],[1,"inputIcon"],["autofocus","","type","text",1,"commandLine",3,"keydown","input","ngClass","value"]],template:function(t,o){if(t&1&&(s(0,"div",3)(1,"div",4)(2,"button",5),d(3," Apply filter "),l(),s(4,"mat-menu",6,0)(6,"button",7),_("click",function(){return o.applyFilter("all")}),d(7,"all"),l(),s(8,"button",7),_("click",function(){return o.applyFilter("errors")}),d(9,"errors"),l(),s(10,"button",7),_("click",function(){return o.applyFilter("warnings")}),d(11,"warnings"),l(),s(12,"button",7),_("click",function(){return o.applyFilter("info")}),d(13,"info"),l(),s(14,"button",7),_("click",function(){return o.applyFilter("map updates")}),d(15,"map updates"),l(),s(16,"button",7),_("click",function(){return o.applyFilter("controller requests")}),d(17,"controller requests"),l()()()(),s(18,"div",8,1),Z(20,kEe,3,1,"span",9,Ae),l(),s(22,"div",10)(23,"mat-icon",11),d(24,"keyboard_arrow_right"),l(),s(25,"input",12,2),_("keydown",function(a){return o.onKeyDown(a)})("input",function(a){return o.command.set(a.target.value)}),l()()),t&2){let r=Pe(5);u(2),b("ngClass",ln(7,uk,o.isLightThemeEnabled))("matMenuTriggerFor",r),u(16),b("ngClass",ln(9,uk,o.isLightThemeEnabled))("ngStyle",o.style),u(2),J(o.filteredEvents),u(2),b("ngClass",ln(11,uk,o.isLightThemeEnabled)),u(3),b("ngClass",ln(13,uk,o.isLightThemeEnabled))("value",o.command())}},dependencies:[ne,eo,tm,re,ce,U,qe,ti,et,An],styles:[".consoleWrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px}.filterButton[_ngcontent-%COMP%]{background:transparent;color:var(--mat-sys-on-surface-variant);border:none;margin-top:0;outline:none;font-weight:700;padding:0}.consoleFiltering[_ngcontent-%COMP%]{display:flex}.consoleHeader[_ngcontent-%COMP%]{width:100%;height:32px;font-size:12px;overflow:hidden;display:flex;padding:4px 8px;justify-content:space-between;background:var(--mat-sys-surface);flex-shrink:0}.console[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:8px;color:var(--mat-sys-on-surface);font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;scrollbar-color:var(--mat-sys-on-surface-variant) var(--mat-sys-surface);scrollbar-width:thin;background:var(--mat-sys-surface)}.consoleInput[_ngcontent-%COMP%]{width:100%;height:32px;padding:4px 8px;display:flex;background:var(--mat-sys-surface);flex-shrink:0}.commandLine[_ngcontent-%COMP%]{background-color:transparent;color:var(--mat-sys-on-surface);border:none;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px}.inputIcon[_ngcontent-%COMP%]{margin-top:2px}mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}input[_ngcontent-%COMP%]:focus{outline:none}.closeButton[_ngcontent-%COMP%]{cursor:pointer}"],changeDetection:0})}return n})();var TEe=["consoleWrapper"],EEe=(n,i,e,t)=>({lightTheme:n,"console-active":i,"is-minimized":e,"is-dragging":t}),DEe=n=>({lightThemeConsoleHeader:n}),PEe=()=>({top:!0}),IEe=()=>({right:!0}),AEe=()=>({bottom:!0}),OEe=()=>({left:!0}),NEe=()=>({top:!0,left:!0}),REe=()=>({top:!0,right:!0}),FEe=()=>({bottom:!0,left:!0}),LEe=()=>({bottom:!0,right:!0});function BEe(n,i){n&1&&B(0,"div",15)(1,"div",16)(2,"div",17)(3,"div",18)(4,"div",19)(5,"div",20)(6,"div",21)(7,"div",22),n&2&&(b("resizeEdges",Kt(8,PEe)),u(),b("resizeEdges",Kt(9,IEe)),u(),b("resizeEdges",Kt(10,AEe)),u(),b("resizeEdges",Kt(11,OEe)),u(),b("resizeEdges",Kt(12,NEe)),u(),b("resizeEdges",Kt(13,REe)),u(),b("resizeEdges",Kt(14,FEe)),u(),b("resizeEdges",Kt(15,LEe)))}function VEe(n,i){if(n&1){let e=z();s(0,"span",23),d(1),l(),s(2,"button",12),_("mousedown",function(o){return o.stopPropagation()})("click",function(){T(e);let o=C().$index,r=C();return E(r.removeTab(o))}),s(3,"mat-icon"),d(4,"close"),l()()}if(n&2){let e=C().$implicit;u(),$(e.name)}}function zEe(n,i){if(n&1&&(s(0,"mat-tab",7),Se(1,VEe,5,1,"ng-template",8),l()),n&2){let e=C();b("label",e.tab)}}function jEe(n,i){n&1&&(s(0,"span",23),d(1,"GNS3 console"),l())}function $Ee(n,i){if(n&1){let e=z();s(0,"button",24),_("mousedown",function(o){return o.stopPropagation()})("click",function(){T(e);let o=C();return E(o.toggleMaximize())}),s(1,"mat-icon"),d(2,"fullscreen"),l()()}}function HEe(n,i){if(n&1){let e=z();s(0,"button",25),_("mousedown",function(o){return o.stopPropagation()})("click",function(){T(e);le Line truncated
`))},dependencies:[ve,hc,Fe,Re,Rt,U,pe,ba,ns],encapsulation:2,changeDetection:0})}return n})();var Ck=(()=>{class n{nodeService=f(ht);nodeConsoleService=f(cr);nodesDataSource=f(ei);toasterService=f(ee);controllerService=f(Je);settingsService=f(Ur);mapSettingsService=f(bo);dialog=f(nt);cdr=f(X);project=ae(void 0);controller=ae(void 0);async startConsoleForAllNodes(){this.mapSettingsService.openConsolesInWidget?this.nodeConsoleService.openConsolesForAllNodesInWidget(this.nodesDataSource.getItems()):this.nodeConsoleService.openConsolesForAllNodesInNewTabs(this.nodesDataSource.getItems())}startNodes(){this.nodeService.startAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully started"),error:e=>{let t=e.error?.message||e.message||"Failed to start nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}stopNodes(){this.nodeService.stopAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully stopped"),error:e=>{let t=e.error?.message||e.message||"Failed to stop nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}suspendNodes(){this.nodeService.suspendAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully suspended"),error:e=>{let t=e.error?.message||e.message||"Failed to suspend nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}reloadNodes(){this.nodeService.reloadAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully reloaded"),error:e=>{let t=e.error?.message||e.message||"Failed to reload nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}resetNodes(){this.nodeService.resetAllNodes(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("Successfully reset all console connections"),error:e=>{let t=e.error?.message||e.message||"Failed to reset nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}confirmControlsActions(e){this.dialog.open(vk,{panelClass:["base-confirmation-dialog-panel","confirmation-warning-panel"],autoFocus:!1,disableClose:!0,data:e}).afterClosed().subscribe(o=>{!o||!o.isAction||(o.actionType=="start"?this.startNodes():o.actionType=="stop"?this.stopNodes():o.actionType=="reload"?this.reloadNodes():o.actionType=="suspend"?this.suspendNodes():o.actionType=="reset"&&this.resetNodes())})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-nodes-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},decls:19,vars:0,consts:[[1,"menu-button-group"],["matTooltip","Console connect to all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Start/Resume all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Suspend all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Stop all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reload all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reset all console connections","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"button",1),_("click",function(){return o.startConsoleForAllNodes()}),s(2,"mat-icon"),d(3,"web_asset"),l()(),s(4,"button",2),_("click",function(){return o.confirmControlsActions("start")}),s(5,"mat-icon"),d(6,"play_arrow"),l()(),s(7,"button",3),_("click",function(){return o.confirmControlsActions("suspend")}),s(8,"mat-icon"),d(9,"pause"),l()(),s(10,"button",4),_("click",function(){return o.confirmControlsActions("stop")}),s(11,"mat-icon"),d(12,"stop"),l()(),s(13,"button",5),_("click",function(){return o.confirmControlsActions("reload")}),s(14,"mat-icon"),d(15,"replay"),l()(),s(16,"button",6),_("click",function(){return o.confirmControlsActions("reset")}),s(17,"mat-icon"),d(18,"compare_arrows"),l()()())},dependencies:[ne,ve,U,ze,re,ce,Et,Vt],styles:[".marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.menu-button[_ngcontent-%COMP%]{margin:0 4px;transition:transform .1s ease}.menu-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-primary)}.menu-button[_ngcontent-%COMP%]:hover{transform:scale(1.2)}"],changeDetection:0})}return n})();var WH=(()=>{class n{transform(e,t){return e?t?(t=t.toLowerCase(),e.filter(o=>o.name.toLowerCase().includes(t))):e:[]}static \u0275fac=function(t){return new(t||n)};static \u0275pipe=mr({name:"templatefilter",type:n,pure:!0})}return n})();var bDe=(n,i)=>i.name,xDe=(n,i)=>i.value;function yDe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),te(" ",e," ")}}function SDe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;b("value",e),u(),te(" ",e.name," Line truncated
height="${r.height}" width="${r.width}">
<image height="${r.height}" width="${r.width}"
xlink:href="${a}"/>
</svg>`;this.drawingService.add(this.controller,this.project.project_id,-(r.width/2),-(r.height/2),c).subscribe({next:()=>{},error:m=>{let p=m.error?.message||m.message||"Failed to add image";this.toasterService.error(p),this.cd.markForCheck()}})},r.onload=()=>{o.readAsDataURL(t)},r.src=window.URL.createObjectURL(t)}closeProject(){let t=this.bottomSheet.open(Za,{data:{message:"Do you want to close the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.close(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to close project";this.toasterService.error(a),this.cd.markForCheck()}})})}deleteProject(){let t=this.bottomSheet.open(Za,{data:{message:"Do you want to delete the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.delete(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to delete project";this.toasterService.error(a),this.cd.markForCheck()}})})}addNewTemplate(){let t=this.dialog.open(Qg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}showReadme(){let t=this.dialog.open(JM,{width:"600px",height:"650px",autoFocus:!1,disableClose:!0}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.onLeaveProject(),this.nodeConsoleService.openConsoles=0,this.title.setTitle("GNS3 Web UI"),this.drawingsDataSource.clear(),this.nodesDataSource.clear(),this.linksDataSource.clear(),this.projectws&&this.projectws.OPEN&&this.projectws.close(),this.ws&&this.ws.OPEN&&this.ws.close(),this.projectMapSubscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map"]],viewQuery:function(t,o){t&1&&en(o.contextMenu,Gg,5)(o.mapChild,u2,5)(o.projectMapMenuComponent,Kg,5)(o.topologySummaryContainer,ZDe,5,Ji)(o.templateComponent,i_,5),t&2&&tn(5)},decls:169,vars:77,consts:[["projectMap",""],["mainMenu","matMenu"],["projectMenu","matMenu"],["viewMenu","matMenu"],["topologySummaryContainer",""],[1,"project-map",3,"ngClass"],["id","project-titlebar"],["matTooltip","Open menu","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],[1,"project-titlebar-controls"],[1,"menu-button-group","primary-controls"],[1,"menu-button-group"],[3,"controller","project"],[3,"openWebWiresharkInline","openWebConsoleInline","project","controller"],["matTooltip","Toggle topology/controllers summary","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",3,"click"],[3,"overlapTrigger"],["mat-menu-item","",3,"routerLink"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"matMenuTriggerFor"],[1,"options-item"],[3,"change","checked"],[3,"controller","project","symbols","nodes","links","drawings","width","height","show-interface-labels","readonly"],["id","project-toolbar"],[1,"section"],["matTooltip","Selection mode","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"selection-button","menu-button",3,"click","color"],["matTooltip","Pan workspace","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"pan-button","menu-button",3,"click","color"],["matTooltip","Zoom in","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"],["matTooltip","Reset zoom","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"reset-zoom-button",3,"click"],["matTooltip","Zoom out","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"],[3,"aiChatOpened","controller","project"],[3,"links"],[3,"controller"],[3,"drawingSaved","controller","project"],[3,"ngClass"],[3,"controller","project","zIndex"],[3,"project","controller","zIndex"],[1,"inline-taskbar"],[1,"inline-taskbar__icon",3,"inline-taskbar__icon--minimized","left","title"],[3,"nodeCreationChange","controller","project"],["matTooltip","Add a link","matTooltipClass","custom-tooltip","matTooltipPosition","below","mat-icon-button","",1,"menu-button",3,"click","ngClass","color"],[3,"closeConsole","windowFocused","controller","project","zIndex"],[3,"closed","windowFocused","project","controller","zIndex"],[3,"link","controller","project","zIndex"],[3,"closeWindow","windowFocused","link","controller","project","zIndex"],[3,"node","controller","project","zIndex"],[3,"closeWindow","windowFocused","node","controller","project","zIndex"],[1,"inline-taskbar__icon",3,"clLine truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{console.log("[WebConsoleFullWindow] Socket closed"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`)};let t=new pU.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)},0)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term&&this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console-full-window"]],viewQuery:function(t,o){t&1&&en(o.terminal,e3e,5),t&2&&tn()},decls:2,vars:0,consts:[["terminal",""],[1,"terminal",2,"width","100%","height","100%"]],template:function(t,o){t&1&&Ts(0,"div",1,0)},dependencies:[ne],styles:["[_nghost-%COMP%]{display:block;width:100vw;height:100vh;overflow:hidden}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var zk=(()=>{class n{consoleService;bottomSheet;constructor(e,t){this.consoleService=e,this.bottomSheet=t}canDeactivate(){return this.consoleService.openConsoles>0?this.bottomSheet.open(Za,{data:{message:"Exiting the project will close open consoles, do you want to continue?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed():!0}static \u0275fac=function(t){return new(t||n)(ge(cr),ge(ec))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var li=(()=>{class n{controllerService;loginService;router;constructor(e,t,o){this.controllerService=e,this.loginService=t,this.router=o}async canActivate(e,t){let o=e.paramMap.get("controller_id");this.loginService.controller_id=o;let r=await this.controllerService.get(parseInt(o,10));try{await this.loginService.getLoggedUser(r)}catch{}return this.controllerService.get(parseInt(o,10)).then(a=>{if(a.authToken&&!a.tokenExpired)return!0;this.router.navigate(["/controller",a.id,"login"],{queryParams:{returnUrl:t.url}})})}static \u0275fac=function(t){return new(t||n)(ge(Je),ge(Cl),ge(mt))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var t3e=["*",[["mat-toolbar-row"]]],n3e=["*","mat-toolbar-row"],i3e=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]})}return n})(),hU=(()=>{class n{_elementRef=f(Qt);_platform=f(Zs);_document=f(co);color;_toolbarRows;constructor(){}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){this._toolbarRows.length}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-toolbar"]],contentQueries:function(t,o,r){if(t&1&&Vi(r,i3e,5),t&2){let a;pt(a=ut())&&(o._toolbarRows=a)}},hostAttrs:[1,"mat-toolbar"],hostVars:6,hostBindings:function(t,o){t&2&&(or(o.color?"mat-"+o.color:""),Ue("mat-toolbar-multiple-rows",o._toolbarRows.length>0)("mat-toolbar-single-row",o._toolbarRows.length===0))},inputs:{color:"color"},exportAs:["matToolbar"],ngContentSelectors:n3e,decls:2,vars:0,template:function(t,o){t&1&&(ii(t3e),nn(0),nn(1,1))},styles:[`.mat-toolbar{background:var(--mat-toolbar-container-background-color, var(--mat-sys-surface));color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font, var(--mat-sys-title-large-font));font-size:var(--mat-toolbar-title-text-size, var(--mat-sys-title-large-size));line-height:var(--mat-toolbar-title-text-line-height, var(--mat-sys-title-large-line-height));font-weight:var(--mat-toolbar-title-text-weight, var(--mat-sys-title-large-weight));letter-spacing:var(--mat-toolbar-title-text-tracking, var(--mat-sys-title-large-tracking));margin:0}@media(forced-colors: active){.mat-toolbar{outline:solid 1px}}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mat-button-text-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface));--mat-button-outlined-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-hLine truncated
`],encapsulation:2,changeDetection:0})}return n})();var $k=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[ui]})}return n})();var r3e=n=>["controller",n,"systemstatus"],a3e=n=>["controller",n,"settings"],s3e=n=>["controller",n,"management","users"],l3e=n=>["controller",n,"help"],c3e=n=>["/controller",n,"loggeduser"],d3e=()=>["/controllers"],m3e=n=>["/controller",n,"projects"],p3e=n=>["controller",n,"preferences"],u3e=n=>["controller",n,"computes"],h3e=n=>["controller",n,"image-manager"];function f3e(n,i){if(n&1){let e=z();s(0,"button",14),_("click",function(){T(e);let o=C();return E(o.listProjects())}),d(1,"Projects"),l()}}function g3e(n,i){if(n&1){let e=z();s(0,"button",15),_("click",function(){T(e);let o=C();return E(o.backToProject())}),d(1,"Back to project"),l()}}var Hk=(()=>{class n{isInstalledSoftwareAvailable=!1;isLoginPage=!1;routeSubscription;controllerStatusSubscription;shouldStopControllersOnClosing=!0;recentlyOpenedcontrollerId;recentlyOpenedProjectId;controllerIdProjectList;controllerId;controller;project;projectMapSubscription=new go;recentlyOpenedProjectService=f(sm);controllerManagement=f(a_);toasterService=f(ee);progressService=f(so);dialog=f(nt);router=f(mt);route=f(it);controllerService=f(Je);projectService=f(wi);cd=f(X);connectionManager=f(Gm);ngOnInit(){this.routeSubscription=this.router.events.pipe(Yn(e=>e instanceof Mr)).subscribe(()=>{this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.checkIfUserIsLoginPage(),this.cd.markForCheck()}),this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.recentlyOpenedcontrollerId=this.recentlyOpenedProjectService.getcontrollerId(),this.recentlyOpenedProjectId=this.recentlyOpenedProjectService.getProjectId(),this.controllerIdProjectList=this.recentlyOpenedProjectService.getcontrollerIdProjectList(),this.isInstalledSoftwareAvailable=!1,this.controllerStatusSubscription=this.controllerManagement.controllerStatusChanged.subscribe(e=>{e.status==="errored"&&(console.error(e.message),this.toasterService.error(e.message)),e.status==="stderr"&&(console.error(e.message),this.toasterService.error(e.message))}),this.shouldStopControllersOnClosing=!1}getParamFromRoute(e,t){let o=e;for(;o.firstChild;){o=o.firstChild;let r=o.snapshot.paramMap.get(t);if(r)return r}return o.snapshot.paramMap.get(t)}goToDocumentation(){this.controllerService.get(+this.controllerId).then(e=>{window.open(`${e.protocol}//${e.host}:${e.port}/docs`)})}checkIfUserIsLoginPage(){this.router.url.includes("login")?this.isLoginPage=!0:this.isLoginPage=!1}logout(){this.controllerService.get(+this.controllerId).then(e=>{e.authToken=null,this.controllerService.update(e).then(t=>{this.connectionManager.disconnect(),this.router.navigate(["/controller",e.id,"login"])})})}listProjects(){this.router.navigate(["/controller",this.controllerIdProjectList,"projects"]).catch(e=>this.toasterService.error("Cannot list projects"))}backToProject(){this.router.navigate(["/controller",this.recentlyOpenedcontrollerId,"project",this.recentlyOpenedProjectId]).catch(e=>this.toasterService.error("Cannot navigate to the last opened project"))}async onBeforeUnload(e){if(this.shouldStopControllersOnClosing)return e.preventDefault(),e.returnValue=!1,this.progressService.activate(),await this.controllerManagement.stopAll(),this.shouldStopControllersOnClosing=!1,this.progressService.deactivate(),window.close(),!1}getData(){this.controllerService.get(+this.controllerId).then(e=>{this.controller=e})}addNewTemplate(){if(!this.controller){this.toasterService.error("Please select a controller first");return}let t=this.dialog.open(Qg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.controllerStatusSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-default-layout"]],hostBindings:function(t,o){t&1&&_("beforeunload",function(a){return o.onBeforeUnload(a)},dr)},decls:82,vars:45,consts:[["menu","matMenu"],["mainMenu","matMenu"],[1,"header"],[1,"toolbar-primary"],["mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],["mat-button",""],["mat-button","",1,"back-to-project-button"],[1,"spacer"],["mat-icon-button","",3,"matMenuTriggerFor"],["mat-menu-item","",3,"disabled","routerLink"],["mat-menu-item","",3,"click","disabled"],["mat-menu-item","",3,"routerLink"],[1,"main-content"],["mat-button","",3,"click"],["mat-button","",1,"back-to-project-button",3,"click"]],template:function(t,o){if(t&1&&(s(0,"header",2)(1,"mat-toolbar",3)(2,"button",4),B(3,"mat-icon",5),l(),A(4,f3e,2,0,"button",6),A(5,g3e,2,0,"button",7),B(6,"span",8),s(7,"button",9)(8,"mat-icon"),d(9,"more_ve Line truncated
`),l(),s(4,"mat-dialog-content",1)(5,"div",2)(6,"h3"),d(7,"Basic Configuration"),l(),s(8,"div",3)(9,"h4"),d(10,"Configuration Name"),l(),s(11,"p"),d(12,"A unique identifier for this LLM model configuration."),l(),s(13,"ul")(14,"li")(15,"strong"),d(16,"Format:"),l(),d(17," 1-100 characters"),l(),s(18,"li")(19,"strong"),d(20,"Allowed characters:"),l(),d(21," Letters, numbers, underscores, and hyphens"),l(),s(22,"li")(23,"strong"),d(24,"Example:"),l(),s(25,"code"),d(26,"gpt-4o-config"),l(),d(27,", "),s(28,"code"),d(29,"claude-3-5-sonnet"),l()()()(),s(30,"div",3)(31,"h4"),d(32,"Model Type"),l(),s(33,"p"),d(34,"The category of AI model you are configuring. This field is reserved for future use."),l(),s(35,"mat-card",4)(36,"mat-card-content")(37,"p",5)(38,"mat-icon",6),d(39,"info"),l(),d(40," Currently, only "),s(41,"strong"),d(42,"text"),l(),d(43," model type is supported. Other options (vision, stt, tts, multimodal, embedding, reranking, other) are reserved for future enhancements. "),l()()()(),s(44,"div",3)(45,"h4"),d(46,"Select LLM Provider"),l(),s(47,"p"),d(48,"Choose a preset provider to auto-configure the connection settings."),l(),s(49,"ul")(50,"li")(51,"strong"),d(52,"OpenRouter:"),l(),d(53," Access to multiple models through openrouter.ai"),l(),s(54,"li")(55,"strong"),d(56,"DeepSeek:"),l(),d(57," DeepSeek's official API endpoint"),l(),s(58,"li")(59,"strong"),d(60,"Custom:"),l(),d(61," Manually configure all settings"),l()(),s(62,"p",7),d(63,"Presets automatically fill in the Base URL and default model list."),l()(),s(64,"div",3)(65,"h4"),d(66,"Model Name"),l(),s(67,"p"),d(68,"The specific model to use from the selected provider."),l(),s(69,"ul")(70,"li")(71,"strong"),d(72,"From preset:"),l(),d(73," Select from a dropdown list of available models"),l(),s(74,"li")(75,"strong"),d(76,"Custom:"),l(),d(77," Enter any model name manually"),l()(),s(78,"p")(79,"strong"),d(80,"Examples:"),l(),s(81,"code"),d(82,"gpt-4o"),l(),d(83,", "),s(84,"code"),d(85,"claude-3-5-sonnet-20241022"),l(),d(86,", "),s(87,"code"),d(88,"deepseek-chat"),l()()()(),s(89,"div",2)(90,"h3"),d(91,"API Configuration"),l(),s(92,"div",3)(93,"h4"),d(94,"Model Provider"),l(),s(95,"p"),d(96,"The provider type for API communication."),l(),s(97,"p"),d(98,' Select the provider that matches your API endpoint. For OpenAI-compatible APIs, choose "OpenAI" and customize the Base URL. '),l()(),s(99,"div",3)(100,"h4"),d(101,"Base URL"),l(),s(102,"p"),d(103,"The API endpoint URL for the provider."),l(),s(104,"ul")(105,"li")(106,"strong"),d(107,"Default:"),l(),d(108," Leave empty to use the provider's default endpoint"),l(),s(109,"li")(110,"strong"),d(111,"Custom:"),l(),d(112," Enter a full URL (e.g., "),s(113,"code"),d(114,"https://api.openai.com/v1"),l(),d(115,")"),l()(),s(116,"p",7),d(117,"This field is auto-filled when using presets."),l()(),s(118,"div",3)(119,"h4"),d(120,"API Key"),l(),s(121,"p"),d(122,"Your authentication key for accessing the API."),l(),s(123,"ul")(124,"li")(125,"strong"),d(126,"Create mode:"),l(),d(127," Required field, minimum 10 characters"),l(),s(128,"li")(129,"strong"),d(130,"Edit mode:"),l(),d(131," Leave empty to keep existing key"),l()(),s(132,"mat-card",8)(133,"mat-card-content")(134,"p",5)(135,"mat-icon",6),d(136,"lock"),l(),d(137," API keys are encrypted on the server for security. "),l()()()()(),s(138,"div",2)(139,"h3"),d(140,"Model Parameters"),l(),s(141,"div",3)(142,"h4"),d(143,"Temperature"),l(),s(144,"p"),d(145,"Controls the randomness of the model's responses."),l(),s(146,"ul")(147,"li")(148,"strong"),d(149,"Range:"),l(),d(150," 0.0 to 2.0"),l(),s(151,"li")(152,"strong"),d(153,"Lower values (0.0-0.3):"),l(),d(154," More focused, deterministic output"),l(),s(155,"li")(156,"strong"),d(157,"Higher values (0.7-2.0):"),l(),d(158," More creative, diverse output"),l(),s(159,"li")(160,"strong"),d(161,"Recommended:"),l(),d(162," 0.3 for technical tasks, 0.7 for creative tasks"),l()()(),s(163,"div",3)(164,"h4"),d(165,"Context Limit"),l(),s(166,"p"),d(167,"The maximum context window size in thousands (K) of tokens."),l(),s(168,"ul")(169,"li")(170,"strong"),d(171,"Range:"),l(),d(172," 1 to 10000"),l(),s(173,"li")(174,"strong"),d(175,"Unit:"),l(),d(176," K tokens (e.g., 128 = 128K tokens)"),l(),s(177,"li")(178,"strong"),d(179,"Meaning:"),l(),d(180," Maximum amount of text the model can consider"),l()(),s(181,"p",7),d(182,"Different models have different context limits. Check your model's documentation."),l()(),s(183,"div",3)(184,"h4"),d(185,"Context Strategy"),l(),s(186,"p"),d(187,"Determines how aggressively the system uses the available context limit."),l(),s(188,"table",9)(189,"thead")(190,"tr")(191,"th"),d(192,"Strategy"),l(),s(193,"th"),d(194,"Usage"),l()()(),s(195,"tbody")(196,"tr")(197,"td")(198,"strong"),d(199,"Conservative"),l()(),s(200,"td"),d(201,"60% of context limit (safer, more reserved)"),l()(),s(202,"tr")(203,"td")(204,"strong"),d(205,"Balanced"),l()(),s(206,"td"),d(207,"75% of context limit (recommended)"),l()(),s Line truncated
`),u(2),b("formGroup",o.form),u(2),mh("value",o.configMode),u(14),O(o.configMode==="basic"?19:-1),u(),O(o.configMode==="custom"?20:-1),u(4),b("disabled",o.form.invalid),u(),te(" ",o.mode==="create"?"Create":"Save"," "))},dependencies:[ne,At,st,Lt,xr,Ot,at,pc,bh,Nt,Bt,k5,T5,ve,Fe,Re,Rt,R1,nR,iR,re,ce,we,ke,ot,I1,hi,ye,Ee,bt,Dt,vt,Xo,It,qt,U,pe,ze,Et,Vt,St],styles:['.config-form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:600;color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;vertical-align:middle;width:18px;height:18px;margin-left:4px}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;color:var(--mat-sys-on-surface-variant)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:12px;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .half-width[_ngcontent-%COMP%]{flex:1;min-width:0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%]{margin:16px 0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block}.config-form[_ngcontent-%COMP%] .option-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .existing-key-hint[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-size:12px}.config-form[_ngcontent-%COMP%] .warning-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%]{margin-top:16px;padding-top:16px;border-top:1px solid var(--mat-sys-outline-variant)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:40px;height:40px;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transform:scale(.75)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:before{opacity:1;background-color:var(--mat-sys-primary-container)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary);transform:scale(1.1)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%]{margin-bottom:16px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%] .reserved-field-hint[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--mat-sys-on-surface-variant);font-style:italic}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-key[_ngcontent-%COMP%], .config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{f Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),ZU=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[NRe,ui]})}return n})();var RRe=(n,i,e,t)=>({"status-uploading":n,"status-done":i,"status-error":e,"status-canceled":t});function FRe(n,i){return this.trackByTempId}function LRe(n,i){if(n&1&&(Be(0),d(1),Ve()),n&2){let e=C(2);u(),Si(" Uploading ",e.activeCount," file",e.activeCount!==1?"s":""," ")}}function BRe(n,i){n&1&&(Be(0),d(1," Uploads complete "),Ve())}function VRe(n,i){if(n&1&&B(0,"mat-progress-bar",6),n&2){let e=C(2);b("value",e.overallProgress)}}function zRe(n,i){n&1&&(Be(0),d(1,"check_circle"),Ve())}function jRe(n,i){n&1&&(Be(0),d(1,"error"),Ve())}function $Re(n,i){n&1&&(Be(0),d(1,"cancel"),Ve())}function HRe(n,i){n&1&&(Be(0),d(1,"insert_drive_file"),Ve())}function URe(n,i){n&1&&(s(0,"span",15),d(1,"Queued"),l())}function GRe(n,i){if(n&1&&(s(0,"span",15),d(1),l()),n&2){let e=C().$implicit;u(),te("",e.progress,"%")}}function WRe(n,i){n&1&&(s(0,"span",16),d(1,"Done"),l())}function qRe(n,i){if(n&1&&(s(0,"span",17),d(1),l()),n&2){let e=C().$implicit;u(),$(e.errorMessage||"Failed")}}function QRe(n,i){n&1&&(s(0,"span",18),d(1,"Canceled"),l())}function XRe(n,i){if(n&1){let e=z();s(0,"button",21),_("click",function(){T(e);let o=C().$implicit,r=C(3);return E(r.cancelUpload(o.tempId))}),s(1,"mat-icon"),d(2,"close"),l()()}}function YRe(n,i){if(n&1&&B(0,"mat-progress-bar",20),n&2){let e=C().$implicit;b("value",e.progress)}}function KRe(n,i){if(n&1){let e=z();s(0,"div",10)(1,"div",11)(2,"mat-icon",12),A(3,zRe,2,0,"ng-container"),A(4,jRe,2,0,"ng-container"),A(5,$Re,2,0,"ng-container"),A(6,HRe,2,0,"ng-container"),l(),s(7,"div",13),_("click",function(o){let r=T(e).$implicit,a=C(3);return E(a.navigateToFile(r,o))}),s(8,"span",14),d(9),l(),A(10,URe,2,0,"span",15),A(11,GRe,2,1,"span",15),A(12,WRe,2,0,"span",16),A(13,qRe,2,1,"span",17),A(14,QRe,2,0,"span",18),l(),A(15,XRe,3,0,"button",19),l(),A(16,YRe,1,1,"mat-progress-bar",20),l()}if(n&2){let e=i.$implicit;Ue("dismissing",e.dismissing),u(2),b("ngClass",d1(16,RRe,e.status==="uploading"||e.status==="queued",e.status==="uploaded",e.status==="error",e.status==="canceled")),u(),O(e.status==="uploaded"?3:-1),u(),O(e.status==="error"?4:-1),u(),O(e.status==="canceled"?5:-1),u(),O(e.status==="uploading"||e.status==="queued"?6:-1),u(2),b("title",e.filename),u(),$(e.filename),u(),O(e.status==="queued"?10:-1),u(),O(e.status==="uploading"?11:-1),u(),O(e.status==="uploaded"?12:-1),u(),O(e.status==="error"?13:-1),u(),O(e.status==="canceled"?14:-1),u(),O(e.status==="uploading"||e.status==="queued"?15:-1),u(),O(e.status==="uploading"||e.status==="queued"?16:-1)}}function ZRe(n,i){if(n&1&&(s(0,"div",8),Z(1,KRe,17,21,"div",9,FRe,!0),l()),n&2){let e=C(2);u(),J(e.uploadList)}}function JRe(n,i){if(n&1){let e=z();s(0,"div",0)(1,"div",1),_("click",function(){T(e);let o=C();return E(o.toggleExpanded())}),s(2,"div",2)(3,"mat-icon",3),d(4,"cloud_upload"),l(),s(5,"span",4),A(6,LRe,2,2,"ng-container"),A(7,BRe,2,0,"ng-container"),l()(),s(8,"div",5),A(9,VRe,1,1,"mat-progress-bar",6),s(10,"mat-icon",7),d(11),l()()(),A(12,ZRe,3,0,"div",8),l()}if(n&2){let e=C();u(6),O(e.activeCount>0?6:-1),u(),O(e.activeCount===0?7:-1),u(2),O(e.activeCount>0?9:-1),u(2),$(e.isExpanded()?"expand_more":"expand_less"),u(),O(e.isExpanded()?12:-1)}}var OT=(()=>{class n{imageUploadSessionService=f(d_);router=f(mt);uploads=new Map;isExpanded=se(!0);subscription;ngOnInit(){this.subscription=this.imageUploadSessionService.events$.subscribe(e=>{this.onUploadEvent(e)})}get uploadList(){return Array.from(this.uploads.values())}get hasUploads(){return this.uploads.size>0}get activeCount(){return this.uploadList.filter(e=>e.status==="uploading"||e.status==="queued").length}get overallProgress(){let e=this.uploadList.filter(t=>t.status==="uploading"||t.status==="queued");return e.length?Math.round(e.reduce((t,o)=>t+(o.progress||0),0)/e.length):100}cancelUpload(e){this.imageUploadSessionService.requestCancel(e)}navigateToFile(e,t){t.stopPropagation(),e.controller_id&&this.router.navigate(["/controller",e.controller_id,"image-manager"],{queryParams:{highlight:e.filename}})}toggleExpanded(){this.isExpanded.set(!this.isExpanded())}trackByTempId(e,t){return t.tempId}onUploadEvent(e){let t=this.uploads.get(e.tempId);t?.dismissTimer&&clearTimeout(t.dismissTimer);let o=W(W({},t||{}),e);e.status==="uploaded"||e.status==="error"||e.status==="canceled"?(o.dismissing=!1,o.dismissTimer=setTimeout(()=>{let r=this.uploads.get(e.tempId);r&&(r.dismissing=!0),setTimeout(()=>{this.uploads.delete(e.tempId)},400)},3e3)):o.dismissing=!1,this.uploads.set(e.tempId,o),!t&&e.status==="queued"&&this.isExpanded.set(!0)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.uploadList.forEach(e=>{e.dismissTimer&&clearTimeout(e.dismissTimer)})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-global-upload-indicator"]],decls:1,vars:1 Line truncated
-415
View File
@@ -1,415 +0,0 @@
import{$ as ql,$a as M5,$b as no,$c as os,$d as Dr,$e as al,A as lo,Aa as Lt,Ab as Xe,Ac as io,Ad as Oi,Ae as _R,Af as Ri,B as ua,Ba as Ql,Bb as Xi,Bc as B5,Bd as rR,Be as Cm,Bf as yi,C as Ma,Ca as wh,Cb as j,Cc as V5,Cd as Ah,Ce as $C,Cf as DR,D as _C,Da as vE,Db as No,Dc as $_,Dd as ol,De as vR,Df as PR,E as Dn,Ea as y5,Eb as v,Ec as z5,Ed as NC,Ee as ME,Ef as Bo,F as Pn,Fa as xd,Fb as MC,Fc as yc,Fd as rs,Fe as HC,Ff as Vo,G as vC,Ga as Zp,Gb as b,Gc as j5,Gd as Fs,Ge as bR,Gf as IR,H as hi,Ha as $a,Hb as En,Hc as Zi,Hd as cr,He as UC,Hf as AR,I as _E,Ia as yC,Ib as Yt,Ic as $5,Id as Oh,Ie as kE,If as OR,J as dm,Ja as S5,Jb as $i,Jc as H5,Jd as RC,Je as Jl,Jf as mo,K as h5,Ka as br,Kb as gn,Kc as pm,Kd as fm,Ke as GC,Kf as ea,L as wi,La as Mh,Lb as gt,Lc as H_,Ld as gm,Le as Qi,Lf as xm,M as f5,Ma as u,Mb as _t,Mc as Jr,Md as aR,Me as CR,Mf as Fi,N as g5,Na as bE,Nb as tn,Nc as U5,Nd as FC,Ne as as,Nf as ym,O as V_,Oa as ar,Ob as nn,Oc as DC,Od as _m,Oe as WC,Of as dr,P as bC,Pa as So,Pb as Re,Pc as Z,Pd as vm,Pe as yr,Pf as ci,Q as Cd,Qa as yd,Qb as yn,Qc as Rs,Qd as rl,Qe as ss,Qf as NR,R as z_,Ra as ii,Rb as je,Rc as yE,Rd as sR,Re as Kt,S as CC,Sa as st,Sb as Mo,Sc as G5,Sd as Zl,Se as Gt,T as As,Ta as SC,Tb as d,Tc as W5,Td as vt,Te as Ai,U as Kp,Ua as co,Ub as U,Uc as PC,Ud as LC,Ue as xR,V as li,Va as w5,Vb as X,Vc as Ph,Vd as be,Ve as an,W as fn,Wa as wC,Wb as Hi,Wc as q5,Wd as lR,We as Lh,X as rt,Xa as L,Xb as kC,Xc as X5,Xd as BC,Xe as ha,Y as vi,Ya as Bt,Yb as Th,Yc as SE,Yd as mt,Ye as lt,Z as vn,Za as ft,Zb as Eh,Zc as Q5,Zd as He,Ze as Ni,_ as _5,_a as Cr,_b as Dh,_c as Y5,_d as VC,_e as qC,a as H,aa as Q,ab as xn,ac as j_,ad as K5,ae as Ci,af as Fo,b as tt,ba as Ft,bb as Ae,bc as hn,bd as um,be as Nh,bf as XC,c as d5,ca as v5,cb as kh,cc as Jt,cd as Z5,ce as re,cf as Bh,d as Is,da as kt,db as k5,dc as ln,dd as lr,de as cR,df as ke,e as On,ea as ge,eb as T5,ec as il,ed as IC,ee as Ue,ef as Me,f as nl,fa as f,fb as E5,fc as TC,fd as hm,fe as xi,ff as kd,g as so,ga as b5,gb as CE,gc as EC,gd as eu,ge as bm,gf as QC,h as m5,ha as Xl,hb as D5,hc as on,hd as Go,he as dR,hf as yR,i as _r,ia as Os,ib as xE,ic as oi,id as AC,ie as mR,if as SR,j as Le,ja as D,jb as P5,jc as $r,jd as OC,je as bt,jf as wR,k as qt,ka as P,kb as It,kc as A5,kd as U_,ke as pt,kf as MR,l as bd,la as Vn,lb as A,lc as Jp,ld as J5,le as Sc,lf as St,m as p5,ma as vr,mb as I5,mc as O5,md as Yl,me as Ro,mf as kR,n as yh,na as Di,nb as O,nc as N5,nd as Ta,ne as pR,nf as TR,o as Zr,oa as Pi,ob as Ii,oc as sr,od as Hr,oe as zC,of as Jo,p as or,pa as mm,pb as Fe,pc as ri,pd as wn,pe as jt,pf as At,q as xt,qa as C5,qb as J,qc as R5,qd as Kl,qe as nt,qf as Mt,r as zi,ra as ve,rb as ee,rc as ka,rd as Ih,re as ct,rf as Lo,s as cm,sa as bi,sb as x,sc as F5,sd as eR,se as xr,sf as wc,t as u5,ta as Sh,tb as s,tc as oe,td as tR,te as jC,tf as Vh,u as yt,ua as xC,ub as l,uc as Ut,ud as nR,ue as Rh,uf as TE,v as rr,va as me,vb as F,vc as L5,vd as wE,ve as Fh,vf as ls,w as Er,wa as Ns,wb as _o,wc as ae,wd,we as uR,wf as Ea,x as L_,xa as un,xb as wo,xc as K,xd as iR,xe as hR,xf as YC,y as B_,ya as fi,yb as jr,yc as Sd,yd as Md,ye as fR,yf as Mc,z as xc,za as x5,zb as qe,zc as dt,zd as oR,ze as gR,zf as ER}from"./chunk-UKWNOQKZ.js";var BV=Is((Frt,US)=>{(function(t,i,e){if(!t)return;for(var n={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},r={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},a={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},c,m=1;m<20;++m)n[111+m]="f"+m;for(m=0;m<=9;++m)n[m+96]=m.toString();function p(T,R,W){if(T.addEventListener){T.addEventListener(R,W,!1);return}T.attachEvent("on"+R,W)}function h(T){if(T.type=="keypress"){var R=String.fromCharCode(T.which);return T.shiftKey||(R=R.toLowerCase()),R}return n[T.which]?n[T.which]:o[T.which]?o[T.which]:String.fromCharCode(T.which).toLowerCase()}function g(T,R){return T.sort().join(",")===R.sort().join(",")}function M(T){var R=[];return T.shiftKey&&R.push("shift"),T.altKey&&R.push("alt"),T.ctrlKey&&R.push("ctrl"),T.metaKey&&R.push("meta"),R}function C(T){if(T.preventDefault){T.preventDefault();return}T.returnValue=!1}function _(T){if(T.stopPropagation){T.stopPropagation();return}T.cancelBubble=!0}function w(T){return T=="shift"||T=="ctrl"||T=="alt"||T=="meta"}function S(){if(!c){c={};for(var T in n)T>95&&T<112||n.hasOwnProperty(T)&&(c[n[T]]=T)}return c}function y(T,R,W){return W||(W=S()[T]?"keydown":"keypress"),W=="keypress"&&R.length&&(W="keydown"),W}function k(T){return T==="+"?["+"]:(T=TLine truncated
`;E[ue.url]=V,ye(V)}),Ie.addEventListener("error",function(de){console.warn("Failed to load font from: "+ue.url,de),E[ue.url]=null,ye(null)}),Ie.addEventListener("abort",function(de){console.warn("Aborted loading font from: "+ue.url,de),ye(null)}),Ie.open("GET",ue.url),Ie.responseType="arraybuffer",Ie.send()})})).then(function(ue){return ue.filter(function(ye){return ye}).join("")})},T=null,R=function(){return T||(T=Array.from(document.styleSheets).map(function(G){try{return{rules:G.cssRules,href:G.href}}catch(ue){return console.warn("Stylesheet could not be loaded: "+G.href,ue),{}}}))},W=function(G,ue){var ye=ue||{},ce=ye.selectorRemap,Ie=ye.modifyStyle,de=ye.modifyCss,V=ye.fonts,Y=ye.excludeUnusedCss,ne=de||function(it,et){var Se=ce?ce(it):it,q=Ie?Ie(et):et;return Se+"{"+q+`}
`},ie=[],De=typeof V>"u",$e=V||[];return R().forEach(function(it){var et=it.rules,Se=it.href;et&&Array.from(et).forEach(function(q){if(typeof q.style<"u")if(y(G,q.selectorText))ie.push(ne(q.selectorText,q.style.cssText));else if(De&&q.cssText.match(/^@font-face/)){var Oe=k(q,Se);Oe&&$e.push(Oe)}else Y||ie.push(q.cssText)})}),N($e).then(function(it){return ie.join(`
`)+it})},pe=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};t.prepareSvg=function(_e,G,ue){m(_e);var ye=G||{},ce=ye.left,Ie=ce===void 0?0:ce,de=ye.top,V=de===void 0?0:de,Y=ye.width,ne=ye.height,ie=ye.scale,De=ie===void 0?1:ie,$e=ye.responsive,it=$e===void 0?!1:$e,et=ye.excludeCss,Se=et===void 0?!1:et;return I(_e).then(function(){var q=_e.cloneNode(!0);q.style.backgroundColor=(G||{}).backgroundColor||_e.style.backgroundColor;var Oe=_(_e,q,Y,ne),Ke=Oe.width,Ct=Oe.height;if(_e.tagName!=="svg")if(_e.getBBox){q.getAttribute("transform")!=null&&q.setAttribute("transform",q.getAttribute("transform").replace(/translate\(.*?\)/,""));var Rt=document.createElementNS("http://www.w3.org/2000/svg","svg");Rt.appendChild(q),q=Rt}else{console.error("Attempted to render non-SVG element",_e);return}if(q.setAttribute("version","1.1"),q.setAttribute("viewBox",[Ie,V,Ke,Ct].join(" ")),q.getAttribute("xmlns")||q.setAttributeNS(i,"xmlns",n),q.getAttribute("xmlns:xlink")||q.setAttributeNS(i,"xmlns:xlink","http://www.w3.org/1999/xlink"),it?(q.removeAttribute("width"),q.removeAttribute("height"),q.setAttribute("preserveAspectRatio","xMinYMin meet")):(q.setAttribute("width",Ke*De),q.setAttribute("height",Ct*De)),Array.from(q.querySelectorAll("foreignObject > *")).forEach(function(Eo){Eo.setAttributeNS(i,"xmlns",Eo.tagName==="svg"?n:e)}),Se){var ni=document.createElement("div");ni.appendChild(q);var Uo=ni.innerHTML;if(typeof ue=="function")ue(Uo,Ke,Ct);else return{src:Uo,width:Ke,height:Ct}}else return W(_e,G).then(function(Eo){var Kr=document.createElement("style");Kr.setAttribute("type","text/css"),Kr.innerHTML=`<![CDATA[
`+Eo+`
]]>`;var An=document.createElement("defs");An.appendChild(Kr),q.insertBefore(An,q.firstChild);var am=document.createElement("div");am.appendChild(q);var xh=am.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof ue=="function")ue(xh,Ke,Ct);else return{src:xh,width:Ke,height:Ct}})})},t.svgAsDataUri=function(_e,G,ue){return m(_e),t.prepareSvg(_e,G).then(function(ye){var ce=ye.src,Ie=ye.width,de=ye.height,V="data:image/svg+xml;base64,"+window.btoa(w(o+ce));return typeof ue=="function"&&ue(V,Ie,de),V})},t.svgAsPngUri=function(_e,G,ue){m(_e);var ye=G||{},ce=ye.encoderType,Ie=ce===void 0?"image/png":ce,de=ye.encoderOptions,V=de===void 0?.8:de,Y=ye.canvg,ne=function(De){var $e=De.src,it=De.width,et=De.height,Se=document.createElement("canvas"),q=Se.getContext("2d"),Oe=window.devicePixelRatio||1;Se.width=it*Oe,Se.height=et*Oe,Se.style.width=Se.width+"px",Se.style.height=Se.height+"px",q.setTransform(Oe,0,0,Oe,0,0),Y?Y(Se,$e):q.drawImage($e,0,0);var Ke=void 0;try{Ke=Se.toDataURL(Ie,V)}catch(Ct){if(typeof SecurityError<"u"&&Ct instanceof SecurityError||Ct.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw Ct}return typeof ue=="function"&&ue(Ke,Se.width,Se.height),Promise.resolve(Ke)};return Y?t.prepareSvg(_e,G).then(ne):t.svgAsDataUri(_e,G).then(function(ie){return new Promise(function(De,$e){var it=new Image;it.onload=function(){return De(ne({src:it,width:it.width,height:it.height}))},it.onerror=function(){$e(`There was an error loading the data URI as an image on the following SVG
`+window.atob(ie.slice(26))+`Open the following link to see browser's diagnosis
`+ie)},it.src=ie})})},t.download=function(_e,G,ue){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(S(G),_e);else{var ye=document.createElement("a");if("download"in ye){ye.download=_e,ye.style.display="none",document.body.appendChild(ye);try{var ce=S(G),Ie=URL.createObjectURL(ce);ye.href=Ie,ye.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(Ie)})}}catch(de){console.error(de),console.warn("Error while getting object URL. Falling back to string URL."),ye.href=G}ye.click(),document.body.removeChild(ye)}else ue&&ue.popup&&(ue.popup.document.title=_e,ue.popup.location.replace(G))}},t.saveSvg=function(_e,G,ue){var ye=pe();return p(_e).then(function(ce){return t.svgAsDataUri(ce,ue||{})}).then(function(ce){return t.download(G,ce,ye)})},t.saveSvgAsPng=function(_e,G,ue){var ye=pe();return p(_e).then(function(ce){return t.svgAsPngUri(ce,ue||{})}).then(function(ce){return t.download(G,ce,ye)})}})()});var YN=Is((Bk,QN)=>{(function(t,i){if(typeof Bk=="object"&&typeof QN=="object")QN.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e=i();for(var n in e)(typeof Bk=="object"?Bk:t)[n]=e[n]}})(globalThis,()=>(()=>{"use strict";var t={4567:function(o,r,a){var c=this&&this.__decorate||function(S,y,k,I){var E,N=arguments.length,T=N<3?y:I===null?I=Object.getOwnPropertyDescriptor(y,k):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(S,y,k,I);else for(var R=S.length-1;R>=0;R--)(E=S[R])&&(T=(N<3?E(T):N>3?E(y,k,T):E(y,k))||T);return N>3&&T&&Object.defineProperty(y,k,T),T},m=this&&this.__param||function(S,y){return function(k,I){y(k,I,S)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let p=a(9042),h=a(9924),g=a(844),M=a(4725),C=a(2585),_=a(3656),w=r.AccessibilityManager=class extends g.Disposable{constructor(S,y,k,I){super(),this._terminal=S,this._coreBrowserService=k,this._renderService=I,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let E=0;E<this._terminal.rows;E++)this._rowElements[E]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[E]);if(this._topBoundaryFocusListener=E=>this._handleBoundaryFocus(E,0),this._bottomBoundaryFocusListener=E=>this._handleBoundaryFocus(E,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new h.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(E=>this._handleResize(E.rows))),this.register(this._terminal.onRender(E=>this._refreshRows(E.start,E.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(E=>this._handleChar(E))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
`))),this.register(this._terminal.onA11yTab(E=>this._handleTab(E))),this.register(this._terminal.onKey(E=>this._handleKey(E.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,_.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,g.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(S){for(let y=0;y<S;y++)this._handleChar(" ")}_handleChar(S){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==S&&(this._charsToAnnounce+=S):this._charsToAnnounce+=S,S===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=p.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(S){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(S)||this._charsToConsume.push(S)}_refreshRows(S,y){this._liveRegionDebouncer.refresh(S,y,this._terminal.rows)}_renderRows(S,y){let k=this._terminal.buffer,I=k.lines.length.toString();for(let E=S;E<=y;E++){let N=k.lines.get(k.ydisp+E),T=[],R=N?.translateToString(!0,void 0,void 0,T)||"",W=(k.ydisp+E+1).toString(),pe=this._rowElements[E];pe&&(R.length===0?(pe.innerText="\xA0",this._rowColumns.set(pe,[0,1])):(pe.textContent=R,this._rowColumns.set(pe,T)),pe.setAttribute("aria-posinset",W),pe.setAttribute("aria-setsize",I))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(S,y){let k=S.target,I=this._rowElements[y===0?1:this._rowElements.length-2];if(k.getAttribute("aria-posinset")===(y===0?"1":`${this._terminal.buffer.lines.length}`)||S.relatedTarget!==I)return;let E,N;if(y===0?(E=k,N=this._rowElements.pop(),this._rowContainer.removeChild(N)):(E=this._rowElements.shift(),N=k,this._rowContainer.removeChild(E)),E.removeEventListener("focus",this._topBoundaryFocusListener),N.removeEventListener("focus",this._bottomBoundaryFocusListener),y===0){let T=this._createAccessibilityTreeNode();this._rowElements.unshift(T),this._rowContainer.insertAdjacentElement("afterbegin",T)}else{let T=this._createAccessibilityTreeNode();this._rowElements.push(T),this._rowContainer.appendChild(T)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(y===0?-1:1),this._rowElements[y===0?1:this._rowElements.length-2].focus(),S.preventDefault(),S.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let S=document.getSelection();if(!S)return;if(S.isCollapsed)return void(this._rowContainer.contains(S.anchorNode)&&this._terminal.clearSelection());if(!S.anchorNode||!S.focusNode)return void console.error("anchorNode and/or focusNode are null");let y={node:S.anchorNode,offset:S.anchorOffset},k={node:S.focusNode,offset:S.focusOffset};if((y.node.compareDocumentPosition(k.node)&Node.DOCUMENT_POSITION_PRECEDING||y.node===k.node&&y.offset>k.offset)&&([y,k]=[k,y]),y.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(y={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(y.node))return;let I=this._rowElements.slice(-1)[0];if(k.node.compareDocumentPosition(I)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(k={node:I,offset:I.textContent?.length??0}),!this._rowContainer.contains(k.node))return;let E=({node:R,offset:W})=>{let pe=R instanceof Text?R.parentNode:R,_e=parseInt(pe?.getAttribute("aria-posinset"),10)-1;if(isNaN(_e))return console.warn("row is invalid. Race condition?"),null;let G=this._rowColumns.get(pe);if(!G)return console.warn("columns is null. Race condition?"),null;let ue=W<G.length?G[W]:G.slice(-1)[0]+1;return ue>=this._terminal.cols&&(++_e,ue=0),{row:_e,column:ue}},N=E(y),T=E(k);if(N&&T){if(N.row>T.row||N.row===T.row&&N.column>=T.column)throw new Error("invalid range");this._terminal.select(N.column,N.row,(T.row-N.row)*this._terminal.cols-N.column+T.column)}}_handleResize(S){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let y=this._rowContainer.children.length;y<this._terminal.rows;y++)this._rowElements[y]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[y]);for(;this._rowElements.length>S;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let S=this._coreBrowserService.mainDocument.createElement("div");return S.setAttribute("role","listitem"),S.tabIndex=-1,this._refreshRowDimensions(S),S}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let S=0;S<this._terminal.rows;S++)this._refreshRowDimensions(this._rowElements[S])}}_refreshRowDimensions(S){S.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=w=c([m(1,C.IInstantiationService),m(2,M.ICoreBrowserService),m(3,M.IRenderService)],w)},3614:(o,r)=>{function a(h){return h.replace(/\r?\n/g,"\r")}function c(h,g){return g?"\x1B[200~"+h+"\x1B[201~":h}function m(h,g,M,C) Line truncated
WARNING: This link could potentially be dangerous`)){let w=window.open();if(w){try{w.opener=null}catch{}w.location.href=_}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=g=c([m(0,h.IBufferService),m(1,h.IOptionsService),m(2,h.IOscLinkService)],g)},6193:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(a,c){this._renderCallback=a,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(a,c,m){this._rowCount=m,a=a!==void 0?a:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let a=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}}},3236:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let c=a(3614),m=a(3656),p=a(3551),h=a(9042),g=a(3730),M=a(1680),C=a(3107),_=a(5744),w=a(2950),S=a(1296),y=a(428),k=a(4269),I=a(5114),E=a(8934),N=a(3230),T=a(9312),R=a(4725),W=a(6731),pe=a(8055),_e=a(8969),G=a(8460),ue=a(844),ye=a(6114),ce=a(8437),Ie=a(2584),de=a(7399),V=a(5941),Y=a(9074),ne=a(2585),ie=a(5435),De=a(4567),$e=a(779);class it extends _e.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(Se={}){super(Se),this.browser=ye,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new ue.MutableDisposable),this._onCursorMove=this.register(new G.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new G.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new G.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new G.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new G.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new G.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new G.EventEmitter),this._onBlur=this.register(new G.EventEmitter),this._onA11yCharEmitter=this.register(new G.EventEmitter),this._onA11yTabEmitter=this.register(new G.EventEmitter),this._onWillOpen=this.register(new G.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(Y.DecorationService),this._instantiationService.setService(ne.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance($e.LinkProviderService),this._instantiationService.setService(R.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((q,Oe)=>this.refresh(q,Oe))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(q=>this._reportWindowsOptions(q))),this.register(this._inputHandler.onColor(q=>this._handleColorEvent(q))),this.register((0,G.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,G.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,G.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,G.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(q=>this._afterResize(q.cols,q.rows))),this.register((0,ue.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(Se){if(this._themeService)for(let q of Se){let Oe,Ke="";switch(q.index){case 256:Oe="foreground",Ke="10";break;case 257:Oe="background",Ke="11";break;case 258:Oe="cursor",Ke="12";brea Line truncated
`:`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(T){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),w.isLinux&&T&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(T){let R=this._getMouseBufferCoords(T),W=this._model.finalSelectionStart,pe=this._model.finalSelectionEnd;return!!(W&&pe&&R)&&this._areCoordsInSelection(R,W,pe)}isCellInSelection(T,R){let W=this._model.finalSelectionStart,pe=this._model.finalSelectionEnd;return!(!W||!pe)&&this._areCoordsInSelection([T,R],W,pe)}_areCoordsInSelection(T,R,W){return T[1]>R[1]&&T[1]<W[1]||R[1]===W[1]&&T[1]===R[1]&&T[0]>=R[0]&&T[0]<W[0]||R[1]<W[1]&&T[1]===W[1]&&T[0]<W[0]||R[1]<W[1]&&T[1]===R[1]&&T[0]>=R[0]}_selectWordAtCursor(T,R){let W=this._linkifier.currentLink?.link?.range;if(W)return this._model.selectionStart=[W.start.x-1,W.start.y-1],this._model.selectionStartLength=(0,S.getRangeLength)(W,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let pe=this._getMouseBufferCoords(T);return!!pe&&(this._selectWordAt(pe,R),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(T,R){this._model.clearSelection(),T=Math.max(T,0),R=Math.min(R,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,T],this._model.selectionEnd=[this._bufferService.cols,R],this.refresh(),this._onSelectionChange.fire()}_handleTrim(T){this._model.handleTrim(T)&&this.refresh()}_getMouseBufferCoords(T){let R=this._mouseService.getCoords(T,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(R)return R[0]--,R[1]--,R[1]+=this._bufferService.buffer.ydisp,R}_getMouseEventScrollAmount(T){let R=(0,p.getCoordsRelativeToElement)(this._coreBrowserService.window,T,this._screenElement)[1],W=this._renderService.dimensions.css.canvas.height;return R>=0&&R<=W?0:(R>W&&(R-=W),R=Math.min(Math.max(R,-50),50),R/=50,R/Math.abs(R)+Math.round(14*R))}shouldForceSelection(T){return w.isMac?T.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:T.shiftKey}handleMouseDown(T){if(this._mouseDownTimeStamp=T.timeStamp,(T.button!==2||!this.hasSelection)&&T.button===0){if(!this._enabled){if(!this.shouldForceSelection(T))return;T.stopPropagation()}T.preventDefault(),this._dragScrollAmount=0,this._enabled&&T.shiftKey?this._handleIncrementalClick(T):T.detail===1?this._handleSingleClick(T):T.detail===2?this._handleDoubleClick(T):T.detail===3&&this._handleTripleClick(T),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(T){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(T))}_handleSingleClick(T){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(T)?3:0,this._model.selectionStart=this._getMouseBufferCoords(T),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let R=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);R&&R.length!==this._model.selectionStart[0]&&R.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(T){this._selectWordAtCursor(T,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(T){let R=this._getMouseBufferCoords(T);R&&(this._activeSelectionMode=2,this._selectLineAt(R[1]))}shouldColumnSelect(T){return T.altKey&&!(w.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(T){if(T.stopImmediatePropagation(),!this._model.selectionStart)return;let R=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(T),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToW Line truncated
`,p.VT="\v",p.FF="\f",p.CR="\r",p.SO="",p.SI="",p.DLE="",p.DC1="",p.DC2="",p.DC3="",p.DC4="",p.NAK="",p.SYN="",p.ETB="",p.CAN="",p.EM="",p.SUB="",p.ESC="\x1B",p.FS="",p.GS="",p.RS="",p.US="",p.SP=" ",p.DEL="\x7F"})(a||(r.C0=a={})),(function(p){p.PAD="\x80",p.HOP="\x81",p.BPH="\x82",p.NBH="\x83",p.IND="\x84",p.NEL="\x85",p.SSA="\x86",p.ESA="\x87",p.HTS="\x88",p.HTJ="\x89",p.VTS="\x8A",p.PLD="\x8B",p.PLU="\x8C",p.RI="\x8D",p.SS2="\x8E",p.SS3="\x8F",p.DCS="\x90",p.PU1="\x91",p.PU2="\x92",p.STS="\x93",p.CCH="\x94",p.MW="\x95",p.SPA="\x96",p.EPA="\x97",p.SOS="\x98",p.SGCI="\x99",p.SCI="\x9A",p.CSI="\x9B",p.ST="\x9C",p.OSC="\x9D",p.PM="\x9E",p.APC="\x9F"})(c||(r.C1=c={})),(function(p){p.ST=`${a.ESC}\\`})(m||(r.C1_ESCAPED=m={}))},7399:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let c=a(2584),m={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(p,h,g,M){let C={type:0,cancel:!1,key:void 0},_=(p.shiftKey?1:0)|(p.altKey?2:0)|(p.ctrlKey?4:0)|(p.metaKey?8:0);switch(p.keyCode){case 0:p.key==="UIKeyInputUpArrow"?C.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A":p.key==="UIKeyInputLeftArrow"?C.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D":p.key==="UIKeyInputRightArrow"?C.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C":p.key==="UIKeyInputDownArrow"&&(C.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:C.key=p.ctrlKey?"\b":c.C0.DEL,p.altKey&&(C.key=c.C0.ESC+C.key);break;case 9:if(p.shiftKey){C.key=c.C0.ESC+"[Z";break}C.key=c.C0.HT,C.cancel=!0;break;case 13:C.key=p.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,C.cancel=!0;break;case 27:C.key=c.C0.ESC,p.altKey&&(C.key=c.C0.ESC+c.C0.ESC),C.cancel=!0;break;case 37:if(p.metaKey)break;_?(C.key=c.C0.ESC+"[1;"+(_+1)+"D",C.key===c.C0.ESC+"[1;3D"&&(C.key=c.C0.ESC+(g?"b":"[1;5D"))):C.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(p.metaKey)break;_?(C.key=c.C0.ESC+"[1;"+(_+1)+"C",C.key===c.C0.ESC+"[1;3C"&&(C.key=c.C0.ESC+(g?"f":"[1;5C"))):C.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(p.metaKey)break;_?(C.key=c.C0.ESC+"[1;"+(_+1)+"A",g||C.key!==c.C0.ESC+"[1;3A"||(C.key=c.C0.ESC+"[1;5A")):C.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(p.metaKey)break;_?(C.key=c.C0.ESC+"[1;"+(_+1)+"B",g||C.key!==c.C0.ESC+"[1;3B"||(C.key=c.C0.ESC+"[1;5B")):C.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:p.shiftKey||p.ctrlKey||(C.key=c.C0.ESC+"[2~");break;case 46:C.key=_?c.C0.ESC+"[3;"+(_+1)+"~":c.C0.ESC+"[3~";break;case 36:C.key=_?c.C0.ESC+"[1;"+(_+1)+"H":h?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:C.key=_?c.C0.ESC+"[1;"+(_+1)+"F":h?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:p.shiftKey?C.type=2:p.ctrlKey?C.key=c.C0.ESC+"[5;"+(_+1)+"~":C.key=c.C0.ESC+"[5~";break;case 34:p.shiftKey?C.type=3:p.ctrlKey?C.key=c.C0.ESC+"[6;"+(_+1)+"~":C.key=c.C0.ESC+"[6~";break;case 112:C.key=_?c.C0.ESC+"[1;"+(_+1)+"P":c.C0.ESC+"OP";break;case 113:C.key=_?c.C0.ESC+"[1;"+(_+1)+"Q":c.C0.ESC+"OQ";break;case 114:C.key=_?c.C0.ESC+"[1;"+(_+1)+"R":c.C0.ESC+"OR";break;case 115:C.key=_?c.C0.ESC+"[1;"+(_+1)+"S":c.C0.ESC+"OS";break;case 116:C.key=_?c.C0.ESC+"[15;"+(_+1)+"~":c.C0.ESC+"[15~";break;case 117:C.key=_?c.C0.ESC+"[17;"+(_+1)+"~":c.C0.ESC+"[17~";break;case 118:C.key=_?c.C0.ESC+"[18;"+(_+1)+"~":c.C0.ESC+"[18~";break;case 119:C.key=_?c.C0.ESC+"[19;"+(_+1)+"~":c.C0.ESC+"[19~";break;case 120:C.key=_?c.C0.ESC+"[20;"+(_+1)+"~":c.C0.ESC+"[20~";break;case 121:C.key=_?c.C0.ESC+"[21;"+(_+1)+"~":c.C0.ESC+"[21~";break;case 122:C.key=_?c.C0.ESC+"[23;"+(_+1)+"~":c.C0.ESC+"[23~";break;case 123:C.key=_?c.C0.ESC+"[24;"+(_+1)+"~":c.C0.ESC+"[24~";break;default:if(!p.ctrlKey||p.shiftKey||p.altKey||p.metaKey)if(g&&!M||!p.altKey||p.metaKey)!g||p.altKey||p.ctrlKey||p.shiftKey||!p.metaKey?p.key&&!p.ctrlKey&&!p.altKey&&!p.metaKey&&p.keyCode>=48&&p.key.length===1?C.key=p.key:p.key&&p.ctrlKey&&(p.key==="_"&&(C.key=c.C0.US),p.key==="@"&&(C.key=c.C0.NUL)):p.keyCode===65&&(C.type=1);else{let w=m[p.keyCode],S=w?.[p.shiftKey?1:0];if(S)C.key=c.C0.ESC+S;else if(p.keyCode>=65&&p.keyCode<=90){let y=p.ctrlKey?p.keyCode-64:p.keyCode+32,k=String.fromCharCode(y);p.shiftKey&&(k=k.toUpperCase()),C.key=c.C0.ESC+k}else if(p.keyCode===32)C.key=c.C0.ESC+(p.ctrlKey?c.C0.NUL:" ");else if(p.key==="Dead"&&p.code.startsWith("Key")){let y=p.code.slice(3,4);p.shiftKey||(y=y.toLowerCase()),C.key=c.C0.ESC+y,C.cancel=!0}}else p.keyCode>=65&&p.keyCode<=90?C.key=String.fromCharCode(p.keyCode-64):p.keyCode===32?C.key=c.C0.NUL:p.keyCode>=51&&p.keyCode<=55?C.key=String.fromCharCode(p.keyCode-51+27):p.keyCode===56?C.key=c.C0.DEL:p.keyCode===219?C.key=c.C0.ESC:p.keyCode===220?C.key=c.C0.FS:p.keyCode===221&&(C.key=c.C0.GS)}return C}},482:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(a){returLine truncated
`,S)}paste(w){this._core.paste(w)}refresh(w,S){this._verifyIntegers(w,S),this._core.refresh(w,S)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(w){this._addonManager.loadAddon(this,w)}static get strings(){return r}_verifyIntegers(...w){for(let S of w)if(S===1/0||isNaN(S)||S%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...w){for(let S of w)if(S&&(S===1/0||isNaN(S)||S%1!=0||S<0))throw new Error("This API only accepts positive integers")}}o.Terminal=C})(),n})())});var ZN=Is((Vk,KN)=>{(function(t,i){typeof Vk=="object"&&typeof KN=="object"?KN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof Vk=="object"?Vk.AttachAddon=i():t.AttachAddon=i()})(self,()=>(()=>{"use strict";var t={};return(()=>{var i=t;function e(n,o,r){return n.addEventListener(o,r),{dispose:()=>{r&&n.removeEventListener(o,r)}}}Object.defineProperty(i,"__esModule",{value:!0}),i.AttachAddon=void 0,i.AttachAddon=class{constructor(n,o){this._disposables=[],this._socket=n,this._socket.binaryType="arraybuffer",this._bidirectional=!(o&&o.bidirectional===!1)}activate(n){this._disposables.push(e(this._socket,"message",o=>{let r=o.data;n.write(typeof r=="string"?r:new Uint8Array(r))})),this._bidirectional&&(this._disposables.push(n.onData(o=>this._sendData(o))),this._disposables.push(n.onBinary(o=>this._sendBinary(o)))),this._disposables.push(e(this._socket,"close",()=>this.dispose())),this._disposables.push(e(this._socket,"error",()=>this.dispose()))}dispose(){for(let n of this._disposables)n.dispose()}_sendData(n){this._checkOpenSocket()&&this._socket.send(n)}_sendBinary(n){if(!this._checkOpenSocket())return;let o=new Uint8Array(n.length);for(let r=0;r<n.length;++r)o[r]=255&n.charCodeAt(r);this._socket.send(o)}_checkOpenSocket(){switch(this._socket.readyState){case WebSocket.OPEN:return!0;case WebSocket.CONNECTING:throw new Error("Attach addon was loaded before socket was open");case WebSocket.CLOSING:return console.warn("Attach addon socket is closing"),!1;case WebSocket.CLOSED:throw new Error("Attach addon socket is closed");default:throw new Error("Unexpected socket state")}}}})(),t})())});var e5=Is((zk,JN)=>{(function(t,i){typeof zk=="object"&&typeof JN=="object"?JN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof zk=="object"?zk.FitAddon=i():t.FitAddon=i()})(self,()=>(()=>{"use strict";var t={};return(()=>{var i=t;Object.defineProperty(i,"__esModule",{value:!0}),i.FitAddon=void 0,i.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let n=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(n._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core,n=e._renderService.dimensions;if(n.css.cell.width===0||n.css.cell.height===0)return;let o=this._terminal.options.scrollback===0?0:e.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),c=Math.max(0,parseInt(r.getPropertyValue("width"))),m=window.getComputedStyle(this._terminal.element),p=a-(parseInt(m.getPropertyValue("padding-top"))+parseInt(m.getPropertyValue("padding-bottom"))),h=c-(parseInt(m.getPropertyValue("padding-right"))+parseInt(m.getPropertyValue("padding-left")))-o;return{cols:Math.max(2,Math.floor(h/n.css.cell.width)),rows:Math.max(1,Math.floor(p/n.css.cell.height))}}}})(),t})())});var RR=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g"),of=class t{element=null;classNames=[];attrs=[];notSelectors=[];static parse(i){let e=[],n=(m,p)=>{p.notSelectors.length>0&&!p.element&&p.classNames.length==0&&p.attrs.length==0&&(p.element="*"),m.push(p)},o=new t,r,a=o,c=!1;for(RR.lastIndex=0;r=RR.exec(i);){if(r[1]){if(c)throw new Error("Nesting :not in a selector is not allowed");c=!0,a=new t,o.notSelectors.push(a)}let m=r[2];if(m){let h=r[3];h==="#"?a.addAttribute("id",m.slice(1)):h==="."?a.addClassName(m.slice(1)):a.setElement(m)}let p=r[4];if(p&&a.addAttribute(a.unescapeAttribute(p),r[6]),r[7]&&(c=!1,a=o),r[8]){if(c)throw new Error("Multiple selectors in :not are not supported");n(e,o),o=a=new t}}return n(e,o),e}unescapeAttribute(i){let e="",n=!1;for(let o=0;o<i.length;o++){let r=i.charAt(o);if(r==="\\"){n=!0;continue}if(r==="$"&&!n)throw new Error(`Error in attribute selector "${i}". Unescaped "$" is not supported. Please escape with "\\$".`);n=!1,e+=r}return e}escapeAttribute(i){return i.replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}isElementSelector(){return this.hasElementSelector()&&this.classNames.length==0&&this.attrs.length==0&&this.notSelectors.length===0}hasElementSelector(){return!!this.element}setElement(i=null){this.element=i}getAttrs(){let i=[];return this.classNames. Line truncated
`;for(let e of t)i+=" *",i+=UR(e).replace(/\n/g,`
* `),i+=`
`;return i+=" ",i}var _W="_c",vW={},bW=50,wx=class t extends Yi{resolved;original;shared=!1;constructor(i){super(i.type),this.resolved=i,this.original=i}visitExpression(i,e){return e===vW?this.original.visitExpression(i,e):this.resolved.visitExpression(i,e)}isEquivalent(i){return i instanceof t&&this.resolved.isEquivalent(i.resolved)}isConstant(){return!0}clone(){throw new Error("Not supported.")}fixup(i){this.resolved=i,this.shared=!0}},Mx=class{isClosureCompilerEnabled;statements=[];literals=new Map;literalFactories=new Map;sharedConstants=new Map;_claimedNames=new Map;nextNameIndex=0;constructor(i=!1){this.isClosureCompilerEnabled=i}getConstLiteral(i,e){if(i instanceof _a&&!GR(i)||i instanceof wx)return i;let n=y0.INSTANCE.keyOf(i),o=this.literals.get(n),r=!1;if(o||(o=new wx(i),this.literals.set(n,o),r=!0),!r&&!o.shared||r&&e){let a=this.freshName(),c,m;this.isClosureCompilerEnabled&&GR(i)?(c=new Am([],[new Ar(i)]),m=si(a).callFn([])):(c=i,m=si(a)),this.statements.push(new qr(a,c,ec,fa.Final)),o.fixup(m)}return o}getSharedConstant(i,e){let n=i.keyOf(e);if(!this.sharedConstants.has(n)){let o=this.freshName();this.sharedConstants.set(n,si(o)),this.statements.push(i.toSharedConstantDeclaration(o,e))}return this.sharedConstants.get(n)}getSharedFunctionReference(i,e,n=!0){let o=i instanceof Nu;for(let a of this.statements)if(o&&a instanceof qr&&a.value?.isEquivalent(i)||!o&&a instanceof x0&&i instanceof Am&&i.isEquivalent(a))return si(a.name);let r=n?this.uniqueName(e):e;return this.statements.push(i instanceof Am?i.toDeclStmt(r,fa.Final):new qr(r,i,ec,fa.Final,i.sourceSpan)),si(r)}uniqueName(i,e=!0){let n=this._claimedNames.get(i)??0,o=n===0&&!e?`${i}`:`${i}${n}`;return this._claimedNames.set(i,n+1),o}freshName(){return this.uniqueName(_W)}},y0=class t{static INSTANCE=new t;keyOf(i){if(i instanceof _a&&typeof i.value=="string")return`"${i.value}"`;if(i instanceof _a)return String(i.value);if(i instanceof af)return`/${i.body}/${i.flags??""}`;if(i instanceof Lc){let e=[];for(let n of i.entries)e.push(this.keyOf(n));return`[${e.join(",")}]`}else if(i instanceof ic){let e=[];for(let n of i.entries)if(n instanceof Om)e.push("..."+this.keyOf(n.expression));else{let o=n.key;n.quoted&&(o=`"${o}"`),e.push(o+":"+this.keyOf(n.value))}return`{${e.join(",")}}`}else{if(i instanceof Cu)return`import("${i.value.moduleName}", ${i.value.name})`;if(i instanceof tc)return`read(${i.name})`;if(i instanceof rf)return`typeof(${this.keyOf(i.expr)})`;if(i instanceof yu)return`...${this.keyOf(i.expression)}`;throw new Error(`${this.constructor.name} does not handle expressions of type ${i.constructor.name}`)}}};function GR(t){return t instanceof _a&&typeof t.value=="string"&&t.value.length>=bW}var xe="@angular/core",he=(()=>{class t{static core={name:null,moduleName:xe};static namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:xe};static namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:xe};static namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:xe};static element={name:"\u0275\u0275element",moduleName:xe};static elementStart={name:"\u0275\u0275elementStart",moduleName:xe};static elementEnd={name:"\u0275\u0275elementEnd",moduleName:xe};static domElement={name:"\u0275\u0275domElement",moduleName:xe};static domElementStart={name:"\u0275\u0275domElementStart",moduleName:xe};static domElementEnd={name:"\u0275\u0275domElementEnd",moduleName:xe};static domElementContainer={name:"\u0275\u0275domElementContainer",moduleName:xe};static domElementContainerStart={name:"\u0275\u0275domElementContainerStart",moduleName:xe};static domElementContainerEnd={name:"\u0275\u0275domElementContainerEnd",moduleName:xe};static domTemplate={name:"\u0275\u0275domTemplate",moduleName:xe};static domListener={name:"\u0275\u0275domListener",moduleName:xe};static advance={name:"\u0275\u0275advance",moduleName:xe};static syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:xe};static syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:xe};static attribute={name:"\u0275\u0275attribute",moduleName:xe};static classProp={name:"\u0275\u0275classProp",moduleName:xe};static elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:xe};static elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:xe};static elementContainer={name:"\u0275\u0275elementContainer",moduleName:xe};static styleMap={name:"\u0275\u0275styleMap",moduleName:xe};static classMap={name:"\u0275\u0275classMap",moduleName:xe};static styleProp={name:"\u0275\u0275styleProp",moduleName:xe};static interpolate={name:"\u0275\u0275interpolate",moduleName:xe};static interpolate1={name:"\u0275\u0275interpolate1",moduleName:xe};static interpolate2={name:"\u0275\u0275interpolate2",moduleName:xe};static interpolate3={name:"\u0275\u0275interpolate3",moduleName:xe};static interpolate4={name:"\u0275\u0275interpolate4",moduleName:xe};static interpolate5={name:"\u0275\u0275interpolate5",moduleName:xe};static interpola Line truncated
`);return n>=0?e.slice(0,n):e}var nD=class{full;major;minor;patch;constructor(i){this.full=i;let e=i.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}},s0=globalThis,MW=/^([1-9]|1[0-8])\./;function F6(t){return t.startsWith("0.")?!0:!MW.test(t)}var kW=3,TW="# sourceMappingURL=data:application/json;base64,",iD=class{file;sourcesContent=new Map;lines=[];lastCol0=0;hasMappings=!1;constructor(i=null){this.file=i}addSource(i,e=null){return this.sourcesContent.has(i)||this.sourcesContent.set(i,e),this}addLine(){return this.lines.push([]),this.lastCol0=0,this}addMapping(i,e,n,o){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(e!=null&&!this.sourcesContent.has(e))throw new Error(`Unknown source file "${e}"`);if(i==null)throw new Error("The column in the generated code must be provided");if(i<this.lastCol0)throw new Error("Mapping should be added in output order");if(e&&(n==null||o==null))throw new Error("The source location must be provided when a source url is provided");return this.hasMappings=!0,this.lastCol0=i,this.currentLine.push({col0:i,sourceUrl:e,sourceLine0:n,sourceCol0:o}),this}get currentLine(){return this.lines.slice(-1)[0]}toJSON(){if(!this.hasMappings)return null;let i=new Map,e=[],n=[];Array.from(this.sourcesContent.keys()).forEach((p,h)=>{i.set(p,h),e.push(p),n.push(this.sourcesContent.get(p)||null)});let o="",r=0,a=0,c=0,m=0;return this.lines.forEach(p=>{r=0,o+=p.map(h=>{let g=KC(h.col0-r);return r=h.col0,h.sourceUrl!=null&&(g+=KC(i.get(h.sourceUrl)-a),a=i.get(h.sourceUrl),g+=KC(h.sourceLine0-c),c=h.sourceLine0,g+=KC(h.sourceCol0-m),m=h.sourceCol0),g}).join(","),o+=";"}),o=o.slice(0,-1),{file:this.file||"",version:kW,sourceRoot:"",sources:e,sourcesContent:n,mappings:o}}toJsComment(){return this.hasMappings?"//"+TW+EW(JSON.stringify(this,null,0)):""}};function EW(t){let i="",e=wW(t);for(let n=0;n<e.length;){let o=e[n++],r=n<e.length?e[n++]:null,a=n<e.length?e[n++]:null;i+=n0(o>>2),i+=n0((o&3)<<4|(r===null?0:r>>4)),i+=r===null?"=":n0((r&15)<<2|(a===null?0:a>>6)),i+=r===null||a===null?"=":n0(a&63)}return i}function KC(t){t=t<0?(-t<<1)+1:t<<1;let i="";do{let e=t&31;t=t>>5,t>0&&(e=e|32),i+=n0(e)}while(t>0);return i}var DW="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function n0(t){if(t<0||t>=64)throw new Error("Can only encode value in the range [0, 63]");return DW[t]}var PW=/'|\\|\n|\r|\$/g,IW=/^[$A-Z_][0-9A-Z_$]*$/i,oD=" ",kx=class{indent;partsLength=0;parts=[];srcSpans=[];constructor(i){this.indent=i}},AW=new Map([[ht.And,"&&"],[ht.Bigger,">"],[ht.BiggerEquals,">="],[ht.BitwiseOr,"|"],[ht.BitwiseAnd,"&"],[ht.Divide,"/"],[ht.Assign,"="],[ht.Equals,"=="],[ht.Identical,"==="],[ht.Lower,"<"],[ht.LowerEquals,"<="],[ht.Minus,"-"],[ht.Modulo,"%"],[ht.Exponentiation,"**"],[ht.Multiply,"*"],[ht.NotEquals,"!="],[ht.NotIdentical,"!=="],[ht.NullishCoalesce,"??"],[ht.Or,"||"],[ht.Plus,"+"],[ht.In,"in"],[ht.InstanceOf,"instanceof"],[ht.AdditionAssignment,"+="],[ht.SubtractionAssignment,"-="],[ht.MultiplicationAssignment,"*="],[ht.DivisionAssignment,"/="],[ht.RemainderAssignment,"%="],[ht.ExponentiationAssignment,"**="],[ht.AndAssignment,"&&="],[ht.OrAssignment,"||="],[ht.NullishCoalesceAssignment,"??="]]),rD=class t{_indent;static createRoot(){return new t(0)}_lines;constructor(i){this._indent=i,this._lines=[new kx(i)]}get _currentLine(){return this._lines[this._lines.length-1]}println(i,e=""){this.print(i||null,e,!0)}lineIsEmpty(){return this._currentLine.parts.length===0}lineLength(){return this._currentLine.indent*oD.length+this._currentLine.partsLength}print(i,e,n=!1){e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(i&&i.sourceSpan||null)),n&&this._lines.push(new kx(this._indent))}removeEmptyLastLine(){this.lineIsEmpty()&&this._lines.pop()}incIndent(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}decIndent(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}toSource(){return this.sourceLines.map(i=>i.parts.length>0?WR(i.indent)+i.parts.join(""):"").join(`
`)}toSourceMapGenerator(i,e=0){let n=new iD(i),o=!1,r=()=>{o||(n.addSource(i," ").addMapping(0,i,0,0),o=!0)};for(let a=0;a<e;a++)n.addLine(),r();return this.sourceLines.forEach((a,c)=>{n.addLine();let m=a.srcSpans,p=a.parts,h=a.indent*oD.length,g=0;for(;g<m.length&&!m[g];)h+=p[g].length,g++;for(g<m.length&&c===0&&h===0?o=!0:r();g<m.length;){let M=m[g],C=M.start.file,_=M.start.line,w=M.start.col;for(n.addSource(C.url,C.content).addMapping(h,C.url,_,w),h+=p[g].length,g++;g<m.length&&(M===m[g]||!m[g]);)h+=p[g].length,g++}}),n}spanOf(i,e){let n=this._lines[i];if(n){let o=e-WR(n.indent).length;for(let r=0;r<n.parts.length;r++){let a=n.parts[r];if(a.length>o)return n.srcSpans[r];o-=a.length}}return null}get sourceLines(){return this._lines.length&&this._lines[this._lines.length-1].parts.length===0?this._lines.slice(0,-1):this._lines}},aD=class{_escapeDollarInStrings;lastIfCondition=null;constructor(i){this._escapeDollarInStrings=i}printLeadingComments(i,e){if(i.leadingComments!==void 0)for(let n of i.leadingComments)n instanceof yx?e.print(i,`/*${n.toString()}*/`,n.trailingNewline):n.multiline?e.print(i,`/* ${n.text} */`,n.trailingNewline):n.text.split(`
`).forEach(o=>{e.println(i,`// ${o}`)})}visitExpressionStmt(i,e){return this.printLeadingComments(i,e),i.expr.visitExpression(this,e),e.println(i,";"),null}visitReturnStmt(i,e){return this.printLeadingComments(i,e),e.print(i,"return "),i.value.visitExpression(this,e),e.println(i,";"),null}visitIfStmt(i,e){this.printLeadingComments(i,e),e.print(i,"if ("),this.lastIfCondition=i.condition,i.condition.visitExpression(this,e),this.lastIfCondition=null,e.print(i,") {");let n=i.falseCase!=null&&i.falseCase.length>0;return i.trueCase.length<=1&&!n?(e.print(i," "),this.visitAllStatements(i.trueCase,e),e.removeEmptyLastLine(),e.print(i," ")):(e.println(),e.incIndent(),this.visitAllStatements(i.trueCase,e),e.decIndent(),n&&(e.println(i,"} else {"),e.incIndent(),this.visitAllStatements(i.falseCase,e),e.decIndent())),e.println(i,"}"),null}visitInvokeFunctionExpr(i,e){let n=i.fn instanceof Nu;return n&&e.print(i.fn,"("),i.fn.visitExpression(this,e),n&&e.print(i.fn,")"),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitTaggedTemplateLiteralExpr(i,e){return i.tag.visitExpression(this,e),i.template.visitExpression(this,e),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let n=0;n<i.elements.length;n++){i.elements[n].visitExpression(this,e);let o=n<i.expressions.length?i.expressions[n]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){e.print(i,i.rawText)}visitWrappedNodeExpr(i,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")}visitTypeofExpr(i,e){e.print(i,"typeof "),i.expr.visitExpression(this,e)}visitVoidExpr(i,e){e.print(i,"void "),i.expr.visitExpression(this,e)}visitReadVarExpr(i,e){return e.print(i,i.name),null}visitInstantiateExpr(i,e){return e.print(i,"new "),i.classExpr.visitExpression(this,e),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitLiteralExpr(i,e){let n=i.value;return typeof n=="string"?e.print(i,su(n,this._escapeDollarInStrings)):e.print(i,`${n}`),null}visitRegularExpressionLiteral(i,e){return e.print(i,`/${i.body}/${i.flags||""}`),null}visitLocalizedString(i,e){let n=i.serializeI18nHead();e.print(i,"$localize `"+n.raw);for(let o=1;o<i.messageParts.length;o++)e.print(i,"${"),i.expressions[o-1].visitExpression(this,e),e.print(i,`}${i.serializeI18nTemplatePart(o).raw}`);return e.print(i,"`"),null}visitConditionalExpr(i,e){return e.print(i,"("),i.condition.visitExpression(this,e),e.print(i,"? "),i.trueCase.visitExpression(this,e),e.print(i,": "),i.falseCase.visitExpression(this,e),e.print(i,")"),null}visitDynamicImportExpr(i,e){e.print(i,`import(${i.url})`)}visitNotExpr(i,e){return e.print(i,"!"),i.condition.visitExpression(this,e),null}visitUnaryOperatorExpr(i,e){let n;switch(i.operator){case g0.Plus:n="+";break;case g0.Minus:n="-";break;default:throw new Error(`Unknown operator ${i.operator}`)}let o=i!==this.lastIfCondition;return o&&e.print(i,"("),e.print(i,n),i.expr.visitExpression(this,e),o&&e.print(i,")"),null}visitBinaryOperatorExpr(i,e){let n=AW.get(i.operator);if(!n)throw new Error(`Unknown operator ${i.operator}`);let o=i!==this.lastIfCondition;return o&&e.print(i,"("),i.lhs.visitExpression(this,e),e.print(i,` ${n} `),i.rhs.visitExpression(this,e),o&&e.print(i,")"),null}visitReadPropExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"."),e.print(i,i.name),null}visitReadKeyExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"["),i.index.visitExpression(this,e),e.print(i,"]"),null}visitLiteralArrayExpr(i,e){return e.print(i,"["),this.visitAllExpressions(i.entries,e,","),e.print(i,"]"),null}visitLiteralMapExpr(i,e){return e.print(i,"{"),this.visitAllObjects(n=>{n instanceof Om?(e.print(i,"..."),n.expression.visitExpression(this,e)):(e.print(i,`${su(n.key,this._escapeDollarInStrings,n.quoted)}:`),n.value.visitExpression(this,e))},i.entries,e,","),e.print(i,"}"),null}visitCommaExpr(i,e){return e.print(i,"("),this.visitAllExpressions(i.parts,e,","),e.print(i,")"),null}visitParenthesizedExpr(i,e){i.expr.visitExpression(this,e)}visitSpreadElementExpr(i,e){e.print(i,"..."),i.expression.visitExpression(this,e)}visitAllExpressions(i,e,n){this.visitAllObjects(o=>o.visitExpression(this,e),i,e,n)}visitAllObjects(i,e,n,o){let r=!1;for(let a=0;a<e.length;a++)a>0&&(n.lineLength()>80?(n.print(null,o,!0),r||(n.incIndent(),n.incIndent(),r=!0)):n.print(null,o,!1)),i(e[a]);r&&(n.decIndent(),n.decIndent())}visitAllStatements(i,e){i.forEach(n=>n.visitStatement(this,e))}};function su(t,i,e=!0){if(t==null)return null;let n=t.replace(PW,(...r)=>r[0]=="$"?i?"\\$":"$":r[0]==`
`?"\\n":r[0]=="\r"?"\\r":`\\${r[0]}`);return e||!IW.test(n)?`'${n}'`:n}function WR(t){let i="";for(let e=0;e<t;e++)i+=oD;return i}function S1(t,i){if(i===0)return ga(t);let e=[];for(let n=0;n<i;n++)e.push(hs);return ga(t,void 0,e)}function OW(t,i){let e=su(i,!1,!1);return e!==i?`${t}[${e}]`:`${t}.${i}`}function NW(t){return RW("ngJitMode",t)}function RW(t,i){let e=new Cu({name:t,moduleName:null}),n=new Mi(ht.Identical,new rf(e),Ee("undefined")),o=new Mi(ht.Or,n,e,void 0,void 0);return new Mi(ht.And,o,i)}function Gr(t){let i=new gi(t);return{value:i,type:i}}function lu(t,i){let e=oo(t.map(n=>n.value));return i?Us([],e):e}function PP(t,i){return{expression:t,forwardRef:i}}function FW({expression:t,forwardRef:i}){switch(i){case 0:case 1:return t;case 2:return LW(t)}}function LW(t){return Zt(he.forwardRef).callFn([Us([],t)])}var Tx=(function(t){return t[t.Class=0]="Class",t[t.Function=1]="Function",t})(Tx||{});function ou(t){let i=si("__ngFactoryType__"),e=null,n=XR(t)?i:new Mi(ht.Or,i,t.type.value),o=null;t.deps!==null?t.deps!=="invalid"&&(o=new v0(n,qR(t.deps,t.target))):(e=si(`\u0275${t.name}_BaseFactory`),o=e.callFn([n]));let r=[],a=null;function c(p){let h=si("__ngConditionalFactory__");r.push(new qr(h.name,lf,ec));let g=o!==null?h.set(o).toStmt():Zt(he.invalidFactory).callFn([]).toStmt();return r.push(y1(i,[g],[h.set(p).toStmt()])),h}if(XR(t)){let p=qR(t.delegateDeps,t.target),h=new(t.delegateType===Tx.Class?v0:fs)(t.delegate,p);a=c(h)}else $W(t)?a=c(t.expression):a=o;if(a===null)r.push(Zt(he.invalidFactory).callFn([]).toStmt());else if(e!==null){let p=Zt(he.getInheritedFactory).callFn([t.type.value]),h=new Mi(ht.Or,e,e.set(p));r.push(new Ar(h.callFn([n])))}else r.push(new Ar(a));let m=Nm([new Ir(i.name,hs)],r,ec,void 0,`${t.name}_Factory`);return e!==null&&(m=Us([],[new qr(e.name),new Ar(m)]).callFn([],void 0,!0)),{expression:m,statements:[],type:BW(t)}}function BW(t){let i=t.deps!==null&&t.deps!=="invalid"?zW(t.deps):Rc;return ga(Zt(he.FactoryDeclaration,[S1(t.type.type,t.typeArgumentCount),i]))}function qR(t,i){return t.map((e,n)=>VW(e,i,n))}function VW(t,i,e){if(t.token===null)return Zt(he.invalidFactoryDep).callFn([Ee(e)]);if(t.attributeNameType===null){let n=0|(t.self?2:0)|(t.skipSelf?4:0)|(t.host?1:0)|(t.optional?8:0)|(i===Td.Pipe?16:0),o=n!==0||t.optional?Ee(n):null,r=[t.token];o&&r.push(o);let a=HW(i);return Zt(a).callFn(r)}else return Zt(he.injectAttribute).callFn([t.token])}function zW(t){let i=!1,e=t.map(n=>{let o=jW(n);return o!==null?(i=!0,o):Ee(null)});return i?ga(oo(e)):Rc}function jW(t){let i=[];return t.attributeNameType!==null&&i.push({key:"attribute",value:t.attributeNameType,quoted:!1}),t.optional&&i.push({key:"optional",value:Ee(!0),quoted:!1}),t.host&&i.push({key:"host",value:Ee(!0),quoted:!1}),t.self&&i.push({key:"self",value:Ee(!0),quoted:!1}),t.skipSelf&&i.push({key:"skipSelf",value:Ee(!0),quoted:!1}),i.length>0?gl(i):null}function XR(t){return t.delegateType!==void 0}function $W(t){return t.expression!==void 0}function HW(t){switch(t){case Td.Component:case Td.Directive:case Td.Pipe:return he.directiveInject;case Td.NgModule:case Td.Injectable:default:return he.inject}}var wu=class{start;end;constructor(i,e){this.start=i,this.end=e}toAbsolute(i){return new zs(i+this.start,i+this.end)}},ho=class{span;sourceSpan;constructor(i,e){this.span=i,this.sourceSpan=e}toString(){return"AST"}},S0=class extends ho{nameSpan;constructor(i,e,n){super(i,e),this.nameSpan=n}},Da=class extends ho{visit(i,e=null){return i.visitEmptyExpr?.(this,e)}},Bc=class extends ho{visit(i,e=null){return i.visitImplicitReceiver(this,e)}},w0=class extends ho{visit(i,e=null){return i.visitThisReceiver?.(this,e)}},cf=class extends ho{expressions;constructor(i,e,n){super(i,e),this.expressions=n}visit(i,e=null){return i.visitChain(this,e)}},Ex=class extends ho{condition;trueExp;falseExp;constructor(i,e,n,o,r){super(i,e),this.condition=n,this.trueExp=o,this.falseExp=r}visit(i,e=null){return i.visitConditional(this,e)}},Ac=class extends S0{receiver;name;constructor(i,e,n,o,r){super(i,e,n),this.receiver=o,this.name=r}visit(i,e=null){return i.visitPropertyRead(this,e)}},M0=class extends S0{receiver;name;constructor(i,e,n,o,r){super(i,e,n),this.receiver=o,this.name=r}visit(i,e=null){return i.visitSafePropertyRead(this,e)}},Mu=class extends ho{receiver;key;constructor(i,e,n,o){super(i,e),this.receiver=n,this.key=o}visit(i,e=null){return i.visitKeyedRead(this,e)}},k0=class extends ho{receiver;key;constructor(i,e,n,o){super(i,e),this.receiver=n,this.key=o}visit(i,e=null){return i.visitSafeKeyedRead(this,e)}},dx=(function(t){return t[t.ReferencedByName=0]="ReferencedByName",t[t.ReferencedDirectly=1]="ReferencedDirectly",t})(dx||{}),Dx=class extends S0{exp;name;args;type;constructor(i,e,n,o,r,a,c){super(i,e,c),this.exp=n,this.name=o,this.args=r,this.type=a}visit(i,e=null){return i.visitPipe(this,e)}},ds=class extends ho{value;constructor(i,e,n){super(i,e),this.value=n}visit(i,e=null){return i.visitLiteralPrimitive(this,e)}},T0= Line truncated
${i.dtd}
]>`}},TFe=new WW;function qW(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}var V6="i18n",xD="i18n-",XW="VAR_";function z6(t){return t===V6||t.startsWith(xD)}function QW(t){return t.attrs.some(i=>z6(i.name))}function j6(t){return t.nodes[0]}function AP(t={},i){let e={};return t&&Object.keys(t).length&&Object.keys(t).forEach(n=>e[fv(n,i)]=t[n]),e}function fv(t,i=!0){let e=qW(t);if(!i)return e;let n=e.split("_");if(n.length===1)return t.toLowerCase();let o;/^\d+$/.test(n[n.length-1])&&(o=n.pop());let r=n.shift().toLowerCase();return n.length&&(r+=n.map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join("")),o?`${r}_${o}`:r}var YW=/[-.]/,OP="_t",Gs="ctx",wf="rf";function $6(t,i){let e=null;return()=>(e||(t(new qr(OP,void 0,hs)),e=si(i)),e)}function Yh(t){return Array.isArray(t)?oo(t.map(Yh)):Ee(t,ec)}function YR(t,i){let e=Object.getOwnPropertyNames(t);return e.length===0?null:gl(e.map(n=>{let o=t[n],r,a,c,m;if(typeof o=="string")r=n,c=n,a=o,m=Yh(a);else{c=n,r=o.classPropertyName,a=o.bindingPropertyName;let p=a!==r,h=o.transformFunction!==null,g=t0.None;if(o.isSignal&&(g|=t0.SignalBased),h&&(g|=t0.HasDecoratorInputTransform),i&&(p||h||g!==t0.None)){let M=[Ee(g),Yh(a)];(p||h)&&(M.push(Yh(r)),h&&M.push(o.transformFunction)),m=oo(M)}else m=Yh(a)}return{key:c,quoted:YW.test(c),value:m}}))}var Bm=class{values=[];set(i,e){if(e){let n=this.values.find(o=>o.key===i);n?n.value=e:this.values.push({key:i,value:e,quoted:!1})}}toLiteralMap(){return gl(this.values)}};function KW(t){let i=t instanceof Vc?t.name:"ng-template",e=ZW(t),n=new of,o=oc(i)[1];return n.setElement(o),Object.getOwnPropertyNames(e).forEach(r=>{let a=oc(r)[1],c=e[r];n.addAttribute(a,c),r.toLowerCase()==="class"&&c.trim().split(/\s+/).forEach(p=>n.addClassName(p))}),n}function ZW(t){let i={};return t instanceof js&&t.tagName!=="ng-template"?t.templateAttrs.forEach(e=>i[e.name]=""):(t.attributes.forEach(e=>{z6(e.name)||(i[e.name]=e.value)}),t.inputs.forEach(e=>{(e.type===Li.Property||e.type===Li.TwoWay)&&(i[e.name]="")}),t.outputs.forEach(e=>{i[e.name]=""})),i}function KR(t,i){let e=null,n={name:t.name,type:t.type,typeArgumentCount:t.typeArgumentCount,deps:[],target:Td.Injectable};if(t.useClass!==void 0){let c=t.useClass.expression.isEquivalent(t.type.value),m;t.deps!==void 0&&(m=t.deps),m!==void 0?e=ou(tt(H({},n),{delegate:t.useClass.expression,delegateDeps:m,delegateType:Tx.Class})):c?e=ou(n):e={statements:[],expression:ZR(t.type.value,t.useClass.expression,i)}}else t.useFactory!==void 0?t.deps!==void 0?e=ou(tt(H({},n),{delegate:t.useFactory,delegateDeps:t.deps||[],delegateType:Tx.Function})):e={statements:[],expression:Us([],t.useFactory.callFn([]))}:t.useValue!==void 0?e=ou(tt(H({},n),{expression:t.useValue.expression})):t.useExisting!==void 0?e=ou(tt(H({},n),{expression:Zt(he.inject).callFn([t.useExisting.expression])})):e={statements:[],expression:ZR(t.type.value,t.type.value,i)};let o=t.type.value,r=new Bm;return r.set("token",o),r.set("factory",e.expression),t.providedIn.expression.value!==null&&r.set("providedIn",FW(t.providedIn)),{expression:Zt(he.\u0275\u0275defineInjectable).callFn([r.toLiteralMap()],void 0,!0),type:JW(t),statements:e.statements}}function JW(t){return new fl(Zt(he.InjectableDeclaration,[S1(t.type.type,t.typeArgumentCount)]))}function ZR(t,i,e){if(t.node===i.node)return i.prop("\u0275fac");if(!e)return JR(i);let n=Zt(he.resolveForwardRef).callFn([i]);return JR(n)}function JR(t){let i=new Ir("__ngFactoryType__",hs);return Us([i],t.prop("\u0275fac").callFn([si(i.name)]))}var ia=0,eq=8,NP=9,uu=10,H6=11,U6=12,RP=13,G6=32,yD=33,G0=34,W6=35,M1=36,tq=37,Ux=38,W0=39,qa=40,Pr=41,eF=42,q6=43,Pa=44,Gx=45,nu=46,ll=47,Pc=58,ms=59,nf=60,ta=61,Bs=62,tF=63,FP=48,nq=55,X6=57,Um=65,iq=69,oq=70,rq=88,Mf=90,Oc=91,hu=92,Ed=93,aq=94,Gm=95,Eu=97,sq=98,lq=101,LP=102,Q6=110,Y6=114,K6=116,Z6=117,J6=118,eL=120,gv=122,ml=123,nF=124,Ga=125,tL=160,jh=64,SD=96;function q0(t){return t>=NP&&t<=G6||t==tL}function cl(t){return FP<=t&&t<=X6}function Vm(t){return t>=Eu&&t<=gv||t>=Um&&t<=Mf}function cq(t){return t>=Eu&&t<=LP||t>=Um&&t<=oq||cl(t)}function Wx(t){return t===uu||t===RP}function iF(t){return FP<=t&&t<=nq}function c0(t){return t===W0||t===G0||t===SD}var X0=class t{file;offset;line;col;constructor(i,e,n,o){this.file=i,this.offset=e,this.line=n,this.col=o}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(i){let e=this.file.content,n=e.length,o=this.offset,r=this.line,a=this.col;for(;o>0&&i<0;)if(o--,i++,e.charCodeAt(o)==uu){r--;let m=e.substring(0,o-1).lastIndexOf(String.fromCharCode(uu));a=m>0?o-m:o}else a--;for(;o<n&&i>0;){let c=e.charCodeAt(o);o++,i--,c==uu?(r++,a=0):a++}return new t(this.file,o,r,a)}getContext(i,e){let n=this.file.content,o=this.offset;if(o!=null){o>n.length-1&&(o=n.length-1);let r=o,a=0,c=0;for(;a<i&&o>0&&(o--,a++,!(n[o]==`
`&&++c==e)););for(a=0,c=0;a<i&&r<n.length-1&&(r++,a++,!(n[r]==`
`&&++c==e)););return{before:n.substring(o,this.offset),after:n.substring(this.offset,r+1)}}return null}},qx=class{content;url;constructor(i,e){this.content=i,this.url=e}},bn=class{start;end;fullStart;details;constructor(i,e,n=i,o=null){this.start=i,this.end=e,this.fullStart=n,this.details=o}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}},Pm=(function(t){return t[t.WARNING=0]="WARNING",t[t.ERROR=1]="ERROR",t})(Pm||{}),mn=class extends Error{span;msg;level;relatedError;constructor(i,e,n=Pm.ERROR,o){super(e),this.span=i,this.msg=e,this.level=n,this.relatedError=o,Object.setPrototypeOf(this,new.target.prototype)}contextualMessage(){let i=this.span.start.getContext(100,3);return i?`${this.msg} ("${i.before}[${Pm[this.level]} ->]${i.after}")`:this.msg}toString(){let i=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${i}`}};function dq(t,i,e){let n=`in ${t} ${i} in ${e}`,o=new qx("",n);return new bn(new X0(o,-1,-1,-1),new X0(o,-1,-1,-1))}var mq=0;function pq(t){if(!t||!t.reference)return null;let i=t.reference;if(i.__anonymousType)return i.__anonymousType;if(i.__forward_ref__)return"__forward_ref__";let e=R6(i);return e.indexOf("(")>=0?(e=`anonymous_${mq++}`,i.__anonymousType=e):e=ru(e),e}function ru(t){return t.replace(/\W/g,"_")}var oF='(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})',wD=class extends aD{constructor(){super(!1)}visitWrappedNodeExpr(i,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")}visitDeclareVarStmt(i,e){return e.print(i,`var ${i.name}`),i.value&&(e.print(i," = "),i.value.visitExpression(this,e)),e.println(i,";"),null}visitTaggedTemplateLiteralExpr(i,e){let n=i.template.elements;return i.tag.visitExpression(this,e),e.print(i,`(${oF}(`),e.print(i,`[${n.map(o=>su(o.text,!1)).join(", ")}], `),e.print(i,`[${n.map(o=>su(o.rawText,!1)).join(", ")}])`),i.template.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let n=0;n<i.elements.length;n++){i.elements[n].visitExpression(this,e);let o=n<i.expressions.length?i.expressions[n]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){return e.print(i,i.rawText),null}visitFunctionExpr(i,e){return e.print(i,`function${i.name?" "+i.name:""}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.print(i,"}"),null}visitArrowFunctionExpr(i,e){if(e.print(i,"("),this._visitParams(i.params,e),e.print(i,") =>"),Array.isArray(i.body))e.println(i,"{"),e.incIndent(),this.visitAllStatements(i.body,e),e.decIndent(),e.print(i,"}");else{let n=i.body instanceof ic;n&&e.print(i,"("),i.body.visitExpression(this,e),n&&e.print(i,")")}return null}visitDeclareFunctionStmt(i,e){return e.print(i,`function ${i.name}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.println(i,"}"),null}visitLocalizedString(i,e){e.print(i,`$localize(${oF}(`);let n=[i.serializeI18nHead()];for(let o=1;o<i.messageParts.length;o++)n.push(i.serializeI18nTemplatePart(o));return e.print(i,`[${n.map(o=>su(o.cooked,!1)).join(", ")}], `),e.print(i,`[${n.map(o=>su(o.raw,!1)).join(", ")}])`),i.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}_visitParams(i,e){this.visitAllObjects(n=>e.print(null,n.name),i,e,",")}},ZC;function uq(){if(ZC===void 0){let t=s0.trustedTypes;if(ZC=null,t)try{ZC=t.createPolicy("angular#unsafe-jit",{createScript:i=>i})}catch{}}return ZC}function hq(t){return uq()?.createScript(t)||t}function rF(...t){if(!s0.trustedTypes)return new Function(...t);let i=t.slice(0,-1).join(","),e=t[t.length-1],n=`(function anonymous(${i}
) { ${e}
})`,o=s0.eval(hq(n));return o.bind===void 0?new Function(...t):(o.toString=()=>n,o.bind(s0))}var MD=class{evaluateStatements(i,e,n,o){let r=new kD(n),a=rD.createRoot();return e.length>0&&!fq(e[0])&&(e=[Ee("use strict").toStmt(),...e]),r.visitAllStatements(e,a),r.createReturnStmt(a),this.evaluateCode(i,a,r.getArgs(),o)}evaluateCode(i,e,n,o){let r=`"use strict";${e.toSource()}
//# sourceURL=${i}`,a=[],c=[];for(let p in n)c.push(n[p]),a.push(p);if(o){let p=rF(...a.concat("return null;")).toString(),h=p.slice(0,p.indexOf("return null;")).split(`
`).length-1;r+=`
${e.toSourceMapGenerator(i,h).toJsComment()}`}let m=rF(...a.concat(r));return this.executeFunction(m,c)}executeFunction(i,e){return i(...e)}},kD=class extends wD{refResolver;_evalArgNames=[];_evalArgValues=[];_evalExportedVars=[];constructor(i){super(),this.refResolver=i}createReturnStmt(i){new Ar(new ic(this._evalExportedVars.map(n=>new sf(n,si(n),!1)))).visitStatement(this,i)}getArgs(){let i={};for(let e=0;e<this._evalArgNames.length;e++)i[this._evalArgNames[e]]=this._evalArgValues[e];return i}visitExternalExpr(i,e){return this._emitReferenceToExternal(i,this.refResolver.resolveExternalReference(i.value),e),null}visitWrappedNodeExpr(i,e){return this._emitReferenceToExternal(i,i.node,e),null}visitDeclareVarStmt(i,e){return i.hasModifier(fa.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareVarStmt(i,e)}visitDeclareFunctionStmt(i,e){return i.hasModifier(fa.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareFunctionStmt(i,e)}_emitReferenceToExternal(i,e,n){let o=this._evalArgValues.indexOf(e);if(o===-1){o=this._evalArgValues.length,this._evalArgValues.push(e);let r=pq({reference:e})||"val";this._evalArgNames.push(`jit_${r}_${o}`)}n.print(i,this._evalArgNames[o])}};function fq(t){return t.isEquivalent(Ee("use strict").toStmt())}function aF(t){let i=new Bm;t.providers!==null&&i.set("providers",t.providers),t.imports.length>0&&i.set("imports",oo(t.imports));let e=Zt(he.defineInjector).callFn([i.toLiteralMap()],void 0,!0),n=gq(t);return{expression:e,type:n,statements:[]}}function gq(t){return new fl(Zt(he.InjectorDeclaration,[new fl(t.type.type)]))}var TD=class{context;constructor(i){this.context=i}resolveExternalReference(i){if(i.moduleName!=="@angular/core")throw new Error(`Cannot resolve external reference to ${i.moduleName}, only references to @angular/core are supported.`);if(!this.context.hasOwnProperty(i.name))throw new Error(`No value provided for @angular/core symbol '${i.name}'.`);return this.context[i.name]}},Xx=(function(t){return t[t.Inline=0]="Inline",t[t.SideEffect=1]="SideEffect",t[t.Omit=2]="Omit",t})(Xx||{}),Im=(function(t){return t[t.Global=0]="Global",t[t.Local=1]="Local",t})(Im||{});function _q(t){let i=[],e=new Bm;if(e.set("type",t.type.value),t.kind===Im.Global&&t.bootstrap.length>0&&e.set("bootstrap",lu(t.bootstrap,t.containsForwardDecls)),t.selectorScopeMode===Xx.Inline)t.declarations.length>0&&e.set("declarations",lu(t.declarations,t.containsForwardDecls)),t.imports.length>0&&e.set("imports",lu(t.imports,t.containsForwardDecls)),t.exports.length>0&&e.set("exports",lu(t.exports,t.containsForwardDecls));else if(t.selectorScopeMode===Xx.SideEffect){let r=Cq(t);r!==null&&i.push(r)}t.schemas!==null&&t.schemas.length>0&&e.set("schemas",oo(t.schemas.map(r=>r.value))),t.id!==null&&(e.set("id",t.id),i.push(Zt(he.registerNgModuleType).callFn([t.type.value,t.id]).toStmt()));let n=Zt(he.defineNgModule).callFn([e.toLiteralMap()],void 0,!0),o=bq(t);return{expression:n,type:o,statements:i}}function vq(t){let i=new Bm;return i.set("type",new gi(t.type)),t.bootstrap!==void 0&&i.set("bootstrap",new gi(t.bootstrap)),t.declarations!==void 0&&i.set("declarations",new gi(t.declarations)),t.imports!==void 0&&i.set("imports",new gi(t.imports)),t.exports!==void 0&&i.set("exports",new gi(t.exports)),t.schemas!==void 0&&i.set("schemas",new gi(t.schemas)),t.id!==void 0&&i.set("id",new gi(t.id)),Zt(he.defineNgModule).callFn([i.toLiteralMap()])}function bq(t){if(t.kind===Im.Local)return new fl(t.type.value);let{type:i,declarations:e,exports:n,imports:o,includeImportTypes:r,publicDeclarationTypes:a}=t;return new fl(Zt(he.NgModuleDeclaration,[new fl(i.type),a===null?PE(e):xq(a),r?PE(o):Rc,PE(n)]))}function Cq(t){let i=new Bm;if(t.kind===Im.Global?t.declarations.length>0&&i.set("declarations",lu(t.declarations,t.containsForwardDecls)):t.declarationsExpression&&i.set("declarations",t.declarationsExpression),t.kind===Im.Global?t.imports.length>0&&i.set("imports",lu(t.imports,t.containsForwardDecls)):t.importsExpression&&i.set("imports",t.importsExpression),t.kind===Im.Global?t.exports.length>0&&i.set("exports",lu(t.exports,t.containsForwardDecls)):t.exportsExpression&&i.set("exports",t.exportsExpression),t.kind===Im.Local&&t.bootstrapExpression&&i.set("bootstrap",t.bootstrapExpression),Object.keys(i.values).length===0)return null;let e=new fs(Zt(he.setNgModuleScope),[t.type.value,i.toLiteralMap()]),n=NW(e),o=new Am([],[n.toStmt()]);return new fs(o,[]).toStmt()}function PE(t){let i=t.map(e=>uv(e.type));return t.length>0?ga(oo(i)):Rc}function xq(t){let i=t.map(e=>uv(e));return t.length>0?ga(oo(i)):Rc}function sF(t){let i=[];i.push({key:"name",value:Ee(t.pipeName??t.name),quoted:!1}),i.push({key:"type",value:t.type.value,quoted:!1}),i.push({key:"pure",value:Ee(t.pure),quoted:!1}),t.isStandalone===!1&&i.push({key:"standalone",value:Ee(!1),quoted:!1});let e=Zt(he.definePipe).callFn([gl(i)],void 0,!0),n=yq(t);return{expression:e,type:n,statements:[]}}function yq(t){return new fl(Zt(he.PipeDeclarati Line truncated
`+o,i.trim()}_extractUnscopedRulesFromCssText(i){let e="",n;for(lF.lastIndex=0;(n=lF.exec(i))!==null;){let o=n[0].replace(n[2],"").replace(n[1],n[4]);e+=o+`
`}return e}_convertColonHost(i){return i.replace(Iq,(e,n,o)=>{if(n){let r=[];for(let a of this._splitOnTopLevelCommas(n,!0)){let c=a.trim();if(!c)break;let m=Tm+c.replace(Qx,"")+o;r.push(m)}return r.join(",")}else return Tm+o})}*_splitOnTopLevelCommas(i,e){let n=i.length,o=0,r=0;for(let a=0;a<n;a++){let c=i.charCodeAt(a);if(c===qa)o++;else if(c===Pr){if(o--,o<0&&e){yield i.slice(r,a);return}}else c===Pa&&o===0&&(yield i.slice(r,a),r=a+1)}yield i.slice(r)}_convertColonHostContext(i){let e=[];for(let n of this._splitOnTopLevelCommas(i,!1))e.push(this._convertColonHostContextInSelectorPart(n));return e.join(",")}_convertColonHostContextInSelectorPart(i){return i.replace(Oq,(e,n)=>{let o=[[]],r=e.indexOf(qh);for(;r!==-1;){let a=e.substring(r+qh.length);if(!a||a[0]!=="("){e=a,r=e.indexOf(qh);continue}let c=[],m=0;for(let h of this._splitOnTopLevelCommas(a.substring(1),!0)){m=m+h.length+1;let g=h.trim();g&&c.push(g)}let p=o.length;Jq(o,c.length);for(let h=0;h<c.length;h++)for(let g=0;g<p;g++)o[g+h*p].push(c[h]);e=a.substring(m+1),r=e.indexOf(qh)}return o.map(a=>Zq(a,e,n)).join(", ")})}_convertShadowDOMSelectors(i){return Rq.reduce((e,n)=>e.replace(n," "),i)}_scopeSelectors(i,e,n){return JC(i,o=>{let r=o.selector,a=o.content;return o.selector[0]!=="@"?r=this._scopeSelector({selector:r,scopeSelector:e,hostSelector:n,isParentSelector:!0}):wq.some(c=>o.selector.startsWith(c))?a=this._scopeSelectors(o.content,e,n):(o.selector.startsWith("@font-face")||o.selector.startsWith("@page"))&&(a=this._stripScopingSelectors(o.content)),new Q0(r,a)})}_stripScopingSelectors(i){return JC(i,e=>{let n=e.selector.replace(cF," ").replace(IE," ");return new Q0(n,e.content)})}_safeSelector;_shouldScopeIndicator;_scopeSelector({selector:i,scopeSelector:e,hostSelector:n,isParentSelector:o=!1}){let r=/ ?,(?!(?:[^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\))) ?/;return i.split(r).map(a=>a.split(cF)).map(a=>{let[c,...m]=a;return[(h=>this._selectorNeedsScoping(h,e)?this._applySelectorScope({selector:h,scopeSelector:e,hostSelector:n,isParentSelector:o}):h)(c),...m].join(" ")}).join(", ")}_selectorNeedsScoping(i,e){return!this._makeScopeMatcher(e).test(i)}_makeScopeMatcher(i){let e=/\[/g,n=/\]/g;return i=i.replace(e,"\\[").replace(n,"\\]"),new RegExp("^("+i+")"+Fq,"m")}_applySimpleSelectorScope(i,e,n){if(Kh.lastIndex=0,Kh.test(i)){let o=`[${n}]`,r=i;for(;r.match(IE);)r=r.replace(IE,(a,c)=>c.replace(/([^:\)]*)(:*)(.*)/,(m,p,h,g)=>p+o+h+g));return r.replace(Kh,o)}return e+" "+i}_applySelectorScope({selector:i,scopeSelector:e,hostSelector:n,isParentSelector:o}){let r=/\[is=([^\]]*)\]/g;e=e.replace(r,(w,...S)=>S[0]);let a=`[${e}]`,c=w=>{let S=w.trim();if(!S)return w;if(w.includes(Tm)){if(S=this._applySimpleSelectorScope(w,e,n),!w.match(Nq)){let[y,k,I,E]=S.match(/([^:]*)(:*)([\s\S]*)/);S=k+a+I+E}}else{let y=w.replace(Kh,"");if(y.length>0){let k=y.match(/([^:]*)(:*)([\s\S]*)/);k&&(S=k[1]+a+k[2]+k[3])}}return S},m=w=>{let S="",y=[],k;for(;(k=q_.exec(w))!==null;){let I=1,E=q_.lastIndex;for(;E<w.length;){let N=w[E];if(E++,N==="("){I++;continue}if(N===")"){if(I--,I===0)break;continue}}y.push(`${k[0]}${w.slice(q_.lastIndex,E)}`),q_.lastIndex=E}return y.join("")===w?S=y.map(I=>{let[E]=I.match(q_)??[],N=I.slice(E?.length,-1);N.includes(Tm)&&(this._shouldScopeIndicator=!0);let T=this._scopeSelector({selector:N,scopeSelector:e,hostSelector:n});return`${E}${T})`}).join(""):(this._shouldScopeIndicator=this._shouldScopeIndicator||w.includes(Tm),S=this._shouldScopeIndicator?c(w):w),S};o&&(this._safeSelector=new DD(i),i=this._safeSelector.content());let p="",h=0,g,M=/( |>|\+|~(?!=))(?!([^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\)))\s*/g,C=i.includes(Tm);for((o||this._shouldScopeIndicator)&&(this._shouldScopeIndicator=!C);(g=M.exec(i))!==null;){let w=g[1],S=i.slice(h,g.index);if(S.match(/__esc-ph-(\d+)__/)&&i[g.index+1]?.match(/[a-fA-F\d]/))continue;let y=m(S);p+=`${y} ${w} `,h=M.lastIndex}let _=i.substring(h);return p+=m(_),this._safeSelector.restore(p)}_insertPolyfillHostInCssText(i){return i.replace(Bq,qh).replace(Lq,Qx)}},DD=class{placeholders=[];index=0;_content;constructor(i){i=this._escapeRegexMatches(i,/(\[[^\]]*\])/g),i=i.replace(/(\\.)/g,(e,n)=>{let o=`__esc-ph-${this.index}__`;return this.placeholders.push(n),this.index++,o}),this._content=i.replace(Pq,(e,n,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(`(${o})`),this.index++,n+r})}restore(i){return i.replace(/__(?:ph|esc-ph)-(\d+)__/g,(e,n)=>this.placeholders[+n])}content(){return this._content}_escapeRegexMatches(i,e){return i.replace(e,(n,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(o),this.index++,r})}},Mq="(:(where|is)\\()?",q_=/:(where|is)\(/gi,kq=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Tq=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,lF=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Qx="-shadowcsshost",qh="-shadowcsscontext",PD Line truncated
`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nbsp:"\xA0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226F",ngt:"\u226F",ngtr:"\u226F",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",nGtv:"\u226B\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224E\u0338",nbump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",nbumpe:"\u224F\u0338",NotLeftTriangle:"\u22EA",nltri:"\u22EA",ntriangleleft:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",nltrie:"\u22EC",ntrianglelefteq:"\u22EC",NotLess:"\u226E",nless:"\u226E",nlt:"\u226E",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226A\u0338",nLtv:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",npre:"\u2AAF\u0338",npreceq:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",nprcue:"\u22E0",NotReverseElement:"\u220C",notni:"\u220C",notniva:"\u220C",NotRightTriangle:"\u22EB",nrtri:"\u22EB",ntriangleright:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",nrtrie:"\u22ED",ntrianglerighteq:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",nsqsube:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",nsqsupe:"\u22E3",NotSubset:"\u2282\u20D2",nsubset:"\u2282\u20D2",vnsub:"\u2282\u20D2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",nsce:"\u2AB0\u0338",nsucceq:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",nsccue:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",nsupset:"\u2283\u20D2",vnsup:"\u2283\u20D2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",ohm:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",ldquo:"\u201C",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",oline:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",tbrk:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",part:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",plusmn:"\xB1",pm:"\xB1",Popf:"\u2119",primes:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",pr:"\u227A",prec:"\u227A",PrecedesEqual:"\u2AAF",pre:"\u2AAF",preceq:"\u2AAF",PrecedesSlantEqual:"\u227C",prcue:"\u227C",preccurlyeq:"\u227C",PrecedesTilde:"\u227E",precsim:"\u227E",prsim:"\u227E",Prime:"\u2033",Product:"\u220F",prod:"\u220F",Proportional:"\u221D",prop:"\u221D",propto:"\u221D",varpropto:"\u221D",vprop:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',quot:'"',Qfr:"\u{1D514}",Qopf:"\u211A",rationals:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xAE",circledR:"\xAE",reg:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",twoheadrightarrow:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",Rfr:"\u211C",real:"\u211C",realpart:"\u211C",ReverseElement:"\u220B",SuchThat:"\u220B",ni:"\u220B",niv:"\u220B",ReverseEquilibrium:"\u21CB",leftrightharpoons:"\u21CB",lrhar:"\u21CB",ReverseUpEquilibrium:"\u296F",duhar:"\u296F",Rho:"\u03A1",RightAngleBracket:"\u27E9",rang:"\u27E9",rangle:"\u27E9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21E5",rarrb:"\u21E5",RightArrowLeftArrow:"\u21C4",rightleftarrows:"\u21C4",rlarr:"\u21C4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27E7",robrk:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",dharr:"\u21C2",downharpoonright:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rfloor:"\u230B",RightTee:"\u22A2",vdash:"\u22A2",RightTeeArrow:"\u21A6",map:"\u21A6",mapsto:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",vartriangleright:"\u22B3",v Line truncated
`)}tokenize(){for(;this._cursor.peek()!==ia;){let i=this._cursor.clone();try{this._attemptCharCode(nf)?this._attemptCharCode(yD)?this._attemptCharCode(Oc)?this._consumeCdata(i):this._attemptCharCode(Gx)?this._consumeComment(i):this._consumeDocType(i):this._attemptCharCode(ll)?this._consumeTagClose(i):this._consumeTagOpen(i):this._tokenizeLet&&this._cursor.peek()===jh&&!this._inInterpolation&&this._isLetStart()?this._consumeLetDeclaration(i):this._tokenizeBlocks&&this._isBlockStart()?this._consumeBlockStart(i):this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansionCase()&&!this._isInExpansionForm()&&this._attemptCharCode(Ga)?this._consumeBlockEnd(i):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,()=>this._isTextEnd(),()=>this._isTagStart())}catch(e){this.handleError(e)}}this._beginToken(41),this._endToken([])}_getBlockName(){let i=!1,e=this._cursor.clone();return this._attemptCharCodeUntilFn(n=>q0(n)?!i:QQ(n)?(i=!0,!1):!0),this._cursor.getChars(e).trim()}_consumeBlockStart(i){this._requireCharCode(jh),this._beginToken(24,i);let e=this._endToken([this._getBlockName()]);if(e.parts[0]==="default never"&&this._attemptCharCode(ms)){this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([]);return}if(this._cursor.peek()===qa)if(this._cursor.advance(),this._consumeBlockParameters(),this._attemptCharCodeUntilFn(Wo),this._attemptCharCode(Pr))this._attemptCharCodeUntilFn(Wo);else{e.type=28;return}this._attemptCharCode(ml)?(this._beginToken(25),this._endToken([])):this._isBlockStart()&&(e.parts[0]==="case"||e.parts[0]==="default")?(this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([])):e.type=28}_consumeBlockEnd(i){this._beginToken(26,i),this._endToken([])}_consumeBlockParameters(){for(this._attemptCharCodeUntilFn(TF);this._cursor.peek()!==Pr&&this._cursor.peek()!==ia;){this._beginToken(27);let i=this._cursor.clone(),e=null,n=0;for(;this._cursor.peek()!==ms&&this._cursor.peek()!==ia||e!==null;){let o=this._cursor.peek();if(o===hu)this._cursor.advance();else if(o===e)e=null;else if(e===null&&c0(o))e=o;else if(o===qa&&e===null)n++;else if(o===Pr&&e===null){if(n===0)break;n>0&&n--}this._cursor.advance()}this._endToken([this._cursor.getChars(i)]),this._attemptCharCodeUntilFn(TF)}}_consumeLetDeclaration(i){if(this._requireStr("@let"),this._beginToken(29,i),q0(this._cursor.peek()))this._attemptCharCodeUntilFn(Wo);else{let o=this._endToken([this._cursor.getChars(i)]);o.type=32;return}let e=this._endToken([this._getLetDeclarationName()]);if(this._attemptCharCodeUntilFn(Wo),!this._attemptCharCode(ta)){e.type=32;return}this._attemptCharCodeUntilFn(o=>Wo(o)&&!Wx(o)),this._consumeLetDeclarationValue(),this._cursor.peek()===ms?(this._beginToken(31),this._endToken([]),this._cursor.advance()):(e.type=32,e.sourceSpan=this._cursor.getSpan(i))}_getLetDeclarationName(){let i=this._cursor.clone(),e=!1;return this._attemptCharCodeUntilFn(n=>Vm(n)||n===M1||n===Gm||e&&cl(n)?(e=!0,!1):!0),this._cursor.getChars(i).trim()}_consumeLetDeclarationValue(){let i=this._cursor.clone();for(this._beginToken(30,i);this._cursor.peek()!==ia;){let e=this._cursor.peek();if(e===ms)break;c0(e)&&(this._cursor.advance(),this._attemptCharCodeUntilFn(n=>n===hu?(this._cursor.advance(),!1):n===e)),this._cursor.advance()}this._endToken([this._cursor.getChars(i)])}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(qQ(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===Ga){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(i,e=this._cursor.clone()){this._currentTokenStart=e,this._currentTokenType=i}_endToken(i,e){if(this._currentTokenStart===null)throw new mn(this._cursor.getSpan(e),"Programming error - attempted to end a token when there was no start to the token");if(this._currentTokenType===null)throw new mn(this._cursor.getSpan(this._currentTokenStart),"Programming error - attempted to end a token which has no token type");let n={type:this._currentTokenType,parts:i,sourceSpan:(e??this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(n),this._currentTokenStart=null,this._currentTokenType=null,n}_createError(i,e){this._isInExpansionForm()&&(i+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let n=new mn(e,i);return this._currentTokenStart=null,this._currentTokenType=null,n}handleError(i){if(i instanceof sv&&(i=this._createError(i.msg,this._cursor.getSpan(i.cursor))),i instanceof mn)this.errors.push(i);else throw i}_attemptCharCode(i){return this._cursor.peek()===i?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(i){return XQ(this._cursor.peek(),i)?(this._cursor.advance(),!0):!1}_requireCharCode(i){let e=this._cursor.clone();if(!this._attemptCharCode(i Line truncated
`){let r=this._getContainer();r!=null&&r.children.length===0&&this._getTagDefinition(r)?.ignoreFirstLf&&(o=o.substring(1),e[0]={type:i.type,sourceSpan:i.sourceSpan,parts:[o]})}for(;this._peek.type===8||this._peek.type===5||this._peek.type===9;)i=this._advance(),e.push(i),i.type===8?o+=i.parts.join("").replace(/&([^;]+);/g,IF):i.type===9?o+=i.parts[0]:o+=i.parts.join("");if(o.length>0){let r=i.sourceSpan;this._addToParent(new Ou(o,new bn(n.start,r.end,n.fullStart,n.details),e))}}_closeVoidElement(){let i=this._getContainer();i!==null&&this._getTagDefinition(i)?.isVoid&&this._containerStack.pop()}_consumeElementStartTag(i){let e=[],n=[];this._consumeAttributesAndDirectives(e,n);let o=this._getElementFullName(i,this._getClosestElementLikeParent()),r=this._getTagDefinition(o),a=!1;this._peek.type===2?(this._advance(),a=!0,r?.canSelfClose||mD(o)!==null||r?.isVoid||this.errors.push(Sr.create(o,i.sourceSpan,`Only void, custom and foreign elements can be self closed "${i.parts[1]}"`))):this._peek.type===1&&(this._advance(),a=!1);let c=this._peek.sourceSpan.fullStart,m=new bn(i.sourceSpan.start,c,i.sourceSpan.fullStart),p=new bn(i.sourceSpan.start,c,i.sourceSpan.fullStart),h=new sl(o,e,n,[],a,m,p,void 0,r?.isVoid??!1),g=this._getContainer(),M=g!==null&&!!this._getTagDefinition(g)?.isClosedByChild(h.name);this._pushContainer(h,M),a?this._popContainer(o,sl,m):i.type===4&&(this._popContainer(o,sl,null),this.errors.push(Sr.create(o,m,`Opening tag "${o}" not terminated.`)))}_consumeComponentStartTag(i){let e=i.parts[0],n=[],o=[];this._consumeAttributesAndDirectives(n,o);let r=this._getClosestElementLikeParent(),a=this._getComponentTagName(i,r),c=this._getComponentFullName(i,r),m=this._peek.type===35;this._advance();let p=this._peek.sourceSpan.fullStart,h=new bn(i.sourceSpan.start,p,i.sourceSpan.fullStart),g=new bn(i.sourceSpan.start,p,i.sourceSpan.fullStart),M=new Ua(e,a,c,n,o,[],m,h,g,void 0),C=this._getContainer(),_=C!==null&&M.tagName!==null&&!!this._getTagDefinition(C)?.isClosedByChild(M.tagName);this._pushContainer(M,_),m?this._popContainer(c,Ua,h):i.type===37&&(this._popContainer(c,Ua,null),this.errors.push(Sr.create(c,h,`Opening tag "${c}" not terminated.`)))}_consumeAttributesAndDirectives(i,e){for(;this._peek.type===14||this._peek.type===38;)this._peek.type===38?e.push(this._consumeDirective(this._peek)):i.push(this._consumeAttr(this._advance()))}_consumeComponentEndTag(i){let e=this._getComponentFullName(i,this._getClosestElementLikeParent());if(!this._popContainer(e,Ua,i.sourceSpan)){let n=this._containerStack[this._containerStack.length-1],o;n instanceof Ua&&n.componentName===i.parts[0]?o=`, did you mean "${n.fullName}"?`:o=". It may happen when the tag has already been closed by another tag.";let r=`Unexpected closing tag "${e}"${o}`;this.errors.push(Sr.create(e,i.sourceSpan,r))}}_getTagDefinition(i){return typeof i=="string"?this.tagDefinitionResolver(i):i instanceof sl?this.tagDefinitionResolver(i.name):i instanceof Ua&&i.tagName!==null?this.tagDefinitionResolver(i.tagName):null}_pushContainer(i,e){e&&this._containerStack.pop(),this._addToParent(i),this._containerStack.push(i)}_consumeElementEndTag(i){let e=this._getElementFullName(i,this._getClosestElementLikeParent());if(this._getTagDefinition(e)?.isVoid)this.errors.push(Sr.create(e,i.sourceSpan,`Void elements do not have end tags "${i.parts[1]}"`));else if(!this._popContainer(e,sl,i.sourceSpan)){let n=`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this.errors.push(Sr.create(e,i.sourceSpan,n))}}_popContainer(i,e,n){let o=!1;for(let r=this._containerStack.length-1;r>=0;r--){let a=this._containerStack[r];if(((a instanceof Ua?a.fullName:a.name)===i||i===null)&&a instanceof e)return a.endSourceSpan=n,a.sourceSpan.end=n!==null?n.end:a.sourceSpan.end,this._containerStack.splice(r,this._containerStack.length-r),!o;(a instanceof dl||!this._getTagDefinition(a)?.closedByParent)&&(o=!0)}return!1}_consumeAttr(i){let e=mx(i.parts[0],i.parts[1]),n=i.sourceSpan.end;this._peek.type===15&&this._advance();let o="",r=[],a,c;if(this._peek.type===16)for(a=this._peek.sourceSpan,c=this._peek.sourceSpan.end;this._peek.type===16||this._peek.type===17||this._peek.type===9;){let h=this._advance();r.push(h),h.type===17?o+=h.parts.join("").replace(/&([^;]+);/g,IF):h.type===9?o+=h.parts[0]:o+=h.parts.join(""),c=n=h.sourceSpan.end}this._peek.type===15&&(n=this._advance().sourceSpan.end);let p=a&&c&&new bn(a.start,c,a.fullStart);return new zD(e,o,new bn(i.sourceSpan.start,n,i.sourceSpan.fullStart),i.sourceSpan,p,r.length>0?r:void 0,void 0)}_consumeDirective(i){let e=[],n=i.sourceSpan.end,o=null;if(this._advance(),this._peek.type===39){for(n=this._peek.sourceSpan.end,this._advance();this._peek.type===14;)e.push(this._consumeAttr(this._advance()));this._peek.type===40?(o=this._peek.sourceSpan,this._advance()):this.errors.push(Sr.creat Line truncated
\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,ZQ=new RegExp(`[^${wL}]`),JQ=new RegExp(`[${wL}]{2,}`,"g");function OF(t){return t.some(i=>i.name===SL)}function ML(t){return t.replace(new RegExp(yL,"g")," ")}var m1=class{preserveSignificantWhitespace;originalNodeMap;requireContext;icuExpansionDepth=0;constructor(i,e,n=!0){this.preserveSignificantWhitespace=i,this.originalNodeMap=e,this.requireContext=n}visitElement(i,e){if(AF.has(i.name)||OF(i.attrs)){let o=new sl(i.name,kc(this,i.attrs),kc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(o,i),o}let n=new sl(i.name,i.attrs,i.directives,kc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(n,i),n}visitAttribute(i,e){return i.name!==SL?i:null}visitText(i,e){let n=i.value.match(ZQ),o=e&&(e.prev instanceof fu||e.next instanceof fu);if(this.icuExpansionDepth>0&&this.preserveSignificantWhitespace)return i;if(n||o){let a=i.tokens.map(h=>h.type===5?iY(h):h);if(!this.preserveSignificantWhitespace&&a.length>0){let h=a[0];a.splice(0,1,eY(h,e));let g=a[a.length-1];a.splice(a.length-1,1,tY(g,e))}let c=TL(i.value),m=this.preserveSignificantWhitespace?c:nY(c,e),p=new Ou(m,i.sourceSpan,a,i.i18n);return this.originalNodeMap?.set(p,i),p}return null}visitComment(i,e){return i}visitExpansion(i,e){this.icuExpansionDepth++;let n;try{n=new fu(i.switchValue,i.type,kc(this,i.cases),i.sourceSpan,i.switchValueSourceSpan,i.i18n)}finally{this.icuExpansionDepth--}return this.originalNodeMap?.set(n,i),n}visitExpansionCase(i,e){let n=new a1(i.value,kc(this,i.expression),i.sourceSpan,i.valueSourceSpan,i.expSourceSpan);return this.originalNodeMap?.set(n,i),n}visitBlock(i,e){let n=new dl(i.name,i.parameters,kc(this,i.children),i.sourceSpan,i.nameSpan,i.startSourceSpan,i.endSourceSpan);return this.originalNodeMap?.set(n,i),n}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitComponent(i,e){if(i.tagName&&AF.has(i.tagName)||OF(i.attrs)){let o=new Ua(i.componentName,i.tagName,i.fullName,kc(this,i.attrs),kc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(o,i),o}let n=new Ua(i.componentName,i.tagName,i.fullName,i.attrs,i.directives,kc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(n,i),n}visitDirective(i,e){return i}visit(i,e){if(this.requireContext&&!e)throw new Error("WhitespaceVisitor requires context. Visit via `visitAllWithSiblings` to get this context.");return!1}};function eY(t,i){return t.type!==5||!!i?.prev?t:kL(t,n=>n.trimStart())}function tY(t,i){return t.type!==5||!!i?.next?t:kL(t,n=>n.trimEnd())}function nY(t,i){let e=!i?.prev,n=!i?.next,o=e?t.trimStart():t;return n?o.trimEnd():o}function iY({type:t,parts:i,sourceSpan:e}){return{type:t,parts:[TL(i[0])],sourceSpan:e}}function kL({type:t,parts:i,sourceSpan:e},n){return{type:t,parts:[n(i[0])],sourceSpan:e}}function TL(t){return ML(t).replace(JQ," ")}function kc(t,i){let e=[];return i.forEach((n,o)=>{let r={prev:i[o-1],next:i[o+1]},a=n.visit(t,r);a&&e.push(a)}),e}var _n=(function(t){return t[t.Character=0]="Character",t[t.Identifier=1]="Identifier",t[t.PrivateIdentifier=2]="PrivateIdentifier",t[t.Keyword=3]="Keyword",t[t.String=4]="String",t[t.Operator=5]="Operator",t[t.Number=6]="Number",t[t.RegExpBody=7]="RegExpBody",t[t.RegExpFlags=8]="RegExpFlags",t[t.Error=9]="Error",t})(_n||{}),gu=(function(t){return t[t.Plain=0]="Plain",t[t.TemplateLiteralPart=1]="TemplateLiteralPart",t[t.TemplateLiteralEnd=2]="TemplateLiteralEnd",t})(gu||{}),oY=["var","let","as","null","undefined","true","false","if","else","this","typeof","void","in","instanceof"],lv=class{tokenize(i){return new qD(i).scan()}},qs=class{index;end;type;numValue;strValue;constructor(i,e,n,o,r){this.index=i,this.end=e,this.type=n,this.numValue=o,this.strValue=r}isCharacter(i){return this.type===_n.Character&&this.numValue===i}isNumber(){return this.type===_n.Number}isString(){return this.type===_n.String}isOperator(i){return this.type===_n.Operator&&this.strValue===i}isIdentifier(){return this.type===_n.Identifier}isPrivateIdentifier(){return this.type===_n.PrivateIdentifier}isKeyword(){return this.type===_n.Keyword}isKeywordLet(){return this.type===_n.Keyword&&this.strValue==="let"}isKeywordAs(){return this.type===_n.Keyword&&this.strValue==="as"}isKeywordNull(){return this.type===_n.Keyword&&this.strValue==="null"}isKeywordUndefined(){return this.type===_n.Keyword&&this.strValue==="undefined"}isKeywordTrue(){return this.type===_n.Keyword&&this.strValue==="true"}isKeywordFalse(){return this.type===_n.Keyword&&this.strValue==="false"}isKeywordThis(){return this.type===_n.Keyword&&this.strValue==="this"}isKeywordTypeof(){return this.type===_n.Keyword&&this.strValue==="typeof"}isKeywordVoid(){return this.type===_n.Ke Line truncated
If '${i}' is a directive input, make sure the directive is imported by the current module.`}:{error:!1}}validateAttribute(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event attribute '${i}' is disallowed for security reasons, please use (${i.slice(2)})=...`}:{error:!1}}allKnownElementNames(){return Array.from(this._schema.keys())}allKnownAttributesOfElement(i){let e=this._schema.get(i.toLowerCase())||this._schema.get("unknown");return Array.from(e.keys()).map(n=>MY.get(n)??n)}allKnownEventsOfElement(i){return Array.from(this._eventSchema.get(i.toLowerCase())??[])}normalizeAnimationStyleProperty(i){return xW(i)}normalizeAnimationStyleValue(i,e,n){let o="",r=n.toString().trim(),a=null;if(kY(i)&&n!==0&&n!=="0")if(typeof n=="number")o="px";else{let c=n.match(/^[+-]?[\d\.]+([a-z]*)$/);c&&c[1].length==0&&(a=`Please provide a CSS unit value for ${e}:${n}`)}return{error:a,value:r+o}}};function kY(t){switch(t){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}var ai=class{closedByChildren={};contentType;closedByParent=!1;implicitNamespacePrefix;isVoid;ignoreFirstLf;canSelfClose;preventNamespaceInheritance;constructor({closedByChildren:i,implicitNamespacePrefix:e,contentType:n=Dc.PARSABLE_DATA,closedByParent:o=!1,isVoid:r=!1,ignoreFirstLf:a=!1,preventNamespaceInheritance:c=!1,canSelfClose:m=!1}={}){i&&i.length>0&&i.forEach(p=>this.closedByChildren[p]=!0),this.isVoid=r,this.closedByParent=o||r,this.implicitNamespacePrefix=e||null,this.contentType=n,this.ignoreFirstLf=a,this.preventNamespaceInheritance=c,this.canSelfClose=m??r}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}getContentType(i){return typeof this.contentType=="object"?(i===void 0?void 0:this.contentType[i])??this.contentType.default:this.contentType}},BF,Gh;function JD(t){return Gh||(BF=new ai({canSelfClose:!0}),Gh=Object.assign(Object.create(null),{base:new ai({isVoid:!0}),meta:new ai({isVoid:!0}),area:new ai({isVoid:!0}),embed:new ai({isVoid:!0}),link:new ai({isVoid:!0}),img:new ai({isVoid:!0}),input:new ai({isVoid:!0}),param:new ai({isVoid:!0}),hr:new ai({isVoid:!0}),br:new ai({isVoid:!0}),source:new ai({isVoid:!0}),track:new ai({isVoid:!0}),wbr:new ai({isVoid:!0}),p:new ai({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new ai({closedByChildren:["tbody","tfoot"]}),tbody:new ai({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new ai({closedByChildren:["tbody"],closedByParent:!0}),tr:new ai({closedByChildren:["tr"],closedByParent:!0}),td:new ai({closedByChildren:["td","th"],closedByParent:!0}),th:new ai({closedByChildren:["td","th"],closedByParent:!0}),col:new ai({isVoid:!0}),svg:new ai({implicitNamespacePrefix:"svg"}),foreignObject:new ai({implicitNamespacePrefix:"svg",preventNamespaceInheritance:!0}),math:new ai({implicitNamespacePrefix:"math"}),li:new ai({closedByChildren:["li"],closedByParent:!0}),dt:new ai({closedByChildren:["dt","dd"]}),dd:new ai({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new ai({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new ai({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new ai({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new ai({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new ai({closedByChildren:["optgroup"],closedByParent:!0}),option:new ai({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new ai({ignoreFirstLf:!0}),listing:new ai({ignoreFirstLf:!0}),style:new ai({contentType:Dc.RAW_TEXT}),script:new ai({contentType:Dc.RAW_TEXT}),title:new ai({contentType:{default:Dc.ESCAPABLE_RAW_TEXT,svg:Dc.PARSABLE_DATA}}),textarea:new ai({contentType:Dc.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),new yf().allKnownElementNames().forEach(i=>{!Gh[i]&&mD(i)===null&&(Gh[i]=new ai({canSelfClose:!1}))})),Gh[t]??Gh[t.toLowerCase()]??BF}var VF={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT" Line truncated
The number of i18n message children changed between first and second pass.
First pass (${t.length} tokens):
${t.map(e=>`"${e.sourceSpan.toString()}"`).join(`
`)}
Second pass (${i.length} tokens):
${i.map(e=>`"${e.sourceSpan.toString()}"`).join(`
`)}
`.trim());if(t.some((e,n)=>i[n].constructor!==e.constructor))throw new Error("The types of the i18n message children changed between first and second pass.")}var OY=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;function NY(t){return t.split(OY)[2]}var zF=new Set(["iframe|srcdoc","*|innerhtml","*|outerhtml","embed|src","iframe|src","object|codebase","object|data"]);function jF(t,i){return t=t.toLowerCase(),i=i.toLowerCase(),zF.has(t+"|"+i)||zF.has("*|"+i)}var RY=t=>(i,e)=>{let n=t.get(i)??i;return n instanceof Od&&(e instanceof gf&&n.i18n instanceof Qa&&(e.previousMessage=n.i18n),n.i18n=e),e},u1=class{keepI18nAttrs;enableI18nLegacyMessageIdFormat;preserveSignificantWhitespace;retainEmptyTokens;hasI18nMeta=!1;_errors=[];constructor(i=!1,e=!1,n=!0,o=!n){this.keepI18nAttrs=i,this.enableI18nLegacyMessageIdFormat=e,this.preserveSignificantWhitespace=n,this.retainEmptyTokens=o}_generateI18nMessage(i,e="",n){let{meaning:o,description:r,customId:a}=this._parseMetadata(e),m=EY(this.retainEmptyTokens,this.preserveSignificantWhitespace)(i,o,r,a,n);return this._setMessageId(m,e),this._setLegacyIds(m,e),m}visitAllWithErrors(i){let e=i.map(n=>n.visit(this,null));return new d1(e,this._errors)}visitElement(i){return this._visitElementLike(i),i}visitComponent(i,e){return this._visitElementLike(i),i}visitExpansion(i,e){let n,o=i.i18n;if(this.hasI18nMeta=!0,o instanceof gf){let r=o.name;n=this._generateI18nMessage([i],o);let a=j6(n);a.name=r,e!==null&&(e.placeholderToMessage[r]=n)}else n=this._generateI18nMessage([i],e||o);return i.i18n=n,i}visitText(i){return i}visitAttribute(i){return i}visitComment(i){return i}visitExpansionCase(i){return i}visitBlock(i,e){return Do(this,i.children,e),i}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitDirective(i,e){return i}_visitElementLike(i){let e;if(QW(i)){this.hasI18nMeta=!0;let n=[],o={};for(let r of i.attrs)if(r.name===V6){let a=i.i18n||r.value,c=new Map,m=this.preserveSignificantWhitespace?i.children:kc(new m1(!1,c),i.children);e=this._generateI18nMessage(m,a,RY(c)),e.nodes.length===0&&(e=void 0),i.i18n=e}else if(r.name.startsWith(xD)){let a=r.name.slice(xD.length),c;i instanceof Ua?c=i.tagName===null?!1:jF(i.tagName,a):c=jF(i.name,a),c?this._reportError(r,`Translating attribute '${a}' is disallowed for security reasons.`):o[a]=r.value}else n.push(r);if(Object.keys(o).length)for(let r of n){let a=o[r.name];a!==void 0&&r.value&&(r.i18n=this._generateI18nMessage([r],r.i18n||a))}this.keepI18nAttrs||(i.attrs=n)}Do(this,i.children,e)}_parseMetadata(i){return typeof i=="string"?BY(i):i instanceof Qa?i:{}}_setMessageId(i,e){i.id||(i.id=e instanceof Qa&&e.id||KG(i))}_setLegacyIds(i,e){if(this.enableI18nLegacyMessageIdFormat)i.legacyIds=[YG(i),P6(i)];else if(typeof e!="string"){let n=e instanceof Qa?e:e instanceof gf?e.previousMessage:void 0;i.legacyIds=n?n.legacyIds:[]}}_reportError(i,e){this._errors.push(new mn(i.sourceSpan,e))}},FY="|",LY="@@";function BY(t=""){let i,e,n;if(t=t.trim(),t){let o=t.indexOf(LY),r=t.indexOf(FY),a;[a,i]=o>-1?[t.slice(0,o),t.slice(o+2)]:[t,""],[e,n]=r>-1?[a.slice(0,r),a.slice(r+1)]:["",a]}return{customId:i,meaning:e,description:n}}function VY(t){let i=[];return t.description?i.push({tagName:"desc",text:t.description}):i.push({tagName:"suppress",text:"{msgDescriptions}"}),t.meaning&&i.push({tagName:"meaning",text:t.meaning}),pW(i)}var zY="goog.getMsg";function jY(t,i,e,n){let o=HY(i),r=[Ee(o)];Object.keys(n).length&&(r.push(BD(AP(n,!0),!0)),r.push(BD({original_code:gl(Object.keys(n).map(m=>({key:fv(m),quoted:!0,value:i.placeholders[m]?Ee(i.placeholders[m].sourceSpan.toString()):Ee(i.placeholderToMessage[m].nodes.map(p=>p.sourceSpan.toString()).join(""))})))})));let a=new qr(e.name,si(zY).callFn(r),ec,fa.Final);a.addLeadingComment(VY(i));let c=new va(t.set(e));return[a,c]}var nP=class{formatPh(i){return`{$${fv(i)}}`}visitText(i){return i.value}visitContainer(i){return i.children.map(e=>e.visit(this)).join("")}visitIcu(i){return xL(i)}visitTagPlaceholder(i){return i.isVoid?this.formatPh(i.startName):`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitPlaceholder(i){return this.formatPh(i.name)}visitBlockPlaceholder(i){return`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitIcuPlaceholder(i,e){return this.formatPh(i.name)}},$Y=new nP;function HY(t){return t.nodes.map(i=>i.visit($Y,null)).join("")}function UY(t,i,e){let{messageParts:n,placeHolders:o}=GY(i),r=WY(i),a=o.map(p=>e[p.text]),c=fW(i,n,o,a,r),m=t.set(c);return[new va(m)]}var iP=class{placeholderToMessage;pieces;constructor(i,e){this.placeholderToMessage=i,this.pieces=e}visitText(i){if(this.pieces[this.pieces.length-1]instanceof mu)this.pieces[this.pieces.length-1].text+=i.value;else{let e=new bn(i.sourceSpan.fullStart,i.sourceSpan.end,i.sourceSpan.fullStart,i.sourceSpan.details);this.pieces.push(new mu(i.value,e))}}visitContainer(i Line truncated
`,"\r"," "];function Ute(t,i,e={}){let{preserveWhitespaces:n,enableI18nLegacyMessageIdFormat:o}=e,r=e.enableSelectorless??!1,a=b1(r),m=new sP().parse(t,i,tt(H({leadingTriviaChars:Hte},e),{tokenizeExpansionForms:!0,tokenizeBlocks:e.enableBlockSyntax??!0,tokenizeLet:e.enableLetSyntax??!0,selectorlessEnabled:r}));if(!e.alwaysAttemptHtmlToR3AstConversion&&m.errors&&m.errors.length>0){let E={preserveWhitespaces:n,errors:m.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(E.commentNodes=[]),E}let p=m.rootNodes,h=!(e.preserveSignificantWhitespace??!0),g=new u1(!n,o,e.preserveSignificantWhitespace,h),M=g.visitAllWithErrors(p);if(!e.alwaysAttemptHtmlToR3AstConversion&&M.errors&&M.errors.length>0){let E={preserveWhitespaces:n,errors:M.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(E.commentNodes=[]),E}p=M.rootNodes,n||(p=Do(new m1(!0,void 0,!1),p),g.hasI18nMeta&&(p=Do(new u1(!1,void 0,!0,h),p)));let{nodes:C,errors:_,styleUrls:w,styles:S,ngContentSelectors:y,commentNodes:k}=jte(p,a,{collectCommentNodes:!!e.collectCommentNodes});_.push(...m.errors,...M.errors);let I={preserveWhitespaces:n,errors:_.length>0?_:null,nodes:C,styleUrls:w,styles:S,ngContentSelectors:y};return e.collectCommentNodes&&(I.commentNodes=k),I}var Gte=new yf;function b1(t=!1){return new lP(new p1(new lv,t),Gte,[])}var QL="%COMP%",Wte=`_nghost-${QL}`,qte=`_ngcontent-${QL}`;function YL(t,i,e){let n=new Bm,o=TP(t.selector);return n.set("type",t.type.value),o.length>0&&n.set("selectors",Yh(o)),t.queries.length>0&&n.set("contentQueries",Ree(t.queries,i,t.name)),t.viewQueries.length&&n.set("viewQuery",Nee(t.viewQueries,i,t.name)),n.set("hostBindings",tne(t.host,t.typeSourceSpan,e,i,t.selector||"",t.name,n)),n.set("inputs",YR(t.inputs,!0)),n.set("outputs",YR(t.outputs)),t.exportAs!==null&&n.set("exportAs",oo(t.exportAs.map(r=>Ee(r)))),t.isStandalone===!1&&n.set("standalone",Ee(!1)),t.isSignal&&n.set("signals",Ee(!0)),n}function KL(t,i){let e=[],n=i.providers,o=i.viewProviders;if(n||o){let r=[n||new Lc([])];o&&r.push(o),e.push(Zt(he.ProvidersFeature).callFn(r))}if(i.hostDirectives?.length&&e.push(Zt(he.HostDirectivesFeature).callFn([ane(i.hostDirectives)])),i.usesInheritance&&e.push(Zt(he.InheritDefinitionFeature)),i.lifecycle.usesOnChanges&&e.push(Zt(he.NgOnChangesFeature)),i.controlCreate!==null&&e.push(Zt(he.ControlFeature).callFn([Ee(i.controlCreate.passThroughInput)])),"externalStyles"in i&&i.externalStyles?.length){let r=i.externalStyles.map(a=>Ee(a));e.push(Zt(he.ExternalStylesFeature).callFn([oo(r)]))}e.length&&t.set("features",oo(e))}function Xte(t,i,e){let n=YL(t,i,e);KL(n,t);let o=Zt(he.defineDirective).callFn([n.toLiteralMap()],void 0,!0),r=ene(t);return{expression:o,type:r,statements:[]}}function Qte(t,i,e){let n=YL(t,i,e);KL(n,t);let o=t.selector&&of.parse(t.selector),r=o&&o[0];if(r){let _=r.getAttrs();_.length&&n.set("attrs",i.getConstLiteral(oo(_.map(w=>w!=null?Ee(w):Ee(void 0))),!0))}let a=t.name,c=null;if(t.defer.mode===1&&t.defer.dependenciesFn!==null){let _=`${a}_DeferFn`;i.statements.push(new qr(_,t.defer.dependenciesFn,void 0,fa.Final)),c=si(_)}let m=t.isStandalone&&!t.hasDirectiveDependencies?cs.DomOnly:cs.Full,p=cee(t.name,t.template.nodes,i,m,t.relativeContextFilePath,t.i18nUseExternalIds,t.defer,c,t.relativeTemplatePath,Iee());LL(p,Vt.Tmpl);let h=ree(p,i);if(p.contentSelectors!==null&&n.set("ngContentSelectors",p.contentSelectors),n.set("decls",Ee(p.root.decls)),n.set("vars",Ee(p.root.vars)),p.consts.length>0&&(p.constsInitializers.length>0?n.set("consts",Us([],[...p.constsInitializers,new Ar(oo(p.consts))])):n.set("consts",oo(p.consts))),n.set("template",h),t.declarationListEmitMode!==3&&t.declarations.length>0)n.set("dependencies",Kte(oo(t.declarations.map(_=>_.type)),t.declarationListEmitMode));else if(t.declarationListEmitMode===3){let _=[t.type.value];t.rawImports&&_.push(t.rawImports),n.set("dependencies",Zt(he.getComponentDepsFactory).callFn(_))}t.encapsulation===null&&(t.encapsulation=iu.Emulated);let g=!!t.externalStyles?.length;if(t.styles&&t.styles.length){let w=(t.encapsulation==iu.Emulated?rne(t.styles,qte,Wte):t.styles).reduce((S,y)=>(y.trim().length>0&&S.push(i.getConstLiteral(Ee(y))),S),[]);w.length>0&&(g=!0,n.set("styles",oo(w)))}!g&&t.encapsulation===iu.Emulated&&(t.encapsulation=iu.None),t.encapsulation!==iu.Emulated&&n.set("encapsulation",Ee(t.encapsulation)),t.animations!==null&&n.set("data",gl([{key:"animation",value:t.animations,quoted:!1}])),t.changeDetection!==null&&(typeof t.changeDetection=="number"&&t.changeDetection!==kP.Default?n.set("changeDetection",Ee(t.changeDetection)):typeof t.changeDetection=="object"&&n.set("changeDetection",t.changeDetection));let M=Zt(he.defineComponent).callFn([n.toLiteralMap()],void 0,!0),C=Yte(t);return{expression:M,type:C,statements:[]}}function Yte(t){let i=ZL(t);return i.push(vP(t.template.ngContentSelectors)),i.push(ga(Ee(t.isStandalone))),i.push(JL(t)),t.isSignal&&i.push(ga(Ee(t. Line truncated
`));for(let r in t)t.hasOwnProperty(r)&&t[r].forEach(a=>{_ne(a)?n.properties[a.hostPropertyName||r]=OW("this",r):vne(a)&&(n.listeners[a.eventName||r]=`${r}(${(a.args||[]).join(",")})`)});return n}function _ne(t){return t.ngMetadataName==="HostBinding"}function vne(t){return t.ngMetadataName==="HostListener"}function bne(t){return t.ngMetadataName==="Input"}function Cne(t){return t.ngMetadataName==="Output"}function xne(t){return Object.keys(t).reduce((i,e)=>{let n=t[e];return typeof n=="string"||Array.isArray(n)?i[e]=yne(n):i[e]={bindingPropertyName:n.publicName,classPropertyName:e,transformFunction:n.transformFunction!==null?new gi(n.transformFunction):null,required:n.isRequired,isSignal:n.isSignal},i},{})}function yne(t){return typeof t=="string"?{bindingPropertyName:t,classPropertyName:t,transformFunction:null,required:!1,isSignal:!1}:{bindingPropertyName:t[0],classPropertyName:t[1],transformFunction:t[2]?new gi(t[2]):null,required:!1,isSignal:!1}}function Sne(t){return t.reduce((i,e)=>{if(typeof e=="string"){let[n,o]=r8(e);i[o]={bindingPropertyName:n,classPropertyName:o,required:!1,isSignal:!1,transformFunction:null}}else i[e.name]={bindingPropertyName:e.alias||e.name,classPropertyName:e.name,required:e.required||!1,isSignal:!1,transformFunction:e.transform!=null?new gi(e.transform):null};return i},{})}function QE(t){return t.reduce((i,e)=>{let[n,o]=r8(e);return i[o]=n,i},{})}function r8(t){let[i,e]=t.split(":",2).map(n=>n.trim());return[e??i,i]}function wne(t){return{name:t.type.name,type:Gr(t.type),typeArgumentCount:0,pipeName:t.name,deps:null,pure:t.pure??!0,isStandalone:t.isStandalone??F6(t.version)}}function Mne(t){return{name:t.type.name,type:Gr(t.type),providers:t.providers!==void 0&&t.providers.length>0?new gi(t.providers):null,imports:t.imports!==void 0?t.imports.map(i=>new gi(i)):[]}}function kne(t){let i=t.ng||(t.ng={});i.\u0275compilerFacade=new wP}var MP=class{closedByParent=!1;implicitNamespacePrefix=null;isVoid=!1;ignoreFirstLf=!1;canSelfClose=!0;preventNamespaceInheritance=!1;requireExtraParent(i){return!1}isClosedByChild(i){return!1}getContentType(){return Dc.PARSABLE_DATA}},PFe=new MP;var IFe=new nD("21.2.6");kne(s0);function KP(t){let i=t.cloneNode(!0),e=i.querySelectorAll("[id]"),n=t.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return n==="canvas"?l8(t,i):(n==="input"||n==="select"||n==="textarea")&&s8(t,i),a8("canvas",t,i,l8),a8("input, textarea, select",t,i,s8),i}function a8(t,i,e,n){let o=i.querySelectorAll(t);if(o.length){let r=e.querySelectorAll(t);for(let a=0;a<o.length;a++)n(o[a],r[a])}}var Tne=0;function s8(t,i){i.type!=="file"&&(i.value=t.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${Tne++}`)}function l8(t,i){let e=i.getContext("2d");if(e)try{e.drawImage(t,0,0)}catch{}}function iI(t){let i=t.getBoundingClientRect();return{top:i.top,right:i.right,bottom:i.bottom,left:i.left,width:i.width,height:i.height,x:i.x,y:i.y}}function ZP(t,i,e){let{top:n,bottom:o,left:r,right:a}=t;return e>=n&&e<=o&&i>=r&&i<=a}function Ene(t,i){let e=i.left<t.left,n=i.left+i.width>t.right,o=i.top<t.top,r=i.top+i.height>t.bottom;return e||n||o||r}function Cv(t,i,e){t.top+=i,t.bottom=t.top+t.height,t.left+=e,t.right=t.left+t.width}function c8(t,i,e,n){let{top:o,right:r,bottom:a,left:c,width:m,height:p}=t,h=m*i,g=p*i;return n>o-g&&n<a+g&&e>c-h&&e<r+h}var P1=class{_document;positions=new Map;constructor(i){this._document=i}clear(){this.positions.clear()}cache(i){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),i.forEach(e=>{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:iI(e)})})}handleScroll(i){let e=eu(i),n=this.positions.get(e);if(!n)return null;let o=n.scrollPosition,r,a;if(e===this._document){let p=this.getViewportScrollPosition();r=p.top,a=p.left}else r=e.scrollTop,a=e.scrollLeft;let c=o.top-r,m=o.left-a;return this.positions.forEach((p,h)=>{p.clientRect&&e!==h&&e.contains(h)&&Cv(p.clientRect,c,m)}),o.top=r,o.left=a,{top:c,left:m}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function x8(t,i){let e=t.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let n=i.createElement("div");return e.forEach(o=>n.appendChild(o)),n}function oI(t,i,e){for(let n in i)if(i.hasOwnProperty(n)){let o=i[n];o?t.setProperty(n,o,e?.has(n)?"important":""):t.removeProperty(n)}return t}function Df(t,i){let e=i?"":"none";oI(t.style,{"touch-action":i?"":"none","-webkit-user-drag":i?"":"none","-webkit-tap-highlight-color":i?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function d8(t,i,e){oI(t.style,{position:i?"":"fixed",top:i?"":"0",opacity:i?"":"0",left:i?"":"-999em"},e)}function I1(t,i){return i&&i!="none"?t+" "+i:t}function m8(t,i){t.style.width=`${i.width}px`,t.style.height=`${i.height}px`,t.style.transform=xv(i.left,i.top)}function xv(t,i){return`translate3d(${MatLine truncated
`],encapsulation:2,changeDetection:0})}return t})(),y8=(()=>{class t{_ngZone=f(bi);_document=f(Pi);_styleLoader=f(Go);_renderer=f(yd).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new Le;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=me([]);_globalListeners;_draggingPredicate=e=>e.isDragging();_domNodesToDirectives=null;pointerMove=new Le;pointerUp=new Le;constructor(){}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,"touchmove",this._persistentTouchmoveListener,QP)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(e,n){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._styleLoader.load(Dne),this._activeDragInstances.update(o=>[...o,e]),this._activeDragInstances().length===1)){let o=n.type.startsWith("touch"),r=c=>this.pointerUp.next(c),a=[["scroll",c=>this._scroll.next(c),vv],["selectstart",this._preventDefaultWhileDragging,QP]];o?a.push(["touchend",r,vv],["touchcancel",r,vv]):a.push(["mouseup",r,vv]),o||a.push(["mousemove",c=>this.pointerMove.next(c),QP]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=a.map(([c,m,p])=>this._renderer.listen(this._document,c,m,p))})}}stopDragging(e){this._activeDragInstances.update(n=>{let o=n.indexOf(e);return o>-1?(n.splice(o,1),[...n]):n}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){let n=[this._scroll];return e&&e!==this._document&&n.push(new _r(o=>this._ngZone.runOutsideAngular(()=>{let r=this._renderer.listen(e,"scroll",a=>{this._activeDragInstances().length&&o.next(a)},vv);return()=>{r()}}))),Dn(...n)}registerDirectiveNode(e,n){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(e,n)}removeDirectiveNode(e){this._domNodesToDirectives?.delete(e)}getDragDirectiveForNode(e){return this._domNodesToDirectives?.get(e)||null}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=e=>{this._activeDragInstances().length>0&&e.preventDefault()};_persistentTouchmoveListener=e=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&e.preventDefault(),this.pointerMove.next(e))};_clearGlobalListeners(){this._globalListeners?.forEach(e=>e()),this._globalListeners=void 0}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function p8(t){let i=t.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(t)*i}function Pne(t){let i=getComputedStyle(t),e=YP(i,"transition-property"),n=e.find(c=>c==="transform"||c==="all");if(!n)return 0;let o=e.indexOf(n),r=YP(i,"transition-duration"),a=YP(i,"transition-delay");return p8(r[o])+p8(a[o])}function YP(t,i){return t.getPropertyValue(i).split(",").map(n=>n.trim())}var Ine=new Set(["position"]),JP=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(i,e,n,o,r,a,c,m,p,h){this._document=i,this._rootElement=e,this._direction=n,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=a,this._pickupPositionOnPage=c,this._initialTransform=m,this._zIndex=p,this._renderer=h}attach(i){this._preview=this._createPreview(),i.appendChild(this._preview),u8(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(i){this._preview.style.transform=i}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(i){this._preview.classList.add(i)}getTransitionDuration(){return Pne(this._preview)}addEventListener(i,e){return this._renderer.listen(this._preview,i,e)}_createPreview(){let i=this._previewTemplate,e=this._previewClass,n=i?i.template:null,o;if(n&&i){let r=i.matchSize?this._initialDomRect:null,a=i.viewContainer.createEmbeddedView(n,i.context);a.detectChanges(),o=x8(a,this._document),this._previewEmbeddedView=a,i.matchSize?m8(o,r):o.style.transform=xv(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=KP(this._rootElement),m8(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return oI(o.style,{"pointer-events":"none",margin:u8(o)?"0 auto 0 0":"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""}, Line truncated
`],encapsulation:2})}return t})();function O1(t,i){return t.concat(Array.from(i))}function D8(t,i){let e=i.toUpperCase(),n=t.viewContainer.element.nativeElement;for(;n;){let o=n.nodeType===1?n.nodeName:null;if(o===e)return n;if(o==="TABLE")break;n=n.parentNode}return null}var B1=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[oR]})}return t})();var N8=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[Md,wn,Md]})}return t})();var Hn=(function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t})(Hn||{}),bl="*";function fI(t,i){return{type:Hn.Trigger,name:t,definitions:i,options:{}}}function gI(t,i=null){return{type:Hn.Animate,styles:i,timings:t}}function R8(t,i=null){return{type:Hn.Sequence,steps:t,options:i}}function Bu(t){return{type:Hn.Style,styles:t,offset:null}}function V1(t,i,e){return{type:Hn.State,name:t,styles:i,options:e}}function _I(t,i,e=null){return{type:Hn.Transition,expr:t,animation:i,options:e}}var Hc=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(i=0,e=0){this.totalTime=i+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}onStart(i){this._originalOnStartFns.push(i),this._onStartFns.push(i)}onDone(i){this._originalOnDoneFns.push(i),this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(i=>i()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(i){this._position=this.totalTime?i*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(n=>n()),e.length=0}},Lu=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(i){this.players=i;let e=0,n=0,o=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==r&&this._onFinish()}),a.onDestroy(()=>{++n==r&&this._onDestroy()}),a.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((a,c)=>Math.max(a,c.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}init(){this.players.forEach(i=>i.init())}onStart(i){this._onStartFns.push(i)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(i=>i()),this._onStartFns=[])}onDone(i){this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(i=>i.play())}pause(){this.players.forEach(i=>i.pause())}restart(){this.players.forEach(i=>i.restart())}finish(){this._onFinish(),this.players.forEach(i=>i.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(i=>i.destroy()),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this.players.forEach(i=>i.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(i){let e=i*this.totalTime;this.players.forEach(n=>{let o=n.totalTime?Math.min(1,e/n.totalTime):1;n.setPosition(o)})}getPosition(){let i=this.players.reduce((e,n)=>e===null||n.totalTime>e.totalTime?n:e,null);return i!=null?i.getPosition():0}beforeDestroy(){this.players.forEach(i=>{i.beforeDestroy&&i.beforeDestroy()})}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(n=>n()),e.length=0}},Pf="!";function F8(t){return new vn(3e3,!1)}function Wne(){return new vn(3100,!1)}function qne(){return new vn(3101,!1)}function Xne(t){return new vn(3001,!1)}function Qne(t){return new vn(3003,!1)}function Yne(t){return new vn(3004,!1)}function B8(t,i){return new vn(3005,!1)}function V8(){return new vn(3006,!1)}function z8(){return new vn(3007,!1)}function j8(t,i){return new vn(3008,!1)}function $8(t){return new vn(3002,!1)}function H8(t,i,e,n,o){return new vn(3010,!1)}function U8(){return new vn(3011,!1)}functio Line truncated
body * {
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
`)),requestAnimationFrame(()=>{this.document.head.appendChild(o)});let r=this.getScrollPosition(),a=new _r(C=>{let _=this.scrollContainer?this.scrollContainer.elementRef.nativeElement:"window";return this.renderer.listen(_,"scroll",w=>C.next(w))}).pipe(li(r),yt(()=>this.getScrollPosition())),c=new Le,m=new bd;this.dragPointerDown.observers.length>0&&this.zone.run(()=>{this.dragPointerDown.next({x:0,y:0})});let p=Dn(this.pointerUp$,this.pointerDown$,m,this.destroy$).pipe(As()),h=rr([this.pointerMove$,a]).pipe(yt(([C,_])=>({currentDrag$:c,transformX:C.clientX-n.clientX,transformY:C.clientY-n.clientY,clientX:C.clientX,clientY:C.clientY,scrollLeft:_.left,scrollTop:_.top,target:C.event.target})),yt(C=>(this.dragSnapGrid.x&&(C.transformX=Math.round(C.transformX/this.dragSnapGrid.x)*this.dragSnapGrid.x),this.dragSnapGrid.y&&(C.transformY=Math.round(C.transformY/this.dragSnapGrid.y)*this.dragSnapGrid.y),C)),yt(C=>(this.dragAxis.x||(C.transformX=0),this.dragAxis.y||(C.transformY=0),C)),yt(C=>{let _=C.scrollLeft-r.left,w=C.scrollTop-r.top;return tt(H({},C),{x:C.transformX+_,y:C.transformY+w})}),Pn(({x:C,y:_,transformX:w,transformY:S})=>!this.validateDrag||this.validateDrag({x:C,y:_,transform:{x:w,y:S}})),rt(p),As()),g=h.pipe(wi(1),As()),M=h.pipe(z_(1),As());return g.subscribe(({clientX:C,clientY:_,x:w,y:S})=>{if(this.dragStart.observers.length>0&&this.zone.run(()=>{this.dragStart.next({cancelDrag$:m})}),this.scroller=BB([this.scrollContainer?this.scrollContainer.elementRef.nativeElement:this.document.defaultView],tt(H({},this.autoScroll),{autoScroll(){return!0}})),aoe(this.renderer,this.element,this.dragActiveClass),this.ghostDragEnabled){let y=this.element.nativeElement.getBoundingClientRect(),k=this.element.nativeElement.cloneNode(!0);if(this.showOriginalElementWhileDragging||this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),this.ghostElementAppendTo?this.ghostElementAppendTo.appendChild(k):this.element.nativeElement.parentNode.insertBefore(k,this.element.nativeElement.nextSibling),this.ghostElement=k,this.document.body.style.cursor=this.dragCursor,this.setElementStyles(k,{position:"fixed",top:`${y.top}px`,left:`${y.left}px`,width:`${y.width}px`,height:`${y.height}px`,cursor:this.dragCursor,margin:"0",willChange:"transform",pointerEvents:"none"}),this.ghostElementTemplate){let I=this.vcr.createEmbeddedView(this.ghostElementTemplate);k.innerHTML="",I.rootNodes.filter(E=>E instanceof Node).forEach(E=>{k.appendChild(E)}),M.subscribe(()=>{this.vcr.remove(this.vcr.indexOf(I))})}this.ghostElementCreated.observers.length>0&&this.zone.run(()=>{this.ghostElementCreated.emit({clientX:C-w,clientY:_-S,element:k})}),M.subscribe(()=>{k.parentElement.removeChild(k),this.ghostElement=null,this.renderer.setStyle(this.element.nativeElement,"visibility","")})}this.draggableHelper.currentDrag.next(c)}),M.pipe(Er(C=>{let _=m.pipe(h5(),wi(1),yt(w=>tt(H({},C),{dragCancelled:w>0})));return m.complete(),_})).subscribe(({x:C,y:_,dragCancelled:w})=>{this.scroller.destroy(),this.dragEnd.observers.length>0&&this.zone.run(()=>{this.dragEnd.next({x:C,y:_,dragCancelled:w})}),soe(this.renderer,this.element,this.dragActiveClass),c.complete()}),Dn(p,M).pipe(wi(1)).subscribe(()=>{requestAnimationFrame(()=>{this.document.head.removeChild(o)})}),h}),As());Dn(e.pipe(wi(1),yt(n=>[,n])),e.pipe(CC())).pipe(Pn(([n,o])=>n?n.x!==o.x||n.y!==o.y:!0),yt(([n,o])=>o)).subscribe(({x:n,y:o,currentDrag$:r,clientX:a,clientY:c,transformX:m,transformY:p,target:h})=>{this.dragging.observers.length>0&&this.zone.run(()=>{this.dragging.next({x:n,y:o})}),requestAnimationFrame(()=>{if(this.ghostElement){let g=`translate3d(${m}px, ${p}px, 0px)`;this.setElementStyles(this.ghostElement,{transform:g,"-webkit-transform":g,"-ms-transform":g,"-moz-transform":g,"-o-transform":g})}}),r.next({clientX:a,clientY:c,dropData:this.dropData,target:h})})}ngOnChanges(e){e.dragAxis&&this.checkEventListeners()}ngOnDestroy(){this.unsubscribeEventListeners(),this.pointerDown$.complete(),this.pointerMove$.complete(),this.pointerUp$.complete(),this.destroy$.next()}checkEventListeners(){let e=this.canDrag(),n=Object.keys(this.eventListenerSubscriptions).length>0;e&&!n?this.zone.runOutsideAngular(()=>{this.eventListenerSubscriptions.mousedown=this.renderer.listen(this.element.nativeElement,"mousedown",o=>{this.onMouseDown(o)}),this.eventListenerSubscriptions.mouseup=this.renderer.listen("document","mouseup",o=>{this.onMouseUp(o)}),this.eventListenerSubscriptions.touchstart=this.renderer.listen(this.element.nativeElement,"touchstart",o=>{this.onTouchStart(o)}),this.eventListenerSubscriptions.touchend=this.renderer.listen("document","touchend",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.touchcancel=this.renderer.listen("document","touchcancel",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.mouseenter=this.renderer.listen(this.element.nativeElement,"mouseenter",()=>{this.onMouseEnter()}),this.eventListenerSubscriptions.mouseleave=this.renderer.listen Line truncated
`).map(a=>{r=a.indexOf(":"),n=a.slice(0,r).trim().toLowerCase(),o=a.slice(r+1).trim(),n&&(e[n]=e[n]?e[n]+", "+o:o)}),e}_onWhenAddingFileFailed(i,e,n){this.onWhenAddingFileFailed(i,e,n)}_onAfterAddingFile(i){this.onAfterAddingFile(i)}_onAfterAddingAll(i){this.onAfterAddingAll(i)}_onBeforeUploadItem(i){i._onBeforeUpload(),this.onBeforeUploadItem(i)}_onBuildItemForm(i,e){i._onBuildForm(e),this.onBuildItemForm(i,e)}_onProgressItem(i,e){let n=this._getTotalProgress(e);this.progress=n,i._onProgress(e),this.onProgressItem(i,e),this.onProgressAll(n),this._render()}_onSuccessItem(i,e,n,o){i._onSuccess(e,n,o),this.onSuccessItem(i,e,n,o)}_onCancelItem(i,e,n,o){i._onCancel(e,n,o),this.onCancelItem(i,e,n,o)}};var Gc=(()=>{class t{constructor(e){this.onFileSelected=new ve,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}isEmptyAfterSelection(){return!!this.element.nativeElement.attributes.multiple}onChange(){let e=this.element.nativeElement.files,n=this.getOptions(),o=this.getFilters();this.uploader?.addToQueue(e,n,o),this.onFileSelected.emit(e),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")}}return t.\u0275fac=function(e){return new(e||t)(st(Lt))},t.\u0275dir=ft({type:t,selectors:[["","ng2FileSelect",""]],hostBindings:function(e,n){e&1&&v("change",function(){return n.onChange()})},inputs:{uploader:"uploader"},outputs:{onFileSelected:"onFileSelected"},standalone:!1}),t})(),xl=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Bt({type:t}),t.\u0275inj=Ft({imports:[Z]}),t})();var Un="primary",qv=Symbol("RouteTitle"),r3=class{params;constructor(i){this.params=i||{}}has(i){return Object.prototype.hasOwnProperty.call(this.params,i)}get(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e[0]:e}return null}getAll(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function Gu(t){return new r3(t)}function t3(t,i,e){for(let n=0;n<t.length;n++){let o=t[n],r=i[n];if(o[0]===":")e[o.substring(1)]=r;else if(o!==r.path)return!1}return!0}function WB(t,i,e){let n=e.path.split("/"),o=n.indexOf("**");if(o===-1){if(n.length>t.length||e.pathMatch==="full"&&(i.hasChildren()||n.length<t.length))return null;let m={},p=t.slice(0,n.length);return t3(n,p,m)?{consumed:p,posParams:m}:null}if(o!==n.lastIndexOf("**"))return null;let r=n.slice(0,o),a=n.slice(o+1);if(r.length+a.length>t.length||e.pathMatch==="full"&&i.hasChildren()&&e.path!=="**")return null;let c={};return!t3(r,t.slice(0,r.length),c)||!t3(a,t.slice(t.length-a.length),c)?null:{consumed:t,posParams:c}}function py(t){return new Promise((i,e)=>{t.pipe(Cd()).subscribe({next:n=>i(n),error:n=>e(n)})})}function poe(t,i){if(t.length!==i.length)return!1;for(let e=0;e<t.length;++e)if(!Wc(t[e],i[e]))return!1;return!0}function Wc(t,i){let e=t?a3(t):void 0,n=i?a3(i):void 0;if(!e||!n||e.length!=n.length)return!1;let o;for(let r=0;r<e.length;r++)if(o=e[r],!qB(t[o],i[o]))return!1;return!0}function a3(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function qB(t,i){if(Array.isArray(t)&&Array.isArray(i)){if(t.length!==i.length)return!1;let e=[...t].sort(),n=[...i].sort();return e.every((o,r)=>n[r]===o)}else return t===i}function uoe(t){return t.length>0?t[t.length-1]:null}function Wu(t){return cm(t)?t:E5(t)?or(Promise.resolve(t)):xt(t)}function XB(t){return cm(t)?py(t):Promise.resolve(t)}var hoe={exact:YB,subset:KB},QB={exact:foe,subset:goe,ignored:()=>!0},C3={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Vv={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function x3(t,i,e){let n=t instanceof Za?t:i.parseUrl(t);return ri(()=>s3(i.lastSuccessfulNavigation()?.finalUrl??new Za,n,H(H({},Vv),e)))}function s3(t,i,e){return hoe[e.paths](t.root,i.root,e.matrixParams)&&QB[e.queryParams](t.queryParams,i.queryParams)&&!(e.fragment==="exact"&&t.fragment!==i.fragment)}function foe(t,i){return Wc(t,i)}function YB(t,i,e){if(!Uu(t.segments,i.segments)||!cy(t.segments,i.segments,e)||t.numberOfChildren!==i.numberOfChildren)return!1;for(let n in i.children)if(!t.children[n]||!YB(t.children[n],i.children[n],e))return!1;return!0}function goe(t,i){return Object.keys(i).length<=Object.keys(t).length&&Object.keys(i).every(e=>qB(t[e],i[e]))}function KB(t,i,e){return ZB(t,i,i.segments,e)}function ZB(t,i,e,n){if(t.segments.length>e.length){let o=t.segments.slice(0,e.length);return!(!Uu(o,e)||i.hasChildren()||!cy(o,e,n))}else if(t.segments.length===e.length){if(!Uu(t.segments,e)||!cy(t.segments,e,n))return!1;for(let o in i.children)if(!t.children[o]||!KB(t.children[o],i.children[o],n))return!1;return!0}else{let o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!Uu(t.segments,o)||!cy(t.segments,o,n)||!t.children[Un]?!1:ZB(t.children[Un],i,r,n)}}function cy(t,i,e){return i.every((n,o)=>QB[e](t[o].parameters,n.parameters))}var Za=class{root;queryParams;fragment;_queryParamMap;const Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var Si=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();function $7(t){return Error(`Unable to find icon with the name "${t}"`)}function eae(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function H7(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function U7(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}var jd=class{url;svgText;options;svgElement=null;constructor(i,e,n){this.url=i,this.svgText=e,this.options=n}},Ly=(()=>{class t{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(e,n,o,r){this._httpClient=e,this._sanitizer=n,this._errorHandler=r,this._document=o}addSvgIcon(e,n,o){return this.addSvgIconInNamespace("",e,n,o)}addSvgIconLiteral(e,n,o){return this.addSvgIconLiteralInNamespace("",e,n,o)}addSvgIconInNamespace(e,n,o,r){return this._addSvgIconConfig(e,n,new jd(o,null,r))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,n,o,r){let a=this._sanitizer.sanitize(xd.HTML,o);if(!a)throw U7(o);let c=Rh(a);return this._addSvgIconConfig(e,n,new jd("",c,r))}addSvgIconSet(e,n){return this.addSvgIconSetInNamespace("",e,n)}addSvgIconSetLiteral(e,n){return this.addSvgIconSetLiteralInNamespace("",e,n)}addSvgIconSetInNamespace(e,n,o){return this._addSvgIconSetConfig(e,new jd(n,null,o))}addSvgIconSetLiteralInNamespace(e,n,o){let r=this._sanitizer.sanitize(xd.HTML,n);if(!r)throw U7(n);let a=Rh(r);return this._addSvgIconSetConfig(e,new jd("",a,o))}registerFontClassAlias(e,n=e){return this._fontCssClassesByAlias.set(e,n),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){let n=this._sanitizer.sanitize(xd.RESOURCE_URL,e);if(!n)throw H7(e);let o=this._cachedIconsByUrl.get(n);return o?xt(Fy(o)):this._loadSvgIconFromConfig(new jd(e,null)).pipe(vi(r=>this._cachedIconsByUrl.set(n,r)),yt(r=>Fy(r)))}getNamedSvgIcon(e,n=""){let o=G7(n,e),r=this._svgIconConfigs.get(o);if(r)return this._getSvgFromConfig(r);if(r=this._getIconConfigFromResolvers(n,e),r)return this._svgIconConfigs.set(o,r),this._getSvgFromConfig(r);let a=this._iconSetConfigs.get(n);return a?this._getSvgFromIconSetConfigs(e,a):zi($7(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?xt(Fy(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(yt(n=>Fy(n)))}_getSvgFromIconSetConfigs(e,n){let o=this._extractIconWithNameFromAnySet(e,n);if(o)return xt(o);let r=n.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(hi(c=>{let p=`Loading icon set URL: ${this._sanitizer.sanitize(xd.RESOURCE_URL,a.url)} failed: ${c.message}`;return this._errorHandler.handleError(new Error(p)),xt(null)})));return lo(r).pipe(yt(()=>{let a=this._extractIconWithNameFromAnySet(e,n);if(!a)throw $7(e);return a}))}_extractIconWithNameFromAnySet(e,n){for(let o=n.length-1;o>=0;o--){let r=n[o];if(r.svgText&&r.svgText.toString().indexOf(e)>-1){let a=this._svgElementFromConfig(r),c=this._extractSvgIconFromSet(a,e,r.options);if(c)return c}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(vi(n=>e.svgText=n),yt(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?xt(null):this._fetchIcon(e).pipe(vi(n=>e.svgText=n))}_extractSvgIconFromSet(e,n,o){let r=e.querySelector(`[id="${n}"]`);if(!r)return null;let a=r.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,o);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),o);let c=this._svgElementFromString(Rh("<svg></svg>"));return c.appendChild(a),this._setSvgAttributes(c,o)}_svgElementFromString(e){let n=this._document.createElement("DIV");n.innerHTML=e;let o=n.querySelector("svg");if(!o)throw Error("<svg> tag not found");return o}_toSvgElement(e){let n=this._svgElementFromString(Rh("<svg></svg>")),o=e.attributes;for(let r=0;r<o.length;r++){let{name:a,value:c}=o[r];a!=="id"&&n.setAttribute(a,c)}for(let r=0;r<e.childNodes.length;r++)e.childNodes[r].nodeType===this._document.ELEMENT_NODE&&n.appendChild(e.childNodes[r].cloneNode(!0));return n}_setSvgAttributes(e,n){return e.setAttribute("fit",""),e.setAttribute("height","100%"),e.setAttribute("width","100%") Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),te=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();var sae=["mat-icon-button",""],lae=["*"],cae=new kt("MAT_BUTTON_CONFIG");function q7(t){return t==null?void 0:io(t)}var R3=(()=>{class t{_elementRef=f(Lt);_ngZone=f(bi);_animationsDisabled=Qi();_config=f(cae,{optional:!0});_focusMonitor=f(xr);_cleanupClick;_renderer=f(ii);_rippleLoader=f(WC);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(e){this.tabIndex=e}constructor(){f(Go).load(yr);let e=this._elementRef.nativeElement;this._isAnchor=e.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(e,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",n){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,n):this._elementRef.nativeElement.focus(n)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}))}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(n,o){n&2&&(It("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled())("tabindex",o._getTabIndex()),Mo(o.color?"mat-"+o.color:""),je("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("mat-unthemed",!o.color)("_mat-animation-noopable",o._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",dt],disabled:[2,"disabled","disabled",dt],ariaDisabled:[2,"aria-disabled","ariaDisabled",dt],disabledInteractive:[2,"disabledInteractive","disabledInteractive",dt],tabIndex:[2,"tabIndex","tabIndex",q7],_tabindex:[2,"tabindex","_tabindex",q7]}})}return t})(),ze=(()=>{class t extends R3{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[xn],attrs:sae,ngContentSelectors:lae,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(n,o){n&1&&(En(),jr(0,"span",0),Yt(1),jr(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0Line truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();var dae=["matButton",""],mae=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],pae=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var X7=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),le=(()=>{class t extends R3{get appearance(){return this._appearance}set appearance(e){this.setAppearance(e||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let e=uae(this._elementRef.nativeElement);e&&this.setAppearance(e)}setAppearance(e){if(e===this._appearance)return;let n=this._elementRef.nativeElement.classList,o=this._appearance?X7.get(this._appearance):null,r=X7.get(e);o&&n.remove(...o),n.add(...r),this._appearance=e}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[xn],attrs:dae,ngContentSelectors:pae,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(n,o){n&1&&(En(mae),jr(0,"span",0),Yt(1),_o(2,"span",1),Yt(3,1),wo(),Yt(4,2),jr(5,"span",2)(6,"span",3)),n&2&&je("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}@media(hover: none){.mat-mdc-button-base:hover>span.mat-mdc-button-persistent-ripple::before{opacity:0}}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-button-text-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{backgroLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();function uae(t){return t.hasAttribute("mat-raised-button")?"elevated":t.hasAttribute("mat-stroked-button")?"outlined":t.hasAttribute("mat-flat-button")?"filled":t.hasAttribute("mat-button")?"text":null}var $=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[ss,wn]})}return t})();function hae(t,i){t&1&&(s(0,"div",1),F(1,"mat-spinner",3),l())}function fae(t,i){if(t&1){let e=j();s(0,"div",2)(1,"div",4)(2,"mat-icon"),d(3,"error_outline"),l()(),s(4,"div"),d(5),l(),s(6,"div")(7,"button",5),v("click",function(){D(e);let o=b(2);return P(o.refresh())}),s(8,"mat-icon"),d(9,"refresh"),l()(),s(10,"button",6)(11,"mat-icon"),d(12,"home"),l()()()()}if(t&2){let e,n=b(2);u(5),X("Error occurred: ",(e=n.error())==null?null:e.message)}}function gae(t,i){if(t&1&&(s(0,"div",0),A(1,hae,2,0,"div",1),A(2,fae,13,1,"div",2),l()),t&2){let e=b();u(),O(e.visible()&&!e.error()?1:-1),u(),O(e.error()?2:-1)}}var Jm=(()=>{class t{progressService=f(zo);router=f(ut);visible=me(!1);error=me(null);routerSubscription;ngOnInit(){this.progressService.state.subscribe(e=>{this.visible.set(e.visible),e.error&&!this.error()&&this.error.set(e.error),e.clear&&this.error.set(null)}),this.routerSubscription=this.router.events.subscribe(()=>{this.progressService.clear()})}refresh(){this.router.navigateByUrl(this.router.url)}ngOnDestroy(){this.routerSubscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-progress"]],decls:1,vars:1,consts:[[1,"overlay"],[1,"loading-spinner"],[1,"error-state"],["color","primary"],[1,"error-icon"],["mat-button","","matTooltip","Refresh page","matTooltipClass","custom-tooltip",3,"click"],["mat-button","","routerLink","/","matTooltip","Go to home","matTooltipClass","custom-tooltip"]],template:function(n,o){n&1&&A(0,gae,3,2,"div",0),n&2&&O(o.visible()||o.error()?0:-1)},dependencies:[Z,Si,Xo,te,se,$,le,Gt,Kt,cn],styles:[".overlay[_ngcontent-%COMP%]{position:fixed;width:100%;height:100%;inset:0;background-color:color-mix(in srgb,var(--mat-sys-shadow) 50%,transparent);z-index:2000}.loading-spinner[_ngcontent-%COMP%], .error-state[_ngcontent-%COMP%]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.error-state[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{text-align:center}.error-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px}"],changeDetection:0})}return t})();var Qf=class{authToken;id;name;location;host;port;path;ubridge_path;status="stopped";protocol;username;password;tokenExpired=!1};var We=(()=>{class t{httpController;controllerIds=[];serviceInitialized=new Le;isServiceInitialized;constructor(e){this.httpController=e,this.controllerIds=this.getcontrollerIds(),this.isServiceInitialized=!0,this.serviceInitialized.next(this.isServiceInitialized)}getcontrollerIds(){let e=localStorage.getItem("controllerIds");if(e?.length>0){let n=e.split(",");return[...new Set(n)].filter(o=>o&&o.trim().length>0)}return[]}updatecontrollerIds(){localStorage.removeItem("controllerIds"),localStorage.setItem("controllerIds",this.controllerIds.toString())}get(e){let n=JSON.parse(localStorage.getItem(`controller-${e}`));return new Promise(r=>{r(n)})}create(e){if(this.findAllSync().some(c=>c.name===e.name))return Promise.reject(new Error(`Controller with name "${e.name}" already exists`));let o=this.controllerIds.map(c=>parseInt(c.replace("controller-",""),10)).filter(c=>!isNaN(c)),r=o.length>0?Math.max(...o):0;return e.id=r+1,localStorage.setItem(`controller-${e.id}`,JSON.stringify(e)),this.controllerIds.push(`controller-${e.id}`),this.updatecontrollerIds(),new Promise(c=>{c(e)})}findAllSync(){let e=[];return this.controllerIds.forEach(n=>{let o=localStorage.getItem(n);o&&e.push(JSON.parse(o))}),e}isControllerNameTaken(e){return this.findAllSync().some(o=>o.name===e)}update(e){return localStorage.removeItem(`controller-${e.id}`),localStorage.setItem(`controller-${e.id}`,JSON.stringify(e)),new Promise(o=>{o(e)})}findAll(){return new Promise(n=>{let o=[];this.controllerIds.forEach(r=>{let a=localStorage.getItem(r);if(a){let c=JSON.parse(a);o.push(c)}}),n(o)})}delete(e){return localStorage.removeItem(`controller-${e.id}`),this.controllerIds=this.controllerIds.filter(o=>o!==`controller-${e.id}`),this.updatecontrollerIds(),new Promise(o=>{o(e.id)})}getControllerUrl(e){return`${e.protocol}//${e.host}:${e.port}/`}checkControllerVersion(e){return this.httpController.get(e,"/version")}getLocalController(e,n){return new Promise((r,a)=>{this.findAll().then(c=>{let m=c.find(p=>p.location==="bundled");if(m)m.host=e,m.port=n,m.protocol=location.protocol,this.update(m).then(p=>{r(p)},a);else{let p=new Qf;p.name="local",p.host=e,p.port=n,p.location="bundled",p.protocol=location.protocol,this.create(p).then(h=>{r(h)},a)}},a)})}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}retu Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Mae=new kt("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let t=f(Di);return()=>RC(t)}});var Kf=new WeakMap,kae=(()=>{class t{_canHaveBackdrop;_element=f(Lt);_viewContainerRef=f(co);_menuItemInstance=f(ot,{optional:!0,self:!0});_dir=f(Hr,{optional:!0});_focusMonitor=f(xr);_ngZone=f(bi);_injector=f(Di);_scrollStrategy=f(Mae);_changeDetectorRef=f(K);_animationsDisabled=Qi();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=so.EMPTY;_menuCloseSubscription=so.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(n=>{this._destroyMenu(n),(n==="click"||n==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(n)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(e){this._canHaveBackdrop=e;let n=f(L3,{optional:!0});this._parentMaterialMenu=n instanceof Fn?n:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&Kf.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){if(this._triggerIsAriaDisabled())return;let n=this._menu;if(this._menuOpen||!n)return;this._pendingRemoval?.unsubscribe();let o=Kf.get(n);Kf.set(n,this),o&&o!==this&&o._closeMenu();let r=this._createOverlay(n),a=r.getConfig(),c=a.positionStrategy;this._setPosition(n,c),this._canHaveBackdrop?a.hasBackdrop=n.hasBackdrop==null?!this._triggersSubmenu():n.hasBackdrop:a.hasBackdrop=n.hasBackdrop??!1,r.hasAttached()||(r.attach(this._getPortal(n)),n.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),n.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,n.direction=this.dir,e&&n.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),n instanceof Fn&&(n._setIsOpen(!0),n._directDescendantItems.changes.pipe(rt(n.close)).subscribe(()=>{c.withLockedPosition(!1).reapplyLastPosition(),c.withLockedPosition(!0)}))}focus(e,n){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,n):this._element.nativeElement.focus(n)}_destroyMenu(e){let n=this._overlayRef,o=this._menu;!n||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),o instanceof Fn&&this._ownsMenu(o)?(this._pendingRemoval=o._animationDone.pipe(wi(1)).subscribe(()=>{n.detach(),Kf.has(o)||o.lazyContent?.detach()}),o._setIsOpen(!1)):(n.detach(),o?.lazyContent?.detach()),o&&this._ownsMenu(o)&&Kf.delete(o),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let n=this._getOverlayConfig(e);this._subscribeToPositions(e,n.positionStrategy),this._overlayRef=vm(this._injector,n),this._overlayRef.keydownEvents().subscribe(o=>{this._menu instanceof Fn&&this._menu._handleKeydown(o)})}return this._overlayRef}_getOverlayConfig(e){return new fm({positionStrategy:FC(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,n){e.setPositionClasses&&n.positionChanges.subscribe(o=>{this._ngZone.run(()=>{let r=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(r,a)})})}_setPosition(e,n){let[o,r]=e.xPosition==="before"?["end","start"]:["start","end"],[a,c]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[m,p]=[a,c],[h,g]=[o,r],M=0;if(this._triggersSubmenu()){if(g=o=e.xPosition==="before"?"start":"end",r=h=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let C=this._parentMaterialMenu.items.first;this._parentInnerPadding=C?C._getHostElement().offsetTop:0}M=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(m=a==="top"?"bottom":"top",p=c==="top"?"bottom":"top");n.withPos Line truncated
`],encapsulation:2})}return t})(),Wn=(()=>{class t extends R1{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matCellDef",""]],features:[hn([{provide:R1,useExisting:t}]),xn]})}return t})(),qn=(()=>{class t extends F1{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matHeaderCellDef",""]],features:[hn([{provide:F1,useExisting:t}]),xn]})}return t})();var Xn=(()=>{class t extends qm{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[hn([{provide:qm,useExisting:t}]),xn]})}return t})(),Qn=(()=>{class t extends I8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[xn]})}return t})();var Yn=(()=>{class t extends A8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[xn]})}return t})();var Kn=(()=>{class t extends Sv{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",dt]},features:[hn([{provide:Sv,useExisting:t}]),xn]})}return t})();var Zn=(()=>{class t extends L1{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[hn([{provide:L1,useExisting:t}]),xn]})}return t})(),Jn=(()=>{class t extends lI{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275cmp=L({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[hn([{provide:lI,useExisting:t}]),xn],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(n,o){n&1&&Xi(0,0)},dependencies:[Fu],encapsulation:2})}return t})();var ei=(()=>{class t extends cI{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275cmp=L({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[hn([{provide:cI,useExisting:t}]),xn],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(n,o){n&1&&Xi(0,0)},dependencies:[Fu],encapsulation:2})}return t})();var In=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[B1,wn]})}return t})(),Aae=9007199254740991,Nr=class extends Kl{_data;_renderData=new qt([]);_filter=new qt("");_internalPageChanges=new Le;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(i){i=Array.isArray(i)?i:[],this._data.next(i),this._renderChangesSubscription||this._filterData(i)}get filter(){return this._filter.value}set filter(i){this._filter.next(i),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(i){this._sort=i,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(i){this._paginator=i,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(i,e)=>{let n=i[e];if(J5(n)){let o=Number(n);return o<Aae?o:n}return n};sortData=(i,e)=>{let n=e.active,o=e.direction;return!n||o==""?i:i.sort((r,a)=>{let c=this.sortingDataAccessor(r,n),m=this.sortingDataAccessor(a,n),p=typeof c,h=typeof m;p!==h&&(p==="number"&&(c+=""),h==="number"&&(m+=""));let g=0;return c!=null&&m!=null?c>m?g=1:c<m&&(g=-1):c!=null?g=1:m!=null&&(g=-1),g*(o=="asc"?1:-1)})};filterPredicate=(i,e)=>{let n=e.trim().toLowerCase();return Object.values(i).some(o=>`${o}`.toLowerCase().includes(n))};constructor(i=[]){super(),this._data=new qt(i),this._updateChangeSubscription()}_updateChangeSubscription(){let i=this._sort?Dn(this._sort.sortChange,this._sort.initialized):xt(null),e=this._paginator?Dn(this._paginator.page,this._internalPageChanges,this._paginator.initialized):xt(null),n=this._data,o=rr([n,this._filter]).pipe(yt(([c])=>this._filterData(c))),r=rr([o,i]).pipe(yt(([c])=>this._orderData(c))),a=rr([r,e]).pipe(yt(([c])=>this._pageData(c)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription= Line truncated
`],encapsulation:2})}return t})(),Zv=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new Le;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(i,e){this.overlayRef=i,this.config=e,this.disableClose=e.disableClose,this.backdropClick=i.backdropClick(),this.keydownEvents=i.keydownEvents(),this.outsidePointerEvents=i.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(n=>{n.keyCode===27&&!this.disableClose&&!cr(n)&&(n.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=i.detachments().subscribe(()=>{e.closeOnOverlayDetachments!==!1&&this.close()})}close(i,e){if(this._canClose(i)){let n=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),n.next(i),n.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(i="",e=""){return this.overlayRef.updateSize({width:i,height:e}),this}addPanelClass(i){return this.overlayRef.addPanelClass(i),this}removePanelClass(i){return this.overlayRef.removePanelClass(i),this}_canClose(i){let e=this.config;return!!this.containerInstance&&(!e.closePredicate||e.closePredicate(i,e,this.componentInstance))}},Nae=new kt("DialogScrollStrategy",{providedIn:"root",factory:()=>{let t=f(Di);return()=>Oh(t)}}),V3=new kt("DialogData"),Rae=new kt("DefaultDialogConfig");function Fae(t){let i=me(t),e=new ve;return{valueSignal:i,get value(){return i()},change:e,ngOnDestroy(){e.complete()}}}var eb=(()=>{class t{_injector=f(Di);_defaultOptions=f(Rae,{optional:!0});_parentDialog=f(t,{optional:!0,skipSelf:!0});_overlayContainer=f(gm);_idGenerator=f(Oi);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new Le;_afterOpenedAtThisLevel=new Le;_ariaHiddenElements=new Map;_scrollStrategy=f(Nae);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=xc(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(li(void 0)));constructor(){}open(e,n){let o=this._defaultOptions||new ep;n=H(H({},o),n),n.id=n.id||this._idGenerator.getId("cdk-dialog-"),n.id&&this.getDialogById(n.id);let r=this._getOverlayConfig(n),a=vm(this._injector,r),c=new Zv(a,n),m=this._attachContainer(a,c,n);if(c.containerInstance=m,!this.openDialogs.length){let p=this._overlayContainer.getContainerElement();m._focusTrapped?m._focusTrapped.pipe(wi(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(p)}):this._hideNonDialogContentFromAssistiveTechnology(p)}return this._attachDialogContent(e,c,m,n),this.openDialogs.push(c),c.closed.subscribe(()=>this._removeOpenDialog(c,!0)),this.afterOpened.next(c),c}closeAll(){B3(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(n=>n.id===e)}ngOnDestroy(){B3(this._openDialogsAtThisLevel,e=>{e.config.closeOnDestroy===!1&&this._removeOpenDialog(e,!1)}),B3(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){let n=new fm({positionStrategy:e.positionStrategy||_m().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation,disableAnimations:e.disableAnimations});return e.backdropClass&&(n.backdropClass=e.backdropClass),n}_attachContainer(e,n,o){let r=o.injector||o.viewContainerRef?.injector,a=[{provide:ep,useValue:o},{provide:Zv,useValue:n},{provide:aR,useValue:e}],c;o.container?typeof o.container=="function"?c=o.container:(c=o.container.type,a.push(...o.container.providers(o))):c=Jv;let m=new Ah(c,o.viewContainerRef,Di.create({parent:r||this._injector,providers:a}));return e.attach(m).instance}_attachDialogContent(e,n,o,r){if(e instanceof So){let a=this._createInjector(r,n,o,void 0),c={$implicit:r.data,dialogRef:n};r.templateContext&&(c=H(H({},c),typeof r.templateContext=="function"?r.templateContext():r.templateContext)),o.attachTemplatePortal(new ol(e,null,c,a))}else{let a=this._createInjector(r,n,o,this._injector),c=o.attachComponentPortal(new Ah(e,r.viewContainerRef,a));n.componentRef=c,n.componentInstance=c.instance}}_createInjector(e,n,o,r){let a=e.injector||e.viewContainerRef?.injector,c=[{provide:V3,useValue:e.data},{provide:Zv,useValue:n}];return e.providers&&(typeof e.providers=="function"?c.push(...e.providers(n,e,o)):c.push(. Line truncated
`],encapsulation:2})}return t})(),K7="--mat-dialog-transition-duration";function Z7(t){return t==null?null:typeof t=="number"?t:t.endsWith("ms")?U_(t.substring(0,t.length-2)):t.endsWith("s")?U_(t.substring(0,t.length-1))*1e3:t==="0"?0:null}var Hy=(function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t})(Hy||{}),Pe=class{_ref;_config;_containerInstance;componentInstance;componentRef=null;disableClose;id;_afterOpened=new bd(1);_beforeClosed=new bd(1);_result;_closeFallbackTimeout;_state=Hy.OPEN;_closeInteractionType;constructor(i,e,n){this._ref=i,this._config=e,this._containerInstance=n,this.disableClose=e.disableClose,this.id=i.id,i.addPanelClass("mat-mdc-dialog-panel"),n._animationStateChanged.pipe(Pn(o=>o.state==="opened"),wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),n._animationStateChanged.pipe(Pn(o=>o.state==="closed"),wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),i.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Dn(this.backdropClick(),this.keydownEvents().pipe(Pn(o=>o.keyCode===27&&!this.disableClose&&!cr(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),J7(this,o.type==="keydown"?"keyboard":"mouse"))})}close(i){let e=this._config.closePredicate;e&&!e(i,this._config,this.componentInstance)||(this._result=i,this._containerInstance._animationStateChanged.pipe(Pn(n=>n.state==="closing"),wi(1)).subscribe(n=>{this._beforeClosed.next(i),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),n.totalTime+100)}),this._state=Hy.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(i){let e=this._ref.config.positionStrategy;return i&&(i.left||i.right)?i.left?e.left(i.left):e.right(i.right):e.centerHorizontally(),i&&(i.top||i.bottom)?i.top?e.top(i.top):e.bottom(i.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(i="",e=""){return this._ref.updateSize(i,e),this}addPanelClass(i){return this._ref.addPanelClass(i),this}removePanelClass(i){return this._ref.removePanelClass(i),this}getState(){return this._state}_finishDialogClose(){this._state=Hy.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function J7(t,i,e){return t._closeInteractionType=i,t.close(e)}var Nt=new kt("MatMdcDialogData"),jae=new kt("mat-mdc-dialog-default-options"),$ae=new kt("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let t=f(Di);return()=>Oh(t)}}),Je=(()=>{class t{_defaultOptions=f(jae,{optional:!0});_scrollStrategy=f($ae);_parentDialog=f(t,{optional:!0,skipSelf:!0});_idGenerator=f(Oi);_injector=f(Di);_dialog=f(eb);_animationsDisabled=Qi();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new Le;_afterOpenedAtThisLevel=new Le;dialogConfigClass=Uy;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=xc(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(li(void 0)));constructor(){this._dialogRefConstructor=Pe,this._dialogContainerType=zae,this._dialogDataToken=Nt}open(e,n){let o;n=H(H({},this._defaultOptions||new Uy),n),n.id=n.id||this._idGenerator.getId("mat-mdc-dialog-"),n.scrollStrategy=n.scrollStrategy||this._scrollStrategy();let r=this._dialog.open(e,tt(H({},n),{positionStrategy:_m(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||n.enterAnimationDuration?.toLocaleString()==="0"||n.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:n},{provide:ep,useValue:n}]},templateContext:()=>({dialogRef:o}),providers:(a,c,m)=>(o=new this._dialogRefConstructor(a,n,m),o.updatePosition(n?.position),[{provide:this._dialogContainerType,useValue:m},{provide:this._dialogDataToken,useValue:c.data},{provide:this._dialogRefConstructor,useValue:o}])}));return o.componentRef=r.componentRef,o.componentInstance=r.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Uae={passive:!0},nV=(()=>{class t{_platform=f(Ta);_ngZone=f(bi);_renderer=f(yd).createRenderer(null,null);_styleLoader=f(Go);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return Zr;this._styleLoader.load(Hae);let n=Yl(e),o=this._monitoredElements.get(n);if(o)return o.subject;let r=new Le,a="cdk-text-field-autofilled",c=p=>{p.animationName==="cdk-text-field-autofill-start"&&!n.classList.contains(a)?(n.classList.add(a),this._ngZone.run(()=>r.next({target:p.target,isAutofilled:!0}))):p.animationName==="cdk-text-field-autofill-end"&&n.classList.contains(a)&&(n.classList.remove(a),this._ngZone.run(()=>r.next({target:p.target,isAutofilled:!1})))},m=this._ngZone.runOutsideAngular(()=>(n.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(n,"animationstart",c,Uae)));return this._monitoredElements.set(n,{subject:r,unlisten:m}),r}stopMonitoring(e){let n=Yl(e),o=this._monitoredElements.get(n);o&&(o.unlisten(),o.subject.complete(),n.classList.remove("cdk-text-field-autofill-monitored"),n.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(n))}ngOnDestroy(){this._monitoredElements.forEach((e,n)=>this.stopMonitoring(n))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var iV=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({})}return t})();var oV=new kt("MAT_INPUT_VALUE_ACCESSOR");var Gae=["button","checkbox","file","hidden","image","radio","range","reset","submit"],Wae=new kt("MAT_INPUT_CONFIG"),Te=(()=>{class t{_elementRef=f(Lt);_platform=f(Ta);ngControl=f(BC,{optional:!0,self:!0});_autofillMonitor=f(nV);_ngZone=f(bi);_formField=f(Bh,{optional:!0});_renderer=f(ii);_uid=f(Oi).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=f(Wae,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new Le;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=UC(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(be.required)??!1}set required(e){this._required=UC(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&kE().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=UC(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>kE().has(e));constructor(){let e=f(Ci,{optional:!0}),n=f(pt,{optional:!0}),o=f(kd),r=f(oV,{optional:!0,self:!0}),a=this._elementRef.nativeElement,c=a.nodeName.toLowerCase();r?T5(r.value)?this._signalBasedValueAccessor=r:this._inputValueAccessor=r:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new QC(o,this.ngControl,n,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=c==="select",this._isTextarea=c==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&Ns(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl. Line truncated
`),u(),O(o.hasAction?2:-1))},dependencies:[le,Kae,Zae,Jae],styles:[`.mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto}
`],encapsulation:2,changeDetection:0})}return t})(),j3="_mat-snack-bar-enter",$3="_mat-snack-bar-exit",ese=(()=>{class t extends NC{_ngZone=f(bi);_elementRef=f(Lt);_changeDetectorRef=f(K);_platform=f(Ta);_animationsDisabled=Qi();snackBarConfig=f(Zf);_document=f(Pi);_trackedModals=new Set;_enterFallback;_exitFallback;_injector=f(Di);_announceDelay=150;_announceTimeoutId;_destroyed=!1;_portalOutlet;_onAnnounce=new Le;_onExit=new Le;_onEnter=new Le;_animationState="void";_live;_label;_role;_liveElementId=f(Oi).getId("mat-snack-bar-container-live-");constructor(){super();let e=this.snackBarConfig;e.politeness==="assertive"&&!e.announcementMessage?this._live="assertive":e.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(e){this._assertNotAttached();let n=this._portalOutlet.attachComponentPortal(e);return this._afterPortalAttached(),n}attachTemplatePortal(e){this._assertNotAttached();let n=this._portalOutlet.attachTemplatePortal(e);return this._afterPortalAttached(),n}attachDomPortal=e=>{this._assertNotAttached();let n=this._portalOutlet.attachDomPortal(e);return this._afterPortalAttached(),n};onAnimationEnd(e){e===$3?this._completeExit():e===j3&&(clearTimeout(this._enterFallback),this._ngZone.run(()=>{this._onEnter.next(),this._onEnter.complete()}))}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce(),this._animationsDisabled?ar(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(j3)))},{injector:this._injector}):(clearTimeout(this._enterFallback),this._enterFallback=setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-snack-bar-fallback-visible"),this.onAnimationEnd(j3)},200)))}exit(){return this._destroyed?xt(void 0):(this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._animationsDisabled?ar(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd($3)))},{injector:this._injector}):(clearTimeout(this._exitFallback),this._exitFallback=setTimeout(()=>this.onAnimationEnd($3),200))}),this._onExit)}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){clearTimeout(this._exitFallback),queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let e=this._elementRef.nativeElement,n=this.snackBarConfig.panelClass;n&&(Array.isArray(n)?n.forEach(a=>e.classList.add(a)):e.classList.add(n)),this._exposeToModals();let o=this._label.nativeElement,r="mdc-snackbar__label";o.classList.toggle(r,!o.querySelector(`.${r}`))}_exposeToModals(){let e=this._liveElementId,n=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let o=0;o<n.length;o++){let r=n[o],a=r.getAttribute("aria-owns");this._trackedModals.add(r),a?a.indexOf(e)===-1&&r.setAttribute("aria-owns",a+" "+e):r.setAttribute("aria-owns",e)}}_clearFromModals(){this._trackedModals.forEach(e=>{let n=e.getAttribute("aria-owns");if(n){let o=n.replace(this._liveElementId,"").trim();o.length>0?e.setAttribute("aria-owns",o):e.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{if(this._destroyed)return;let e=this._elementRef.nativeElement,n=e.querySelector("[aria-hidden]"),o=e.querySelector("[aria-live]");if(n&&o){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&n.contains(document.activeElement)&&(r=document.activeElement),n.removeAttribute("aria-hidden"),o.appendChild(n),r?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(n,o){if(n&1&&gn(rs,7)(Xae,7),n&2){let r;gt(r=_t())&&(o._portalOutlet=r.first),gt(r=_t())&&(o._label=r.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:6,hostBindings:function(n,o){n&1&&v("animationend",function(a){return o.onAnimationEnd(a.animationName)})("animationcancel",function(a){return o.onAnimationEnd(a.animationName)}),n&2&&je("mat-snack-bar-container-enter",o._animationState==="visible")("mat-snack-bar-container-exit",o._animationState==="hidden")("mat-snack-bar-container-animations-enabled",!o._animationsDisabled)},features:[xn],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(n,o){n&1&&(s(0,"div",1)(1,"div",2,0)(3,"div",3),Ae(4,Qae,0,0,"ng-template",4),l(),F(5,"div"),l()()),n& Line truncated
`],encapsulation:2})}return t})(),tse=new kt("mat-snack-bar-default-options",{providedIn:"root",factory:()=>new Zf}),Qr=(()=>{class t{_live=f(fR);_injector=f(Di);_breakpointObserver=f(Fh);_parentSnackBar=f(t,{optional:!0,skipSelf:!0});_defaultConfig=f(tse);_animationsDisabled=Qi();_snackBarRefAtThisLevel=null;simpleSnackBarComponent=rV;snackBarContainerComponent=ese;handsetCssClass="mat-mdc-snack-bar-handset";get _openedSnackBarRef(){let e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}constructor(){}openFromComponent(e,n){return this._attach(e,n)}openFromTemplate(e,n){return this._attach(e,n)}open(e,n="",o){let r=H(H({},this._defaultConfig),o);return r.data={message:e,action:n},r.announcementMessage===e&&(r.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,r)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,n){let o=n&&n.viewContainerRef&&n.viewContainerRef.injector,r=Di.create({parent:o||this._injector,providers:[{provide:Zf,useValue:n}]}),a=new Ah(this.snackBarContainerComponent,n.viewContainerRef,r),c=e.attach(a);return c.instance.snackBarConfig=n,c.instance}_attach(e,n){let o=H(H(H({},new Zf),this._defaultConfig),n),r=this._createOverlay(o),a=this._attachSnackBarContainer(r,o),c=new Yu(a,r);if(e instanceof So){let m=new ol(e,null,{$implicit:o.data,snackBarRef:c});c.instance=a.attachTemplatePortal(m)}else{let m=this._createInjector(o,c),p=new Ah(e,void 0,m),h=a.attachComponentPortal(p);c.instance=h.instance}return this._breakpointObserver.observe(Jl.HandsetPortrait).pipe(rt(r.detachments())).subscribe(m=>{r.overlayElement.classList.toggle(this.handsetCssClass,m.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(c,o),this._openedSnackBarRef=c,this._openedSnackBarRef}_animateSnackBar(e,n){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),n.announcementMessage&&this._live.clear()}),n.duration&&n.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(n.duration)),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter()}_createOverlay(e){let n=new fm;n.direction=e.direction;let o=_m(this._injector),r=e.direction==="rtl",a=e.horizontalPosition==="left"||e.horizontalPosition==="start"&&!r||e.horizontalPosition==="end"&&r,c=!a&&e.horizontalPosition!=="center";return a?o.left("0"):c?o.right("0"):o.centerHorizontally(),e.verticalPosition==="top"?o.top("0"):o.bottom("0"),n.positionStrategy=o,n.disableAnimations=this._animationsDisabled,vm(this._injector,n)}_createInjector(e,n){let o=e&&e.viewContainerRef&&e.viewContainerRef.injector;return Di.create({parent:o||this._injector,providers:[{provide:Yu,useValue:n},{provide:Gy,useValue:e.data}]})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Zc=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({providers:[Qr],imports:[rl,Fs,$,rV,wn]})}return t})();var fe=(()=>{class t{snackbar;snackBarConfigForSuccess={duration:4e3,panelClass:["snackabar-success"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};snackBarConfigForWarning={duration:4e3,panelClass:["snackabar-warning"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};snackBarConfigForError={duration:1e4,panelClass:["snackabar-error"],MatSnackBarHorizontalPosition:"center",MatSnackBarVerticalPosition:"bottom"};constructor(e){this.snackbar=e}error(e){console.error(e),this.snackbar.open(e,"Close",this.snackBarConfigForError)}warning(e){this.snackbar.open(e,"Close",this.snackBarConfigForWarning)}success(e){this.snackbar.open(e,"Close",this.snackBarConfigForSuccess)}static \u0275fac=function(n){return new(n||t)(ge(Qr))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var tp=(()=>{class t{data;dialogRef=f(Pe);templateName=me("");constructor(e){this.data=e,this.templateName.set(e.templateName)}onNoClick(){this.dialogRef.close(!1)}onYesClick(){this.dialogRef.close(!0)}static \u0275fac=function(n){return new(n||t)(st(Nt))};static \u0275cmp=L({type:t,selectors:[["app-delete-confirmation-dialog"]],decls:9,vars:1,consts:[["mat-dialog-title",""],[1,"mat-mdc-dialog-content"],["mat-dialog-actions",""],["mat-button","",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"]],template:function(n,o){n&1&&(s(0,"h2",0),d(1,"Delete template"),l(),s(2,"div",1),d(3),l(),s(4,"div",2)(5,"button",3),v("click",function(){return o.onNoCli Line truncated
[mat-card-title], [mat-card-subtitle],
[matCardTitle], [matCardSubtitle]`,"*"],yse=new kt("MAT_CARD_CONFIG"),Tn=(()=>{class t{appearance;constructor(){let e=f(yse,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(n,o){n&2&&je("mat-mdc-card-outlined",o.appearance==="outlined")("mdc-card--outlined",o.appearance==="outlined")("mat-mdc-card-filled",o.appearance==="filled")("mdc-card--filled",o.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:bse,decls:1,vars:0,template:function(n,o){n&1&&(En(),Yt(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Jc=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return t})();var Sl=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return t})();var Wy=(()=>{class t{align="start";static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-mdc-card-actions","mdc-card__actions"],hostVars:2,hostBindings:function(n,o){n&2&&je("mat-mdc-card-actions-align-end",o.align==="end")},inputs:{align:"align"},exportAs:["matCardActions"]})}return t})(),ed=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:xse,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(n,o){n&1&&(En(Cse),Yt(0),_o(1,"div",0),Yt(2,1),wo(),Yt(3,2))},encapsulation:2,changeDetection:0})}return t})();var Dt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();var np=(()=>{class t{dataChange=new qt([]);constructor(){}get data(){return this.dataChange.value}addController(e){let n=this.data.slice();n.push(e),this.dataChange.next(n)}addControllers(e){this.dataChange.next(e)}remove(e){let n=this.data.indexOf(e);n>=0&&(this.data.splice(n,1),this.dataChange.next(this.data.slice()))}find(e){return this.data.find(n=>n.name===e)}findById(e){return this.data.find(n=>n.id===e)}findIndex(e){return this.data.findIndex(n=>n.name===e)}findIndexById(e){return this.data.findIndex(n=>n.id===e)}update(e){let n=this.findIndexById(e.id);n>=0&&(this.data[n]=e,this.dataChange.next(this.data.slice()))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var lV=(t,i)=>i.key;function Sse(t,i){t&1&&(s(0,"mat-error"),d(1,"You must enter a value"),l())}function wse(t,i){if(t&1&&(s(0,"mat-option",9),d(1),l()),t&2){let e=i.$implicit;x("value",e.key),u(),X(" ",e.name," ")}}function Mse(t,i){if(t&1&&(s(0,"mat-option",9),d(1),l()),t&2){let e=i.$implicit;x("value",e.key),u(),X(" ",e.name," ")}}var qy=(()=>{class t{controllerService=f(We);controllerDatabase=f(np);route=f(Ye);router=f(ut);toasterService=f(fe);controllerOptionsVisibility=me(!1);controllerIp;controllerPort;projectId;protocols=[{key:"http:",name:"HTTP"},{key:"https:",name:"HTTPS"}];locations=[{key:"local",name:"Local"},{key:"remote",name:"Remote"}];controllerForm=new Dr({name:new re("",[be.required]),location:new re(""),protocol:new re("http:")});constructor(){}async ngOnInit(){this.controllerService.isServiceInitialized&&this.getControllers(),this.controllerService.serviceInitialized.subscribe(async e=>{e&&this.getControllers()})}async getControllers(){this.controllerIp=this.route.snapshot.paramMap.get("controller_ip"),this.controllerPort=+this.route.snapshot.paramMap.get("controller_port"),this.projectId=this.route.snapshot.paramMap.get("project_id");let n=(await this.controllerService.findAll()).filter(o=>o.host===this.controllerIp&&o.port===this.controllerPort)[0];n?this.router.navigate(["/controller",n.id,"project",this.projectId]):this.controllerOptionsVisibility.set(!0)}createController(){if(!this.controllerForm.get("name").hasError&&!this.controllerForm.get("location").hasError&&!this.controllerForm.get("protocol").hasError){this.toasterService.error("Please use correct values");return}let e=new Qf;e.host=this.controllerIp,e.port=this.controllerPort,e.name=this.controllerForm.get("name").value,e.location=this.controllerForm.get("location").value,e.protocol=this.controllerForm.get("protocol").value,this.controllerService.create(e).then(n=>{this.router.navigate(["/controller",n.id,"project",this.projectId])})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-direct-link"]],decls:22,vars:3,consts:[[1,"content",3,"hidden"],[1,"default-header"],[1,"row"],[1,"col"],[1,"default-content"],[1,"matCard"],[3,"formGroup"],["matInput","","tabindex","1","formControlName","name","placeholder","Name"],["placeholder","Location","formControlName","location"],[3,"value"],["placeholder","Protocol","formControlName","protocol"],[1,"buttons-bar"],["mat-raised-button","","color","primary",3,"click"]],template:function(n,o){n&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1",3),d(4,"Add new controller"),l()()(),s(5,"div",4)(6,"mat-card",5)(7,"form",6)(8,"mat-form-field"),F(9,"input",7),A(10,Sse,2,0,"mat-error"),l(),s(11,"mat-form-field")(12,"mat-select",8),J(13,wse,2,2,"mat-option",9,lV),l()(),s(15,"mat-form-field")(16,"mat-select",10),J(17,Mse,2,2,"mat-option",9,lV),l()()()(),s(19,"div",11)(20,"button",12),v("click",function(){return o.createController Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var Gd=(()=>{class t{panel=f(Ud,{host:!0});_element=f(Lt);_focusMonitor=f(xr);_changeDetectorRef=f(K);_parentChangeSubscription=so.EMPTY;constructor(){f(Go).load(yr);let e=this.panel,n=f(pV,{optional:!0}),o=f(new ka("tabindex"),{optional:!0}),r=e.accordion?e.accordion._stateChanges.pipe(Pn(a=>!!(a.hideToggle||a.togglePosition))):Zr;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Dn(e.opened,e.closed,r,e._inputChanges.pipe(Pn(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Pn(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),n&&(this.expandedHeight=n.expandedHeight,this.collapsedHeight=n.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:cr(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,n){e?this._focusMonitor.focusVia(this._element,e,n):this._element.nativeElement.focus(n)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(n,o){n&1&&v("click",function(){return o._toggle()})("keydown",function(a){return o._keydown(a)}),n&2&&(It("id",o.panel._headerId)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o._getPanelId())("aria-expanded",o._isExpanded())("aria-disabled",o.panel.disabled),yn("height",o._getHeaderHeight()),je("mat-expanded",o._isExpanded())("mat-expansion-toggle-indicator-after",o._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",o._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:io(e)]},ngContentSelectors:Ase,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(n,o){n&1&&(En(Ise),_o(0,"span",0),Yt(1),Yt(2,1),Yt(3,2),wo(),A(4,Ose,3,0,"span",1)),n&2&&(je("mat-content-hide-toggle",!o._showToggle()),u(4),O(o._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header{height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-prograLine truncated
`],encapsulation:2,changeDetection:0})}return t})(),Qy=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return t})(),ip=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return t})(),op=(()=>{class t extends cV{_keyManager;_ownHeaders=new Ql;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(li(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(n=>n.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Cm(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["mat-accordion"]],contentQueries:function(n,o,r){if(n&1&&$i(r,Gd,5),n&2){let a;gt(a=_t())&&(o._headers=a)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(n,o){n&2&&je("mat-accordion-multi",o.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",dt],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[hn([{provide:U3,useExisting:t}]),xn]})}return t})(),wl=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[Xy,Fs,wn]})}return t})();var Ky=(()=>{class t{httpClient=f(os);sanitizer=f(lr);thirdpartylicenses=me("");releasenotes=me("");ngOnInit(){this.httpClient.get(window.location.href+"/3rdpartylicenses.txt",{responseType:"text"}).subscribe(e=>{let n=e.replace(new RegExp(`
`,"g"),"<br />");this.thirdpartylicenses.set(this.sanitizer.bypassSecurityTrustHtml(n))},e=>{e.status===404&&this.thirdpartylicenses.set("Download Solar-PuTTY")}),this.httpClient.get("ReleaseNotes.txt",{responseType:"text"}).subscribe(e=>{let n=e.replace(new RegExp(`
`,"g"),"<br />");this.releasenotes.set(this.sanitizer.bypassSecurityTrustHtml(n))})}goToDocumentation(){window.location.href="https://docs.gns3.com/docs/"}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-help"]],decls:39,vars:2,consts:[[1,"help"],[1,"help__header"],[1,"help__title"],[1,"help__content"],[1,"help__card"],["href","https://downloads.solarwinds.com/solarwinds/GNS3/Solar-PuTTY/Solar-PuTTY-Optional.exe",1,"help__link"],[3,"innerHTML"],["mat-button","","color","primary",1,"help__doc-button",3,"click"]],template:function(n,o){n&1&&(s(0,"div",0)(1,"header",1)(2,"h1",2),d(3,"Help"),l()(),s(4,"main",3)(5,"section",4)(6,"mat-accordion")(7,"mat-expansion-panel")(8,"mat-expansion-panel-header")(9,"mat-panel-title"),d(10," Useful shortcuts "),l()(),s(11,"mat-list")(12,"mat-list-item"),d(13," ctrl + + to zoom in "),l(),s(14,"mat-list-item"),d(15," ctrl + - to zoom out "),l(),s(16,"mat-list-item"),d(17," ctrl + 0 to reset zoom "),l(),s(18,"mat-list-item"),d(19," ctrl + h to hide toolbar "),l(),s(20,"mat-list-item"),d(21," ctrl + a to select all items on map "),l(),s(22,"mat-list-item"),d(23," ctrl + shift + a to deselect all items on map "),l(),s(24,"mat-list-item"),d(25," ctrl + shift + s to go to preferences "),l()()(),s(26,"mat-expansion-panel")(27,"mat-expansion-panel-header")(28,"mat-panel-title"),d(29," Third party components "),l()(),s(30,"a",5),F(31,"div",6),l()(),s(32,"mat-expansion-panel")(33,"mat-expansion-panel-header")(34,"mat-panel-title"),d(35," Release notes "),l()(),F(36,"div",6),l()()(),s(37,"button",7),v("click",function(){return o.goToDocumentation()}),d(38," Go to documentation "),l()()()),n&2&&(u(31),x("innerHTML",o.thirdpartylicenses(),Zp),u(5),x("innerHTML",o.releasenotes(),Zp))},dependencies:[$,le,wl,op,Ud,Gd,ip,Ri,YC,Mc],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.help__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.help__title[_ngcontent-%COMP%]{font-size:32px;font-weight:500;color:var(--mat-sys-on-surface);margin:0;padding-bottom:8px}.help__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.help__card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none;border-bottom:1px solid var(--mat-sys-outline-variant)}.mat-expansion-panel[_ngcontent-%COMP%]:first-of-type{border-top:none}.mat-expansion-panel-header[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.help__doc-button[_ngcontent-%COMP%]{display:block;width:100%;margin-top:20px;height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}.help__link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;font-size:14px;font-weight:400}.help__link[_ngcontent-%COMP%]:hover{text-decoration:underline}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.help__header[_ngcontent-%COMP%]{padding:24px 16px 12px}.help__title[_ngcontent-%COMP%]{font-size:24px}.help__content[_ngcontent-%COMP%]{padding:0 16px 16px}.help__doc-button[_ngcontent-%COMP%]{height:44px;font-size:15px}}"],changeDetection:0})}return t})();var Zy=(()=>{class t{constructor(){}isWindows(){return navigator.platform.indexOf("Win")>-1}isLinux(){return navigator.platform.indexOf("Linux")>-1}isDarwin(){return navigator.platform.indexOf("Mac")>-1}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Jy=(()=>{class t{platformService;constructor(e){this.platformService=e}get(){return this.platformService.isWindows()?this.getForWindows():this.platformService.isDarwin()?this.getForDarwin():this.getForLinux()}getForWindows(){let e=[{name:"Wireshark",locations:["C:\\Program Files\\Wireshark\\Wireshark.exe"],type:"web",resource:"https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe",binary:"Wireshark.exe",sudo:!0,installation_arguments:[],installed:!1,installer:!0}],n={name:"SolarPuTTY",locations:["SolarPuTTY.exe","external\\SolarPuTTY.exe"],type:"web",resource:"",binary:"SolarPuTTY.exe",sudo:!1,installation_arguments:["--only-ask"],installed:!1,installer:!1};return Ai.solarputty_download_url&&(n.resource=Ai.solarputty_download_url,e.push(n)),e}getForLinux(){return[]}getForDarwin(){return[]}static \u0275fac=function(n){return new(n||t)(ge(Zy))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var eS=(()=>{class t{externalSoftwareDefinition;constructor(e){this.exte Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Ot=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[Ht,wn]})}return t})();var Ml=(()=>{class t{httpController;controller_id="";constructor(e){this.httpController=e}login(e,n,o){let r=new q5().set("username",n).set("password",o),a={headers:new Ph().set("Content-Type","application/x-www-form-urlencoded")};return this.httpController.post(e,"/access/users/login",r,a)}getLoggedUser(e){return this.httpController.get(e,"/access/users/me").toPromise()}async getLoggedUserRefToken(e,n){return await this.httpController.post(e,"/access/users/authenticate",{username:n.username,password:n.password}).toPromise()}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var oS=(()=>{class t{httpController;constructor(e){this.httpController=e}get(e){return this.httpController.get(e,"/version")}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var rp=(()=>{class t{notificationService;currentController=null;constructor(e){this.notificationService=e}establishConnection(e){this.currentController&&this.currentController.id===e.id||(this.currentController&&this.disconnect(),this.notificationService.connectToComputeNotifications(e),this.currentController=e)}disconnect(){this.notificationService.disconnect(),this.currentController=null}getCurrentController(){return this.currentController}isConnectedTo(e){return this.currentController&&this.currentController.id===e.id}static \u0275fac=function(n){return new(n||t)(ge(wc))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Jse=["usernameInput"];function ele(t,i){t&1&&F(0,"mat-icon",3)}function tle(t,i){t&1&&F(0,"mat-icon",4)}function nle(t,i){t&1&&F(0,"mat-icon",9)}function ile(t,i){t&1&&F(0,"mat-icon",10)}function ole(t,i){if(t&1&&(s(0,"div",12)(1,"mat-icon",32),d(2,"storage"),l(),s(3,"div",33)(4,"span",34),d(5),l(),s(6,"span",35),d(7),l()()()),t&2){let e=b();u(5),U(e.controllerName),u(2),U(e.controllerAddress)}}function rle(t,i){t&1&&(s(0,"mat-error"),d(1," Username is required "),l())}function ale(t,i){t&1&&(s(0,"mat-error"),d(1," Password is required "),l())}function sle(t,i){t&1&&(s(0,"div",19)(1,"mat-icon",36),d(2,"warning"),l(),s(3,"span"),d(4,"Caps Lock is on"),l()())}function lle(t,i){t&1&&F(0,"mat-progress-spinner",24)}function cle(t,i){t&1&&(s(0,"span"),d(1,"Login"),l())}function dle(t,i){t&1&&F(0,"mat-icon",29)}function mle(t,i){t&1&&F(0,"mat-icon",30)}var rS=(()=>{class t{loginService=f(Ml);controllerService=f(We);controllerDatabase=f(np);route=f(Ye);router=f(ut);toasterService=f(fe);versionService=f(oS);themeService=f(yi);connectionManager=f(rp);controller;returnUrl=me("");usernameInput;version=me("");isLoading=me(!1);hidePassword=me(!0);isCapsLockOn=me(!1);isRememberMeChecked=me(!1);currentYear=new Date().getFullYear();isLightThemeEnabled=ri(()=>this.themeService.getActualTheme()==="light");loginForm=new VC({username:new Nh("",{nonNullable:!0,validators:[be.required]}),password:new Nh("",{nonNullable:!0,validators:[be.required]})});constructor(){}ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.returnUrl.set(this.route.snapshot.queryParams.returnUrl||"/"),this.controllerService.get(parseInt(e,10)).then(n=>{this.controller=n,n.authToken&&this.router.navigate(["/controller",this.controller.id,"projects"]),this.versionService.get(this.controller).subscribe(o=>{this.version.set(o.version)})}),this.loadRememberMeData(),setTimeout(()=>{this.usernameInput&&this.usernameInput.nativeElement.focus()},100)}loadRememberMeData(){let e=localStorage.getItem("isRememberMe");if(e)try{let n=JSON.parse(e);n.isRememberMe&&(this.loginForm.controls.username.setValue(n.username),this.isRememberMeChecked.set(!0))}catch(n){console.error("Failed to parse remember me data",n)}}togglePasswordVisibility(){this.hidePassword.update(e=>!e)}onCapsLock(e){this.isCapsLockOn.set(e.getModifierState&&e.getModifierState("CapsLock"))}login(){if(this.loginForm.invalid){this.toasterService.error("Please enter username and password");return}let e=this.loginForm.value.username,n=this.loginForm.value.password;this.isLoading.set(!0),this.loginService.login(this.controller,e,n).subscribe(async o=>{let r=this.controller;r.authToken=o.access_token,r.username=e,r.password=n,r.tokenExpired=!1,await this.controllerService.update(r),this.connectionManager.establishConnection(r),this.handleRememberMe(e),this.isLoading.set(!1),this.returnUrl().length<=1?this.router.navigate(["/controller",this.controller.id,"projects"]):this.router.navigateByUrl(this.returnUrl())},o=>{this.isLoading.set(!1),this.toasterService.error("Authentication was unsuccessful. The default username and password is admin")})}handleRememberMe(e){if(this.isRememberMeChecked()){let n={username:e,isRememberMe:!0};localStorage.setItem("isRememberMe",JSON.stringify(n)) Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),go=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[ss,ko,wn]})}return t})();var Ca=[];for(let t=0;t<256;++t)Ca.push((t+256).toString(16).slice(1));function fV(t,i=0){return(Ca[t[i+0]]+Ca[t[i+1]]+Ca[t[i+2]]+Ca[t[i+3]]+"-"+Ca[t[i+4]]+Ca[t[i+5]]+"-"+Ca[t[i+6]]+Ca[t[i+7]]+"-"+Ca[t[i+8]]+Ca[t[i+9]]+"-"+Ca[t[i+10]]+Ca[t[i+11]]+Ca[t[i+12]]+Ca[t[i+13]]+Ca[t[i+14]]+Ca[t[i+15]]).toLowerCase()}var Q3,_le=new Uint8Array(16);function Y3(){if(!Q3){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Q3=crypto.getRandomValues.bind(crypto)}return Q3(_le)}var vle=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),K3={randomUUID:vle};function ble(t,i,e){if(K3.randomUUID&&!i&&!t)return K3.randomUUID();t=t||{};let n=t.random??t.rng?.()??Y3();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,i){if(e=e||0,e<0||e+16>i.length)throw new RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`);for(let o=0;o<16;++o)i[e+o]=n[o];return i}return fV(n)}var Ti=ble;var Rr=(()=>{class t{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,n){return this.httpController.get(e,`/templates/${n}`)}addTemplate(e,n){return this.httpController.post(e,"/templates",n)}saveTemplate(e,n){return this.httpController.put(e,`/templates/${n.template_id}`,n)}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Fr=(()=>{class t{getQemuTemplate(){return xt({adapter_type:"e1000",adapters:4,bios_image:"",boot_priority:"c",builtin:!1,category:"guest",cdrom_image:"",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",cpu_throttling:0,cpus:1,custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",hda_disk_image:"",hda_disk_interface:"ide",hdb_disk_image:"",hdb_disk_interface:"ide",hdc_disk_image:"",hdc_disk_interface:"ide",hdd_disk_image:"",hdd_disk_interface:"ide",initrd:"",kernel_command_line:"",kernel_image:"",linked_clone:!0,mac_address:"",name:"",on_close:"power_off",options:"-nographic",platform:"",port_name_format:"Ethernet{0}",port_segment_size:0,process_priority:"normal",qemu_path:"",ram:256,symbol:"qemu_guest",template_id:"",template_type:"qemu",usage:"",replicate_network_connection_state:!0,tpm:!1,uefi:!1,tags:[]})}getVpcsTemplate(){return xt({base_script_file:"vpcs_base_config.txt",builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"telnet",default_name_format:"PC{0}",name:"",symbol:"vpcs_guest",template_id:"",template_type:"vpcs",tags:[]})}getVirtualBoxTemplate(){return xt({adapter_type:"Intel PRO/1000 MT Desktop (82540EM)",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}",port_segment_size:0,ram:0,symbol:"vbox_guest",template_id:"",template_type:"virtualbox",usage:"",use_any_adapter:!1,vmname:"",tags:[]})}getCloudNodeTemplate(){return xt({builtin:!1,category:"guest",compute_id:"local",default_name_format:"Cloud{0}",name:"",ports_mapping:[],remote_console_type:"none",symbol:"cloud",template_id:"",template_type:"cloud",tags:[]})}getEthernetHubTemplate(){return xt({builtin:!1,category:"switch",compute_id:"local",default_name_format:"Hub{0}",name:"",ports_mapping:[],symbol:"hub",template_id:"",template_type:"ethernet_hub",tags:[]})}getEthernetSwitchTemplate(){return xt({builtin:!1,category:"switch",compute_id:"local",console_type:"telnet",default_name_format:"Switch{0}",name:"",ports_mapping:[],symbol:"ethernet_switch",template_id:"",template_type:"ethernet_switch",tags:[]})}getIosTemplate(){return xt({auto_delete_disks:!0,builtin:!1,category:"router",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",default_name_format:"R{0}",disk0:0,disk1:0,exec_area:64,idlemax:500,idlepc:"",idlesleep:30,image:"",mac_addr:"",mmap:!0,name:"",nvram:128,platform:"",private_config:"",ram:128,sparsemem:!0,startup_config:"ios_base_startup-config.txt",symbol:"router",system_id:"FTX0945W0MY",template_id:"",template_type:"dynamips",usage:"",tags:[]})}getVmwareTemplate(){return xt({adapter_type:"e1000",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}",port_segment_size:0,symbol:"vmware_guest",template_id:"",template_type:"vmware",usage:"",use_any_adapter:!1,vmx_path:"",tags:[]})}getDockerTemplate(){return xt Line truncated
`,Tle=[[["","matChipEdit",""]],[["mat-chip-avatar"],["","matChipAvatar",""]],[["","matChipEditInput",""]],"*",[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],Ele=["[matChipEdit]","mat-chip-avatar, [matChipAvatar]","[matChipEditInput]","*","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function Dle(t,i){t&1&&F(0,"span",0)}function Ple(t,i){t&1&&(s(0,"span",1),Yt(1),l())}function Ile(t,i){t&1&&(s(0,"span",3),Yt(1,1),l())}function Ale(t,i){t&1&&Yt(0,2)}function Ole(t,i){t&1&&F(0,"span",7)}function Nle(t,i){if(t&1&&A(0,Ale,1,0)(1,Ole,1,0,"span",7),t&2){let e=b();O(e.contentEditInput?0:1)}}function Rle(t,i){t&1&&Yt(0,3)}function Fle(t,i){t&1&&(s(0,"span",6),Yt(1,4),l())}var CV=["*"],Lle=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0}
`,xV=new kt("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),gV=new kt("MatChipAvatar"),_V=new kt("MatChipTrailingIcon"),vV=new kt("MatChipEdit"),J3=new kt("MatChipRemove"),nA=new kt("MatChip"),yV=(()=>{class t{_elementRef=f(Lt);_parentChip=f(nA);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(e){this._disabled=e}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){f(Go).load(yr),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(n,o){n&2&&(It("disabled",o._getDisabledAttribute())("aria-disabled",o.disabled),je("mdc-evolution-chip__action--primary",o._isPrimary)("mdc-evolution-chip__action--secondary",!o._isPrimary)("mdc-evolution-chip__action--trailing",!o._isPrimary&&!o._isLeading))},inputs:{disabled:[2,"disabled","disabled",dt],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?-1:io(e)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return t})(),iA=(()=>{class t extends yV{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(e){!this.disabled&&this._isPrimary&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(n,o){n&1&&v("click",function(a){return o._handleClick(a)})("keydown",function(a){return o._handleKeydown(a)}),n&2&&(It("tabindex",o._getTabindex()),je("mdc-evolution-chip__action--presentational",!1))},features:[xn]})}return t})();var di=(()=>{class t extends iA{_isPrimary=!1;_handleClick(e){this.disabled||(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(n,o){n&2&&It("aria-hidden",null)},features:[hn([{provide:J3,useExisting:t}]),xn]})}return t})(),zn=(()=>{class t{_changeDetectorRef=f(K);_elementRef=f(Lt);_tagName=f(F5);_ngZone=f(bi);_focusMonitor=f(xr);_globalRippleOptions=f(CR,{optional:!0});_document=f(Pi);_onFocus=new Le;_onBlur=new Le;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=Qi();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=f(Oi).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(e){this._value=e}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(e){this._disabled=e}_disabled=!1;removed=new ve;destroyed=new ve;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=f(WC);_injector=f(Di);constructor(){let e=f(Go);e.load(yr),e.load(jC),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=Dn(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),th Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var Z3=(()=>{class t{_elementRef=f(Lt);_document=f(Pi);constructor(){}initialize(e){this.getNativeElement().focus(),this.setValue(e)}getNativeElement(){return this._elementRef.nativeElement}setValue(e){this.getNativeElement().textContent=e,this._moveCursorToEndOfInput()}getValue(){return this.getNativeElement().textContent||""}_moveCursorToEndOfInput(){let e=this._document.createRange();e.selectNodeContents(this.getNativeElement()),e.collapse(!1);let n=window.getSelection();n.removeAllRanges(),n.addRange(e)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["span","matChipEditInput",""]],hostAttrs:["role","textbox","tabindex","-1","contenteditable","true",1,"mat-chip-edit-input"]})}return t})(),Ble=(()=>{class t extends zn{basicChipAttrName="mat-basic-chip-row";_renderer=f(ii);_cleanupMousedown;_editStartPending=!1;editable=!1;edited=new ve;defaultEditInput;contentEditInput;_alreadyFocused=!1;_isEditing=!1;constructor(){super(),this.role="row",this._onBlur.pipe(rt(this.destroyed)).subscribe(()=>{this._isEditing&&!this._editStartPending&&this._onEditFinish(),this._alreadyFocused=!1})}ngAfterViewInit(){super.ngAfterViewInit(),this._cleanupMousedown=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mousedown",()=>{this._alreadyFocused=this._hasFocus()}))}ngOnDestroy(){super.ngOnDestroy(),this._cleanupMousedown?.()}_hasLeadingActionIcon(){return!this._isEditing&&!!this.editIcon}_hasTrailingIcon(){return!this._isEditing&&super._hasTrailingIcon()}_handleFocus(){!this._isEditing&&!this.disabled&&this.focus()}_handleKeydown(e){e.keyCode===13&&!this.disabled?this._isEditing?(e.preventDefault(),this._onEditFinish()):this.editable&&this._startEditing(e):this._isEditing?e.stopPropagation():super._handleKeydown(e)}_handleClick(e){!this.disabled&&this.editable&&!this._isEditing&&this._alreadyFocused&&(e.preventDefault(),e.stopPropagation(),this._startEditing(e))}_handleDoubleclick(e){!this.disabled&&this.editable&&this._startEditing(e)}_edit(){this._changeDetectorRef.markForCheck(),this._startEditing()}_startEditing(e){if(!this.primaryAction||this.removeIcon&&e&&this._getSourceAction(e.target)===this.removeIcon)return;let n=this.value;this._isEditing=this._editStartPending=!0,ar(()=>{this._getEditInput().initialize(n),setTimeout(()=>this._ngZone.run(()=>this._editStartPending=!1))},{injector:this._injector})}_onEditFinish(){this._isEditing=this._editStartPending=!1,this.edited.emit({chip:this,value:this._getEditInput().getValue()}),(this._document.activeElement===this._getEditInput().getNativeElement()||this._document.activeElement===this._document.body)&&this.primaryAction.focus()}_isRippleDisabled(){return super._isRippleDisabled()||this._isEditing}_getEditInput(){return this.contentEditInput||this.defaultEditInput}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-chip-row"],["","mat-chip-row",""],["mat-basic-chip-row"],["","mat-basic-chip-row",""]],contentQueries:function(n,o,r){if(n&1&&$i(r,Z3,5),n&2){let a;gt(a=_t())&&(o.contentEditInput=a.first)}},viewQuery:function(n,o){if(n&1&&gn(Z3,5),n&2){let r;gt(r=_t())&&(o.defaultEditInput=r.first)}},hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-row","mdc-evolution-chip"],hostVars:29,hostBindings:function(n,o){n&1&&v("focus",function(){return o._handleFocus()})("click",function(a){return o._hasInteractiveActions()?o._handleClick(a):null})("dblclick",function(a){return o._handleDoubleclick(a)}),n&2&&(No("id",o.id),It("tabindex",o.disabled?null:-1)("aria-label",null)("aria-description",null)("role",o.role),je("mat-mdc-chip-with-avatar",o.leadingIcon)("mat-mdc-chip-disabled",o.disabled)("mat-mdc-chip-editing",o._isEditing)("mat-mdc-chip-editable",o.editable)("mdc-evolution-chip--disabled",o.disabled)("mdc-evolution-chip--with-leading-action",o._hasLeadingActionIcon())("mdc-evolution-chip--with-trailing-action",o._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",o.leadingIcon)("mdc-evolution-chip--with-primary-icon",o.leadingIcon)("mdc-evolution-chip--with-avatar",o.leadingIcon)("mat-mdc-chip-highlighted",o.highlighted)("mat-mdc-chip-with-trailing-icon",o._hasTrailingIcon()))},inputs:{editable:"editable"},outputs:{edited:"edited"},features:[hn([{provide:zn,useExisting:t},{provide:nA,useExisting:t}]),xn],ngContentSelectors:Ele,decls:9,vars:8,consts:[[1,"mat-mdc-chip-focus-overlay"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--leading"],["role","gridcell","matChipAction","",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary",3,"disabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],["aria-hidden","true",1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],["matChipEditInput",""]],template:fun Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var eA=class{source;value;constructor(i,e){this.source=i,this.value=e}},mi=(()=>{class t extends Vle{ngControl=f(BC,{optional:!0,self:!0});controlType="mat-chip-grid";_chipInput;_defaultRole="grid";_errorStateTracker;_uid=f(Oi).getId("mat-chip-grid-");_ariaDescribedbyIds=[];_onTouched=()=>{};_onChange=()=>{};get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e,this._syncChipsState(),this.stateChanges.next()}get id(){return this._chipInput?this._chipInput.id:this._uid}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this._chips||this._chips.length===0)}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder="";get focused(){return this._chipInput?.focused||this._hasFocusedChip()}get required(){return this._required??this.ngControl?.control?.hasValidator(be.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get shouldLabelFloat(){return!this.empty||this.focused}get value(){return this._value}set value(e){this._value=e}_value=[];get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get chipBlurChanges(){return this._getChipStream(e=>e._onBlur)}change=new ve;valueChange=new ve;_chips=void 0;stateChanges=new Le;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(){super();let e=f(Ci,{optional:!0}),n=f(pt,{optional:!0}),o=f(kd);this.ngControl&&(this.ngControl.valueAccessor=this),this._errorStateTracker=new QC(o,this.ngControl,n,e,this.stateChanges)}ngAfterContentInit(){this.chipBlurChanges.pipe(rt(this._destroyed)).subscribe(()=>{this._blur(),this.stateChanges.next()}),Dn(this.chipFocusChanges,this._chips.changes).pipe(rt(this._destroyed)).subscribe(()=>this.stateChanges.next())}ngDoCheck(){this.ngControl&&this.updateErrorState()}ngOnDestroy(){super.ngOnDestroy(),this.stateChanges.complete()}registerInput(e){this._chipInput=e,this._chipInput.setDescribedByIds(this._ariaDescribedbyIds),this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(e){!this.disabled&&!this._originatesFromChip(e)&&this.focus()}focus(){if(!(this.disabled||this._chipInput?.focused)){if(!this._chips.length||this._chips.first.disabled){if(!this._chipInput)return;Promise.resolve().then(()=>this._chipInput.focus())}else{let e=this._keyManager.activeItem;e?e.focus():this._keyManager.setFirstItemActive()}this.stateChanges.next()}}get describedByIds(){if(this._chipInput)return this._chipInput.describedByIds||[];let e=this._elementRef.nativeElement.getAttribute("aria-describedby");return e?e.split(" "):[]}setDescribedByIds(e){this._ariaDescribedbyIds=e,this._chipInput?this._chipInput.setDescribedByIds(e):e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(e){this._value=e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}updateErrorState(){this._errorStateTracker.updateErrorState()}_blur(){this.disabled||setTimeout(()=>{this.focused||(this._propagateChanges(),this._markAsTouched())})}_allowFocusEscape(){this._chipInput?.focused||super._allowFocusEscape()}_handleKeydown(e){let n=e.keyCode,o=this._keyManager.activeItem;if(n===9)this._chipInput?.focused&&cr(e,"shiftKey")&&this._chips.length&&!this._chips.last.disabled?(e.preventDefault(),o?this._keyManager.setActiveItem(o):this._focusLastChip()):super._allowFocusEscape();else if(!this._chipInput?.focused)if((n===38||n===40)&&o){let r=this._chipActions.filter(m=>m._isPrimary===o._isPrimary&&!this._skipPredicate(m)),a=r.indexOf(o),c=e.keyCode===38?-1:1;e.preventDefault(),a>-1&&this._isValidIndex(a+c)&&this._keyManager.setActiveItem(r[a+c])}else super._handleKeydown(e);this.stateChanges.next()}_focusLastChip(){this._chips.length&&this._chips.last.focus()}_propagateChanges(){let e=this._chips.length?this._chips.toArray().map(n=>n.value):[];this._value=e,this.change.emit(new eA(this,e)),this.valueChange.emit(e),this._onChange(e),this._changeDetectorRef.markForCheck()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-chip-grid"]],contentQueries:function(n,o,r){if(n&1&&$i(r,Ble,5),n&2){let a;gt(a=_t())&&(o._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mat-mdc-chip-grid","mdc-evolution-chip-set"],hostVars:10,hostBindings:function(n,o){n&1&&v("focus",function(){return o.focus()})("blur",function(){return o._blur()}),n&2&&(It("role",o.role)("tabindex",o.disabled||o._chips&&o._chips.length===0?-1:o.tabIndex)("aria-disabled",o.disabled.toString())("aria-inva Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),jde=(()=>{class t{templateRef=f(So);name;constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:[0,"matStepperIcon","name"]}})}return t})(),$de=(()=>{class t{_template=f(So);constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["ng-template","matStepContent",""]]})}return t})(),cc=(()=>{class t extends _S{_errorStateMatcher=f(kd,{skipSelf:!0});_viewContainerRef=f(co);_isSelected=so.EMPTY;stepLabel=void 0;color;_lazyContent;_portal;ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe(fn(()=>this._stepper.selectionChange.pipe(yt(e=>e.selectedStep===this),li(this._stepper.selected===this)))).subscribe(e=>{e&&this._lazyContent&&!this._portal&&(this._portal=new ol(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(e,n){let o=this._errorStateMatcher.isErrorState(e,n),r=!!(e&&e.invalid&&this.interacted);return o||r}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275cmp=L({type:t,selectors:[["mat-step"]],contentQueries:function(n,o,r){if(n&1&&$i(r,ib,5)(r,$de,5),n&2){let a;gt(a=_t())&&(o.stepLabel=a.first),gt(a=_t())&&(o._lazyContent=a.first)}},hostAttrs:["hidden",""],inputs:{color:"color"},exportAs:["matStep"],features:[hn([{provide:kd,useExisting:t},{provide:_S,useExisting:t}]),xn],ngContentSelectors:EV,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(n,o){n&1&&(En(),Ae(0,kde,2,1,"ng-template"))},dependencies:[rs],encapsulation:2,changeDetection:0})}return t})(),dc=(()=>{class t extends Jf{_ngZone=f(bi);_renderer=f(ii);_animationsDisabled=Qi();_cleanupTransition;_isAnimating=me(!1);_stepHeader=void 0;_animatedContainers;_steps=void 0;steps=new Ql;_icons;animationDone=new ve;disableRipple=!1;color;labelPosition="end";headerPosition="top";headerPrefix=oe(null);_iconOverrides={};get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e)?e+"ms":e}_animationDuration="";_isServer=!f(Ta).isBrowser;constructor(){super();let n=f(Lt).nativeElement.nodeName.toLowerCase();this.orientation=n==="mat-vertical-stepper"?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:e,templateRef:n})=>this._iconOverrides[e]=n),this.steps.changes.pipe(rt(this._destroyed)).subscribe(()=>this._stateChanged()),this.selectedIndexChange.pipe(rt(this._destroyed)).subscribe(()=>{let e=this._getAnimationDuration();e==="0ms"||e==="0s"?this._onAnimationDone():this._isAnimating.set(!0)}),this._ngZone.runOutsideAngular(()=>{this._animationsDisabled||setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-stepper-animations-enabled"),this._cleanupTransition=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionend)},200)})}ngAfterViewInit(){if(super.ngAfterViewInit(),typeof queueMicrotask=="function"){let e=!1;this._animatedContainers.changes.pipe(li(null),rt(this._destroyed)).subscribe(()=>queueMicrotask(()=>{e||(e=!0,this.animationDone.emit()),this._stateChanged()}))}}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransition?.()}_getAnimationDuration(){return this._animationsDisabled?"0ms":this.animationDuration?this.animationDuration:this.orientation==="horizontal"?"500ms":"225ms"}_handleTransitionend=e=>{let n=e.target;if(!n)return;let o=this.orientation==="horizontal"&&e.propertyName==="transform"&&n.classList.contains("mat-horizontal-stepper-content-current"),r=this.orientation==="vertical"&&e.propertyName==="grid-template-rows"&&n.classList.contains("mat-vertical-content-container-active");(o||r)&&this._animatedContainers.find(c=>c.nativeElement===n)&&this._onAnimationDone()};_onAnimationDone(){this._isAnimating.set(!1),this.animationDone.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(n,o,r){if(n&1&&$i(r,cc,5)(r,jde,5),n&2){let a;gt(a=_t())&&(o._steps=a),gt(a=_t())&&(o._icons=a)}},viewQuery:function(n,o){if(n&1&&gn(aA,5)(Tde,5),n&2){let r;gt(r=_t())&&(o._stepHeader=r),gt(r=_t())&&(o._animatedContainers=r)}},hostVars:14,hostBindings:function(n,o){n&2&&(yn("--mat-stepper-animation-duration",o._getAnimationDuration()),je("mat-stepper-horizontal",o.orientation==="horizontal")("mat-stepper-vertical",o.orientation==="vertical")("mat-stepper-label-position-end",o.orientation==="horizontal"&&o.labelPosition=="end")("mat-stepper-label-position-bottom",o.orientation==="horizontal"&&o.labelPosition=="bottom")("mat-stepper-header-position-bottom",o.headerPosition==="bottom")("mat-stepper-animating",o._isAnimating()))},inputs:{disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosi Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),IV=(()=>{class t extends MV{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(n,o){n&2&&No("type",o.type)},features:[xn]})}return t})(),AV=(()=>{class t extends kV{static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275dir=ft({type:t,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(n,o){n&2&&No("type",o.type)},features:[xn]})}return t})(),El=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({providers:[kd],imports:[Fs,TV,te,ss,dc,aA,wn]})}return t})();var td=(()=>{class t{getConsoleTypes(){return["telnet","vnc","http","https","none"]}getAuxConsoleTypes(){return["telnet","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getConsoleResolutions(){return["2560x1440","1920x1080","1680x1050","1440x900","1366x768","1280x1024","1280x800","1024x768","800x600","640x480"]}getMacAddrRegex(){return/^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$/}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var ys=(()=>{class t{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,n){return this.httpController.get(e,`/templates/${n}`)}getImages(e){return this.httpController.get(e,`/computes/${Ai.compute_id}/docker/images`)}addTemplate(e,n){let o=this.prepareTemplate(n);return this.httpController.post(e,"/templates",o)}saveTemplate(e,n){let o=this.prepareTemplate(n);return this.httpController.put(e,`/templates/${n.template_id}`,o)}prepareTemplate(e){return tt(H({},e),{custom_adapters:e.custom_adapters||[]})}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Hde=(t,i)=>i.image;function Ude(t,i){if(t&1&&(s(0,"mat-option",22),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),U(e.image)}}function Gde(t,i){if(t&1){let e=j();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image list"),l(),s(3,"mat-select",30),v("selectionChange",function(o){D(e);let r=b();return P(r.selectedImage=o.value)}),J(4,Ude,2,2,"mat-option",22,Hde),l()()}if(t&2){let e=b();u(3),x("value",e.selectedImage),u(),ee(e.dockerImages)}}function Wde(t,i){if(t&1){let e=j();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image name"),l(),s(3,"input",31),v("input",function(o){D(e);let r=b();return P(r.filename.set(o.target.value))}),l()()}if(t&2){let e=b();u(3),x("value",e.filename())}}function qde(t,i){if(t&1&&(s(0,"mat-option",22),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),U(e)}}function Xde(t,i){if(t&1&&(s(0,"mat-option",22),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),U(e)}}var vS=(()=>{class t{route=f(Ye);controllerService=f(We);dockerService=f(ys);toasterService=f(fe);router=f(ut);templateMocksService=f(Fr);configurationService=f(td);computeService=f(Lo);cd=f(K);controller;dockerTemplate;consoleTypes=[];auxConsoleTypes=[];dockerImages=[];selectedImage;newImageSelected=!1;isLocalComputerChosen=!0;filename=ae("");templateName=ae("");adapters=ae(1);startCommand=ae("");consoleType=ae("");auxConsoleType=ae("");environment=ae("");ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.controllerService.get(parseInt(e,10)).then(n=>{this.controller=n,this.cd.markForCheck(),this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.templateMocksService.getDockerTemplate().subscribe(o=>{this.dockerTemplate=o,this.cd.markForCheck()}),this.dockerService.getImages(n).subscribe(o=>{this.dockerImages=o,this.cd.markForCheck()})})}setControllerType(e){e==="local"&&(this.isLocalComputerChosen=!0)}setDiskImage(e){this.newImageSelected=e==="newImage"}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}addTemplate(){!this.newImageSelected&&this.selectedImage||this.newImageSelected&&this.filename()&&this.templateName()&&this.adapters()?(this.dockerTemplate.template_id=Ti(),this.newImageSelected?this.dockerTemplate.image=this.filename():this.dockerTemplate.image=this.selectedImage.image,this.dockerTemplate.name=this.templateName(),this.dockerTemplate.adapters=this.adapters(),this.dockerTemplate.compute_id="local",this.dockerTemplate.start_command=this.startCommand(),this.dockerTemplate.console_type=this.consoleType()||"none",this.dockerTemplate.aux_type=this.auxConsoleType()||"none",this.dockerTemplate.environment=this.environment(),this.dockerService.addTemplate(this.controller,this.dockerTemplate).subscribe({next:e=>{this.goBack()},error:e=>{let n=e.error?.message||e.messa Line truncated
`],encapsulation:2,changeDetection:0})}return t})();function OV(t,i=0,e=100){return Math.max(i,Math.min(e,t))}var Pl=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();var Il=(()=>{class t{data;_snackRef=f(Yu);_US=f(Dl);uploadProgress=me(0);subscription;upload_file_type;constructor(e){this.data=e}ngOnInit(){this.upload_file_type=this.data.upload_file_type,this.subscription=this._US.currentCount.subscribe(e=>{this.uploadProgress.set(e),(this.uploadProgress()===100||this.uploadProgress()==null)&&this.dismiss()})}dismiss(){this._snackRef.dismiss()}cancelItem(){this._US.cancelFileUploading(!0)}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)(st(Gy))};static \u0275cmp=L({type:t,selectors:[["app-uploading-processbar"]],decls:8,vars:3,consts:[[1,"row","proccessBar-row"],[1,"col-md-9","proccessBar-col"],["mode","determinate","aria-valuemin","0","aria-valuemax","100",3,"value"],[1,"col-md-3","proccessBar-col"],["mat-button","","color","primary",1,"file-button",3,"click"]],template:function(n,o){n&1&&(s(0,"p"),d(1),l(),s(2,"div",0)(3,"div",1),F(4,"mat-progress-bar",2),l(),s(5,"div",3)(6,"button",4),v("click",function(){return o.cancelItem()}),d(7,"Cancel"),l()()()),n&2&&(u(),Hi("",o.upload_file_type," Uploading please wait .... ",o.uploadProgress,"%"),u(3),x("value",o.uploadProgress))},dependencies:[$,le,Pl,nd],styles:[".mat-snack-bar-container[_ngcontent-%COMP%]{min-width:450px}.proccessBar-row[_ngcontent-%COMP%]{display:flex}.proccessBar-col[_ngcontent-%COMP%]{margin:auto}"],changeDetection:0})}return t})();var sp=class{auto_delete_disks;builtin;category;chassis;compute_id;console_auto_start;console_type;aux_type;default_name_format;disk0;disk1;exec_area;idlemax;idlepc;idlesleep;image;iomem;mac_addr;mmap;name;nvram;platform;private_config;ram;slot0;slot1;slot2;slot3;slot4;slot5;slot6;slot7;sparsemem;startup_config;symbol;system_id;template_id;template_type;usage;wic0;wic1;wic2;tags};var lp=(()=>{class t{c2600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW"];c3600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW","NM-4T"];c3700_nms=["NM-1FE-TX","NM-4T","NM-16ESW"];c7200_pas=["PA-A1","PA-FE-TX","PA-2FE-TX","PA-GE","PA-4T+","PA-8T","PA-4E","PA-8E","PA-POS-OC3"];c7200_io=["C7200-IO-FE","C7200-IO-2FE","C7200-IO-GE-E"];c1700_wics=["WIC-1T","WIC-2T","WIC-1ENET"];c2600_wics=["WIC-1T","WIC-2T"];c3700_wics=["WIC-1T","WIC-2T"];getConsoleTypes(){return["telnet","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getDefaultRamSettings(){return{c1700:160,c2600:160,c2691:192,c3600:192,c3725:128,c3745:256,c7200:512}}getDefaultNvRamSettings(){return{c1700:128,c2600:128,c2691:256,c3600:256,c3725:256,c3745:256,c7200:512}}getAvailablePlatforms(){return["c1700","c2600","c2691","c3725","c3745","c3600","c7200"]}getPlatformsWithEtherSwitchRouterOption(){return{c1700:!1,c2600:!0,c2691:!0,c3725:!0,c3745:!0,c3600:!0,c7200:!1}}getPlatformsWithChassis(){return{c1700:!0,c2600:!0,c2691:!1,c3725:!1,c3745:!1,c3600:!0,c7200:!1}}getChassis(){return{c1700:["1720","1721","1750","1751","1760"],c2600:["2610","2611","2620","2621","2610XM","2611XM","2620XM","2621XM","2650XM","2651XM"],c3600:["3620","3640","3660"]}}getNPETypes(){return["npe-100","npe-150","npe-175","npe-200","npe-225","npe-300","npe-400","npe-g2"]}getMidplaneTypes(){return["std","vxr"]}getAdapterMatrix(){let e={};for(let n of["c1700","c2600","c2691","c3725","c3745","c3600","c7200"])e[n]={};for(let n of["1720","1721","1750","1751","1760"])e.c1700[n]={0:["C1700-MB-1FE"]};for(let n of["1751","1760"])e.c1700[n][1]=["C1700-MB-WIC1"];for(let n of["2620","2610XM","2620XM","2650XM"])e.c2600[n]={0:["C2600-MB-1FE"],1:this.c2600_nms};for(let n of["2621","2611XM","2621XM","2651XM"])e.c2600[n]={0:["C2600-MB-2FE"],1:this.c2600_nms};e.c2600[2610]={0:["C2600-MB-1E"],1:this.c2600_nms},e.c2600[2611]={0:["C2600-MB-2E"],1:this.c2600_nms},e.c2691[""]={0:["GT96100-FE"],1:this.c3700_nms},e.c3600[3620]={};for(let n=0;n<2;n++)e.c3600[3620][n]=this.c3600_nms;e.c3600[3640]={};for(let n=0;n<4;n++)e.c3600[3640][n]=this.c3600_nms;e.c3600[3660]={0:["Leopard-2FE"]};for(let n=1;n<7;n++)e.c3600[3660][n]=this.c3600_nms;e.c3725[""]={0:["GT96100-FE"]};for(let n=1;n<3;n++)e.c3725[""][n]=this.c3700_nms;e.c3745[""]={0:["GT96100-FE"]};for(let n=1;n<5;n++)e.c3745[""][n]=this.c3700_nms;e.c7200[""]={0:this.c7200_io};for(let n=1;n<7;n++)e.c7200[""][n]=this.c7200_pas;return e}getWicMatrix(){let e={};return e.c1700={0:this.c1700_wics,1:this.c1700_wics},e.c2600={0:this.c2600_wics,1:this.c2600_wics,2:this.c2600_wics},e.c2691={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3725={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3745={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e}getIdlepcRegex(){return/^(0x[0-9a-fA-F]+)?$|^$/}getMacAddrRegex(){return/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$|^$/ Line truncated
`+p.join(`
`));return}let e=this.data.portNameFormat||"Ethernet{0}",n=this.data.portSegmentSize||0,o=this.data.defaultAdapterType||"e1000",r=[];for(let m of this.adapters()){let p;if(n>0){let C=Math.floor(m.adapter_number/n),_=m.adapter_number%n;p=e.replace("{0}",String(C*n+_))}else p=e.replace("{0}",String(m.adapter_number));let h=m.port_name!==p,g=m.adapter_type!==o,M=m.mac_address&&m.mac_address.length>0;(h||g||M)&&r.push({adapter_number:m.adapter_number,port_name:h?m.port_name:p,adapter_type:m.adapter_type,mac_address:m.mac_address||null})}let a=this.adapters().length,c={adapters:r,requiredAdapters:a};this.dialogRef.close(c)}static \u0275fac=function(n){return new(n||t)(st(Nt))};static \u0275cmp=L({type:t,selectors:[["app-custom-adapters"]],inputs:{adapters:[1,"adapters"]},outputs:{adapters:"adaptersChange"},decls:28,vars:0,consts:[["mat-dialog-title",""],["mat-dialog-content","",1,"content"],[1,"adapter-form"],[1,"adapter-header"],[1,"adapter-header-label"],[1,"adapter-header-field"],[1,"adapter-header-actions"],[1,"adapter-item"],[1,"add-adapter-row"],["mat-button","",1,"add-btn",3,"click"],[1,"info-note-text"],["mat-dialog-actions","","align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"adapter-label"],["appearance","fill","subscriptSizing","dynamic",1,"adapter-field"],["matInput","",3,"input","value","name"],[3,"selectionChange","value","name"],[3,"value"],["matInput","","placeholder","Paste any MAC format",3,"input","value","name"],["mat-icon-button","","matTooltip","Delete",1,"adapter-actions",3,"click"]],template:function(n,o){n&1&&(s(0,"h1",0),d(1,"Custom adapters configuration"),l(),s(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),d(6,"Adapter"),l(),s(7,"span",5),d(8,"Port name"),l(),s(9,"span",5),d(10,"Type"),l(),s(11,"span",5),d(12,"MAC address"),l(),F(13,"span",6),l(),J(14,Wpe,15,11,"div",7,$pe),l(),s(16,"div",8)(17,"button",9),v("click",function(){return o.onAdd()}),s(18,"mat-icon"),d(19,"add"),l(),d(20," Add adapter "),l(),s(21,"div",10),d(22," Deleting an adapter reduces the total number of adapters. Adapter numbers will be renumbered when reopened. Adapters without custom configuration will use default settings. "),l()()(),s(23,"div",11)(24,"button",12),v("click",function(){return o.cancelConfigureCustomAdapters()}),d(25,"Cancel"),l(),s(26,"button",13),v("click",function(){return o.configureCustomAdapters()}),d(27,"Apply"),l()()),n&2&&(u(14),ee(o.adapters()))},dependencies:[$,le,ze,Me,ke,Ni,te,se,we,Te,Mt,At,St,Gt,Kt,Ce,Ve,Be,Wt],styles:["[_nghost-%COMP%]{display:block}.adapter-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.adapter-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--mat-sys-surface-container-lowest);border-radius:12px;border:1px solid color-mix(in srgb,var(--mat-sys-outline) 15%,transparent)}.adapter-item[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--mat-sys-primary) 30%,transparent)}.adapter-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--mat-sys-on-surface);text-align:center}.adapter-header[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:8px 16px;margin-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent);position:sticky;top:0;z-index:10;background:var(--mat-sys-surface);box-shadow:0 2px 4px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.adapter-header-label[_ngcontent-%COMP%], .adapter-header-field[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;text-align:center}.adapter-header-actions[_ngcontent-%COMP%]{width:40px;text-align:center}.adapter-field[_ngcontent-%COMP%], .adapter-actions[_ngcontent-%COMP%]{margin:0;text-align:center}.add-btn[_ngcontent-%COMP%]{flex-shrink:0;width:auto;margin-top:12px;height:48px;border-radius:12px;font-size:14px;font-weight:500;text-transform:none;border:2px dashed color-mix(in srgb,var(--mat-sys-outline) 40%,transparent);color:var(--mat-sys-on-surface-variant)}.add-btn[_ngcontent-%COMP%]:hover{border-color:var(--mat-sys-primary);color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 8%,transparent)}"],changeDetection:0})}return t})();var RV=(t,i)=>i[1],qpe=(t,i)=>i.value;function Xpe(t,i){if(t&1){let e=j();s(0,"button",10),v("click",function(){D(e);let o=b();return P(o.goBack())}),s(1,"mat-icon"),d(2,"arrow_back"),l()()}}function Qpe(t,i){if(t&1){let e=j();s(0,"mat-chip",36),v("removed",function(){let o=D(e).$implicit,r=b(3);return P(r.removeTag(o))}),d(1),s(2,"mat-icon",37),d(3,"cancel"),l()()}if(t&2){let e=i.$implicit;u(),X(" ",e," ")}}function Ype(t,i){if(t&1&&(s(0,"mat-option",31),d(1),l()),t&2){let e=i.$implicit;x("value",e[1]),u(),X(" ",e[0]," ")}}function Kpe(t,i){if(t&1&&(s(0,"mat-opti Line truncated
`],encapsulation:2})}return t})(),lA=new kt("MatBottomSheetData"),sA=class{viewContainerRef;injector;panelClass;direction;data=null;hasBackdrop=!0;backdropClass;disableClose=!1;ariaLabel=null;ariaModal=!1;closeOnNavigation=!0;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;height="";minHeight;maxHeight},gp=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new Le;_result;_closeFallbackTimeout;constructor(i,e,n){this._ref=i,this.containerInstance=n,this.disableClose=e.disableClose,n._animationStateChanged.pipe(Pn(o=>o.phase==="done"&&o.toState==="visible"),wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),n._animationStateChanged.pipe(Pn(o=>o.phase==="done"&&o.toState==="hidden"),wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),i.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),Dn(this.backdropClick(),this.keydownEvents().pipe(Pn(o=>o.keyCode===27))).subscribe(o=>{!this.disableClose&&(o.type!=="keydown"||!cr(o))&&(o.preventDefault(),this.dismiss())})}dismiss(i){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(Pn(e=>e.phase==="start"),wi(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=i,this.containerInstance.exit(),this.containerInstance=null)}afterDismissed(){return this._ref.closed}afterOpened(){return this._afterOpened}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}},yhe=new kt("mat-bottom-sheet-default-options"),mc=(()=>{class t{_injector=f(Di);_parentBottomSheet=f(t,{optional:!0,skipSelf:!0});_animationsDisabled=Qi();_defaultOptions=f(yhe,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=f(eb);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,n){let o=H(H({},this._defaultOptions||new sA),n),r;return this._dialog.open(e,tt(H({},o),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:xhe,scrollStrategy:o.scrollStrategy||Oh(this._injector),positionStrategy:_m(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:r}),providers:(a,c,m)=>(r=new gp(a,o,m),[{provide:gp,useValue:r},{provide:lA,useValue:o.data}])})),r.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===r&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>r.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):r.containerInstance.enter(),this._openedBottomSheetRef=r,r}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),id=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({providers:[mc],imports:[$y,Fs,wn]})}return t})();var whe=(t,i)=>i==null?null:i.name;function Mhe(t,i){if(t&1&&(s(0,"mat-option",10),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),U(e==null?null:e.name)}}function khe(t,i){if(t&1&&(s(0,"mat-option",10),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),U(e)}}function The(t,i){if(t&1){let e=j();s(0,"form",1),v("ngSubmit",function(){D(e);let o=b();return P(o.export_project_form.valid&&o.exportPortableProject())}),s(1,"div",2)(2,"h1",3),d(3,"Export Project"),l(),s(4,"button",4),v("click",function(){D(e);let o=b();return P(o.dialogRef.close())}),s(5,"mat-icon"),d(6,"close"),l()()(),F(7,"mat-divider"),s(8,"div",5)(9,"div",6)(10,"span",7),d(11,"Compression:"),l(),s(12,"mat-form-field",8)(13,"mat-select",9),v("selectionChange",function(o){D(e);let r=b();return P(r.selectCompression(o))}),J(14,Mhe,2,2,"mat-option",10,whe),l()()(),s(16,"div",6)(17,"span",7),d(18,"Compression level:"),l(),s(19,"mat-form-field",8)(20,"mat-select",11),J(21,khe,2,2,"mat-option",10,Fe),l()()(),s(23,"div",6)(24,"section",12)(25,"mat-checkbox",13),d(26," Include base images "),l()()(),s(27,"div",6)(28,"section",12)(29,"mat-checkbox",14),d(30," Include snapshots "),l()()(),s(31,"div",6)(32,"section",12)(33,"mat-checkbox",15),d(34," Reset MAC addresses "),l()()()(),F(35,"mat-divider"),s(36,"div",16)(37,"button",17),v("click",function(){D(e);let o=b();return P(o.dialogRef.close())}),d(38,"Cancel"),l(),s(39,"button",18),d(40,"Export"),l()()()}if(t&2){let e=b();x("formGroup",e.export_project_form),u(14),ee(e.compression_methods),u(7),ee(e.compression_filter_value),u(18),x("dis Line truncated
`)}})}var bA=100,Iz=60,Az=" ";function Oz({source:t,line:i,column:e},n){function o(h,g){return r.slice(h,g).map((M,C)=>String(h+C+1).padStart(m)+" |"+M).join(`
`)}let r=t.split(/\r\n?|\n|\f/),a=Math.max(1,i-n)-1,c=Math.min(i+n,r.length+1),m=Math.max(4,String(c).length)+1,p=0;e+=(Az.length-1)*(r[i-1].substr(0,e-1).match(/\t/g)||[]).length,e>bA&&(p=e-Iz+3,e=Iz-2);for(let h=a;h<=c;h++)h>=0&&h<r.length&&(r[h]=r[h].replace(/\t/g,Az),r[h]=(p>0&&r[h].length>p?"\u2026":"")+r[h].substr(p,bA-2)+(r[h].length>p+bA-1?"\u2026":""));return[o(a,i),new Array(e+m+2).join("-")+"^",o(i,c)].filter(Boolean).join(`
`)}function CA(t,i,e,n,o){return Object.assign(eh("SyntaxError",t),{source:i,offset:e,line:n,column:o,sourceFragment(a){return Oz({source:i,line:n,column:o},isNaN(a)?0:a)},get formattedMessage(){return`Parse error: ${t}
`+Oz({source:i,line:n,column:o},2)}})}function Nz(t){let i=this.createList(),e=!1,n={recognizer:t};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:e=!0,this.next();continue}let o=t.getNode.call(this,n);if(o===void 0)break;e&&(t.onWhiteSpace&&t.onWhiteSpace.call(this,o,i,n),e=!1),i.push(o)}return e&&t.onWhiteSpace&&t.onWhiteSpace.call(this,null,i,n),i}var Rz=()=>{},Ofe=33,Nfe=35,xA=59,Fz=123,Lz=0;function Rfe(t){return function(){return this[t]()}}function yA(t){let i=Object.create(null);for(let e in t){let n=t[e],o=n.parse||n;o&&(i[e]=o)}return i}function Ffe(t){let i={context:Object.create(null),scope:Object.assign(Object.create(null),t.scope),atrule:yA(t.atrule),pseudo:yA(t.pseudo),node:yA(t.node)};for(let e in t.parseContext)switch(typeof t.parseContext[e]){case"function":i.context[e]=t.parseContext[e];break;case"string":i.context[e]=Rfe(t.parseContext[e]);break}return H(H({config:i},i),i.node)}function Bz(t){let i="",e="<unknown>",n=!1,o=Rz,r=!1,a=new lw,c=Object.assign(new fb,Ffe(t||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Nz,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(p){return p===Fz?1:0},consumeUntilLeftCurlyBracketOrSemicolon(p){return p===Fz||p===xA?1:0},consumeUntilExclamationMarkOrSemicolon(p){return p===Ofe||p===xA?1:0},consumeUntilSemicolonIncluded(p){return p===xA?2:0},createList(){return new es},createSingleNodeList(p){return new es().appendData(p)},getFirstListNode(p){return p&&p.first},getLastListNode(p){return p&&p.last},parseWithFallback(p,h){let g=this.tokenIndex;try{return p.call(this)}catch(M){if(r)throw M;let C=h.call(this,g);return r=!0,o(M,C),r=!1,C}},lookupNonWSType(p){let h;do if(h=this.lookupType(p++),h!==13)return h;while(h!==Lz);return Lz},charCodeAt(p){return p>=0&&p<i.length?i.charCodeAt(p):0},substring(p,h){return i.substring(p,h)},substrToCursor(p){return this.source.substring(p,this.tokenStart)},cmpChar(p,h){return Qd(i,p,h)},cmpStr(p,h,g){return Yd(i,p,h,g)},consume(p){let h=this.tokenStart;return this.eat(p),this.substrToCursor(h)},consumeFunctionName(){let p=i.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),p},consumeNumber(p){let h=i.substring(this.tokenStart,Ju(i,this.tokenStart));return this.eat(p),h},eat(p){if(this.tokenType!==p){let h=pg[p].slice(0,-6).replace(/-/g," ").replace(/^./,C=>C.toUpperCase()),g=`${/[[\](){}]/.test(h)?`"${h}"`:h} is expected`,M=this.tokenStart;switch(p){case 1:this.tokenType===2||this.tokenType===7?(M=this.tokenEnd-1,g="Identifier is expected but function found"):g="Identifier is expected";break;case 4:this.isDelim(Nfe)&&(this.next(),M++,g="Name is expected");break;case 11:this.tokenType===10&&(M=this.tokenEnd,g="Percent sign is expected");break}this.error(g,M)}this.next()},eatIdent(p){(this.tokenType!==1||this.lookupValue(0,p)===!1)&&this.error(`Identifier "${p}" is expected`),this.next()},eatDelim(p){this.isDelim(p)||this.error(`Delim "${String.fromCharCode(p)}" is expected`),this.next()},getLocation(p,h){return n?a.getLocationRange(p,h,e):null},getLocationFromList(p){if(n){let h=this.getFirstListNode(p),g=this.getLastListNode(p);return a.getLocationRange(h!==null?h.loc.start.offset-a.startOffset:this.tokenStart,g!==null?g.loc.end.offset-a.startOffset:this.tokenStart,e)}return null},error(p,h){let g=typeof h<"u"&&h<i.length?a.getLocation(h):this.eof?a.getLocation(Tz(i,i.length-1)):a.getLocation(this.tokenStart);throw new CA(p||"Unexpected input",i,g.offset,g.line,g.column)}});return Object.assign(function(p,h){i=p,h=h||{},c.setSource(i,yp),a.setSource(i,h.offset,h.line,h.column),e=h.filename||"<unknown>",n=!!h.positions,o=typeof h.onParseError=="function"?h.onParseError:Rz,r=!1,c.parseAtrulePrelude="parseAtrulePrelude"in h?!!h.parseAtrulePrelude:!0,c.parseRulePrelude="parseRulePrelude"in h?!!h.parseRulePrelude:!0,c.parseValue="parseValue"in h?!!h.parseValue:!0,c.parseCustomProperty="parseCustomProperty"in h?!!h.parseCustomProperty:!1;let{context:g="default",onComment:M}=h;if(!(g in c.context))throw new Error("Unknown context `"+g+"`");typeof M=="function"&&c.forEachToken((_,w,S)=>{if(_===25){let y=c.getLocation(w,S),k=Yd(i,S-2,S,"*/")?i.slice(w+2,S-2):i.slice(w+2,S);M(k,y)}});let C=c.context[g].call(c,h);return c.eof||c.error(),C},{SyntaxError:CA,config:c.config})}var rj=nl(ij(),1),oj=new Set(["Atrule","Selector","Declaration"]);function aj(t){let i=new rj.SourceMapGenerator,e={line:1,column:0},n={line:0,column:0},o={line:1,column:0},r={generated:o},a=1,c=0,m=!1,p=t.node;t.node=function(M){if(M.loc&&M.loc.start&&oj.has(M.type)){let C=M.loc.start.line,_=M.loc.start.column-1;(n.line!==C||n.column!==_)&&(n.line=C,n.column=_,e.line=a,e.column=c,m&&(m=!1,(e.line!==o.line||e.column!==o.column)&&i.addMapping(r)),m=!0,i.addMapping({source:M.loc.source,original:n,generated:e}))}p.call(this,M),m&&oj.has(M.type)&&(o.line=a,o.column=c)};let h=t.emit;t.emit=function(M,C,_){for(let w=0;w<M.length;w++)M.charCodeAt(w)===10?(a++,c=0):c++;h(M Line truncated
`,13,!0)},emit(m){o+=m},result(){return o}};n&&(typeof n.decorator=="function"&&(a=n.decorator(a)),n.sourceMap&&(a=aj(a)),n.mode in pw&&(a.tokenBefore=pw[n.mode]));let c={node:m=>a.node(m),children:age,token:(m,p)=>a.token(m,p),tokenize:sge};return a.node(e),a.result()}}function dj(t){return{fromPlainObject(i){return t(i,{enter(e){e.children&&!(e.children instanceof es)&&(e.children=new es().fromArray(e.children))}}),i},toPlainObject(i){return t(i,{leave(e){e.children&&e.children instanceof es&&(e.children=e.children.toArray())}}),i}}}var{hasOwnProperty:IA}=Object.prototype,bb=function(){};function mj(t){return typeof t=="function"?t:bb}function pj(t,i){return function(e,n,o){e.type===i&&t.call(this,e,n,o)}}function lge(t,i){let e=i.structure,n=[];for(let o in e){if(IA.call(e,o)===!1)continue;let r=e[o],a={name:o,type:!1,nullable:!1};Array.isArray(r)||(r=[r]);for(let c of r)c===null?a.nullable=!0:typeof c=="string"?a.type="node":Array.isArray(c)&&(a.type="list");a.type&&n.push(a)}return n.length?{context:i.walkContext,fields:n}:null}function cge(t){let i={};for(let e in t.node)if(IA.call(t.node,e)){let n=t.node[e];if(!n.structure)throw new Error("Missed `structure` field in `"+e+"` node type definition");i[e]=lge(e,n)}return i}function uj(t,i){let e=t.fields.slice(),n=t.context,o=typeof n=="string";return i&&e.reverse(),function(r,a,c,m){let p;o&&(p=a[n],a[n]=r);for(let h of e){let g=r[h.name];if(!h.nullable||g){if(h.type==="list"){if(i?g.reduceRight(m,!1):g.reduce(m,!1))return!0}else if(c(g))return!0}}o&&(a[n]=p)}}function hj({StyleSheet:t,Atrule:i,Rule:e,Block:n,DeclarationList:o}){return{Atrule:{StyleSheet:t,Atrule:i,Rule:e,Block:n},Rule:{StyleSheet:t,Atrule:i,Rule:e,Block:n},Declaration:{StyleSheet:t,Atrule:i,Rule:e,Block:n,DeclarationList:o}}}function fj(t){let i=cge(t),e={},n={},o=Symbol("break-walk"),r=Symbol("skip-node");for(let p in i)IA.call(i,p)&&i[p]!==null&&(e[p]=uj(i[p],!1),n[p]=uj(i[p],!0));let a=hj(e),c=hj(n),m=function(p,h){function g(y,k,I){let E=M.call(S,y,k,I);return E===o?!0:E===r?!1:!!(_.hasOwnProperty(y.type)&&_[y.type](y,S,g,w)||C.call(S,y,k,I)===o)}let M=bb,C=bb,_=e,w=(y,k,I,E)=>y||g(k,I,E),S={break:o,skip:r,root:p,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof h=="function")M=h;else if(h&&(M=mj(h.enter),C=mj(h.leave),h.reverse&&(_=n),h.visit)){if(a.hasOwnProperty(h.visit))_=h.reverse?c[h.visit]:a[h.visit];else if(!i.hasOwnProperty(h.visit))throw new Error("Bad value `"+h.visit+"` for `visit` option (should be: "+Object.keys(i).sort().join(", ")+")");M=pj(M,h.visit),C=pj(C,h.visit)}if(M===bb&&C===bb)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");g(p)};return m.break=o,m.skip=r,m.find=function(p,h){let g=null;return m(p,function(M,C,_){if(h.call(this,M,C,_))return g=M,o}),g},m.findLast=function(p,h){let g=null;return m(p,{reverse:!0,enter(M,C,_){if(h.call(this,M,C,_))return g=M,o}}),g},m.findAll=function(p,h){let g=[];return m(p,function(M,C,_){h.call(this,M,C,_)&&g.push(M)}),g},m}function dge(t){return t}function mge(t){let{min:i,max:e,comma:n}=t;return i===0&&e===0?n?"#?":"*":i===0&&e===1?"?":i===1&&e===0?n?"#":"+":i===1&&e===1?"":(n?"#":"")+(i===e?"{"+i+"}":"{"+i+","+(e!==0?e:"")+"}")}function pge(t){if(t.type==="Range")return" ["+(t.min===null?"-\u221E":t.min)+","+(t.max===null?"\u221E":t.max)+"]";throw new Error("Unknown node type `"+t.type+"`")}function uge(t,i,e,n){let o=t.combinator===" "||n?t.combinator:" "+t.combinator+" ",r=t.terms.map(a=>AA(a,i,e,n)).join(o);return t.explicit||e?(n||r[0]===","?"[":"[ ")+r+(n?"]":" ]"):r}function AA(t,i,e,n){let o;switch(t.type){case"Group":o=uge(t,i,e,n)+(t.disallowEmpty?"!":"");break;case"Multiplier":return AA(t.term,i,e,n)+i(mge(t),t);case"Type":o="<"+t.name+(t.opts?i(pge(t.opts),t.opts):"")+">";break;case"Property":o="<'"+t.name+"'>";break;case"Keyword":o=t.name;break;case"AtKeyword":o="@"+t.name;break;case"Function":o=t.name+"(";break;case"String":case"Token":o=t.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+t.type+"`")}return i(o,t)}function gg(t,i){let e=dge,n=!1,o=!1;return typeof i=="function"?e=i:i&&(n=!!i.forceBraces,o=!!i.compact,typeof i.decorate=="function"&&(e=i.decorate)),AA(t,e,n,o)}var gj={offset:0,line:1,column:1};function hge(t,i){let e=t.tokens,n=t.longestMatch,o=n<e.length&&e[n].node||null,r=o!==i?o:null,a=0,c=0,m=0,p="",h,g;for(let M=0;M<e.length;M++){let C=e[M].value;M===n&&(c=C.length,a=p.length),r!==null&&e[M].node===r&&(M<=n?m++:m=0),p+=C}return n===e.length||m>1?(h=uw(r||i,"end")||Cb(gj,p),g=Cb(h)):(h=uw(r,"start")||Cb(uw(i,"start")||gj,p.slice(0,a)),g=uw(r,"end")||Cb(h,p.substr(a,c))),{css:p,mismatchOffset:a,mismatchLength:c,start:h,end:g}}function uw(t,i){let e=t&&t.loc&&t.loc[i];return e?"line"in e?Cb(e):e:null}function Cb({offset:t,line:i,column:e},n){let o={offset:t,line:i,column:e};if(n){let r=n.split(/\n|\r\n?|\f/);o.offset+=n.length,o.line+=r.le Line truncated
syntax: `+o.syntax+`
value: `+(r||"<empty string>")+`
--------`+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,m),o.loc={source:e&&e.loc&&e.loc.source||"<unknown>",start:m,end:p},o};var hw=new Map,vg=new Map,fw=45,gw=fge,OA=gge;function _w(t,i){return i=i||0,t.length-i>=2&&t.charCodeAt(i)===fw&&t.charCodeAt(i+1)===fw}function vj(t,i){if(i=i||0,t.length-i>=3&&t.charCodeAt(i)===fw&&t.charCodeAt(i+1)!==fw){let e=t.indexOf("-",i+2);if(e!==-1)return t.substring(i,e+1)}return""}function fge(t){if(hw.has(t))return hw.get(t);let i=t.toLowerCase(),e=hw.get(i);if(e===void 0){let n=_w(i,0),o=n?"":vj(i,0);e=Object.freeze({basename:i.substr(o.length),name:i,prefix:o,vendor:o,custom:n})}return hw.set(t,e),e}function gge(t){if(vg.has(t))return vg.get(t);let i=t,e=t[0];e==="/"?e=t[1]==="/"?"//":"/":e!=="_"&&e!=="*"&&e!=="$"&&e!=="#"&&e!=="+"&&e!=="&"&&(e="");let n=_w(i,e.length);if(!n&&(i=i.toLowerCase(),vg.has(i))){let c=vg.get(i);return vg.set(t,c),c}let o=n?"":vj(i,e.length),r=i.substr(0,e.length+o.length),a=Object.freeze({basename:i.substr(r.length),name:i.substr(e.length),hack:e,vendor:o,prefix:r,custom:n});return vg.set(t,a),a}var vw=["initial","inherit","unset","revert","revert-layer"];var yb=43,ld=45,NA=110,bg=!0,vge=!1;function FA(t,i){return t!==null&&t.type===9&&t.value.charCodeAt(0)===i}function xb(t,i,e){for(;t!==null&&(t.type===13||t.type===25);)t=e(++i);return i}function Sp(t,i,e,n){if(!t)return 0;let o=t.value.charCodeAt(i);if(o===yb||o===ld){if(e)return 0;i++}for(;i<t.value.length;i++)if(!nr(t.value.charCodeAt(i)))return 0;return n+1}function RA(t,i,e){let n=!1,o=xb(t,i,e);if(t=e(o),t===null)return i;if(t.type!==10)if(FA(t,yb)||FA(t,ld)){if(n=!0,o=xb(e(++o),o,e),t=e(o),t===null||t.type!==10)return 0}else return i;if(!n){let r=t.value.charCodeAt(0);if(r!==yb&&r!==ld)return 0}return Sp(t,n?0:1,n,o)}function LA(t,i){let e=0;if(!t)return 0;if(t.type===10)return Sp(t,0,vge,e);if(t.type===1&&t.value.charCodeAt(0)===ld){if(!Qd(t.value,1,NA))return 0;switch(t.value.length){case 2:return RA(i(++e),e,i);case 3:return t.value.charCodeAt(2)!==ld?0:(e=xb(i(++e),e,i),t=i(e),Sp(t,0,bg,e));default:return t.value.charCodeAt(2)!==ld?0:Sp(t,3,bg,e)}}else if(t.type===1||FA(t,yb)&&i(e+1).type===1){if(t.type!==1&&(t=i(++e)),t===null||!Qd(t.value,0,NA))return 0;switch(t.value.length){case 1:return RA(i(++e),e,i);case 2:return t.value.charCodeAt(1)!==ld?0:(e=xb(i(++e),e,i),t=i(e),Sp(t,0,bg,e));default:return t.value.charCodeAt(1)!==ld?0:Sp(t,2,bg,e)}}else if(t.type===12){let n=t.value.charCodeAt(0),o=n===yb||n===ld?1:0,r=o;for(;r<t.value.length&&nr(t.value.charCodeAt(r));r++);return r===o||!Qd(t.value,r,NA)?0:r+1===t.value.length?RA(i(++e),e,i):t.value.charCodeAt(r+1)!==ld?0:r+2===t.value.length?(e=xb(i(++e),e,i),t=i(e),Sp(t,0,bg,e)):Sp(t,r+2,bg,e)}return 0}var bge=43,bj=45,Cj=63,Cge=117;function BA(t,i){return t!==null&&t.type===9&&t.value.charCodeAt(0)===i}function xge(t,i){return t.value.charCodeAt(0)===i}function Sb(t,i,e){let n=0;for(let o=i;o<t.value.length;o++){let r=t.value.charCodeAt(o);if(r===bj&&e&&n!==0)return Sb(t,i+n+1,!1),6;if(!ks(r)||++n>6)return 0}return n}function bw(t,i,e){if(!t)return 0;for(;BA(e(i),Cj);){if(++t>6)return 0;i++}return i}function VA(t,i){let e=0;if(t===null||t.type!==1||!Qd(t.value,0,Cge)||(t=i(++e),t===null))return 0;if(BA(t,bge))return t=i(++e),t===null?0:t.type===1?bw(Sb(t,0,!0),++e,i):BA(t,Cj)?bw(1,++e,i):0;if(t.type===10){let n=Sb(t,1,!0);return n===0?0:(t=i(++e),t===null?e:t.type===12||t.type===10?!xge(t,bj)||!Sb(t,1,!1)?0:e+1:bw(n,e,i))}return t.type===12?bw(Sb(t,1,!0),++e,i):0}var yge=["calc(","-moz-calc(","-webkit-calc("],zA=new Map([[2,22],[21,22],[19,20],[23,24]]);function uc(t,i){return i<t.length?t.charCodeAt(i):0}function xj(t,i){return Yd(t,0,t.length,i)}function yj(t,i){for(let e=0;e<i.length;e++)if(xj(t,i[e]))return!0;return!1}function Sj(t,i){return i!==t.length-2?!1:uc(t,i)===92&&nr(uc(t,i+1))}function Cw(t,i,e){if(t&&t.type==="Range"){let n=Number(e!==void 0&&e!==i.length?i.substr(0,e):i);if(isNaN(n)||t.min!==null&&n<t.min&&typeof t.min!="string"||t.max!==null&&n>t.max&&typeof t.max!="string")return!0}return!1}function Sge(t,i){let e=0,n=[],o=0;e:do{switch(t.type){case 24:case 22:case 20:if(t.type!==e)break e;if(e=n.pop(),n.length===0){o++;break e}break;case 2:case 21:case 19:case 23:n.push(e),e=zA.get(t.type);break}o++}while(t=i(o));return o}function Fl(t){return function(i,e,n){return i===null?0:i.type===2&&yj(i.value,yge)?Sge(i,e):t(i,e,n)}}function Ho(t){return function(i){return i===null||i.type!==t?0:1}}function wge(t){if(t===null||t.type!==1)return 0;let i=t.value.toLowerCase();return yj(i,vw)||xj(i,"default")?0:1}function Mge(t){return t===null||t.type!==1||uc(t.value,0)!==45||uc(t.value,1)!==45?0:1}function kge(t){if(t===null||t.type!==4)return 0;let i=t.value.length;if(i!==4&&i!==5&&i!==7&&i!==9)return 0;for(let e=1;e<i;e++)if(!ks(uc(t.value,e)))return 0;return 1}function Tge(t){return t===null||t.type!==4||!dg(uc(t.value,1),uc(t.value,2),uc(t.value,3))?0:1}function Ege(t,i){if(!t)return 0;let e=0,n=[], Line truncated
`+i+`
--`+new Array((e||i.length)+1).join("-")+"^"})}var Uge=9,Gge=10,Wge=12,qge=13,Xge=32,yw=class{constructor(i){this.str=i,this.pos=0}charCodeAt(i){return i<this.str.length?this.str.charCodeAt(i):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(i){return this.charCodeAt(this.findWsEnd(i))}findWsEnd(i){for(;i<this.str.length;i++){let e=this.str.charCodeAt(i);if(e!==qge&&e!==Gge&&e!==Wge&&e!==Xge&&e!==Uge)break}return i}substringToPos(i){return this.str.substring(this.pos,this.pos=i)}eat(i){this.charCode()!==i&&this.error("Expect `"+String.fromCharCode(i)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(i){throw new jA(i,this.str,this.pos)}};var Qge=9,Yge=10,Kge=12,Zge=13,Jge=32,Oj=33,UA=35,kj=38,Sw=39,Nj=40,e_e=41,Rj=42,GA=43,WA=44,Tj=45,qA=60,Fj=62,HA=63,t_e=64,Tw=91,XA=93,ww=123,Ej=124,Dj=125,Pj=8734,wb=new Uint8Array(128).map((t,i)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(i))?1:0),Ij={" ":1,"&&":2,"||":3,"|":4};function Mw(t){return t.substringToPos(t.findWsEnd(t.pos))}function Cg(t){let i=t.pos;for(;i<t.str.length;i++){let e=t.str.charCodeAt(i);if(e>=128||wb[e]===0)break}return t.pos===i&&t.error("Expect a keyword"),t.substringToPos(i)}function kw(t){let i=t.pos;for(;i<t.str.length;i++){let e=t.str.charCodeAt(i);if(e<48||e>57)break}return t.pos===i&&t.error("Expect a number"),t.substringToPos(i)}function n_e(t){let i=t.str.indexOf("'",t.pos+1);return i===-1&&(t.pos=t.str.length,t.error("Expect an apostrophe")),t.substringToPos(i+1)}function Aj(t){let i=null,e=null;return t.eat(ww),i=kw(t),t.charCode()===WA?(t.pos++,t.charCode()!==Dj&&(e=kw(t))):e=i,t.eat(Dj),{min:Number(i),max:e?Number(e):0}}function i_e(t){let i=null,e=!1;switch(t.charCode()){case Rj:t.pos++,i={min:0,max:0};break;case GA:t.pos++,i={min:1,max:0};break;case HA:t.pos++,i={min:0,max:1};break;case UA:t.pos++,e=!0,t.charCode()===ww?i=Aj(t):t.charCode()===HA?(t.pos++,i={min:0,max:0}):i={min:1,max:0};break;case ww:i=Aj(t);break;default:return null}return{type:"Multiplier",comma:e,min:i.min,max:i.max,term:null}}function xg(t,i){let e=i_e(t);return e!==null?(e.term=i,t.charCode()===UA&&t.charCodeAt(t.pos-1)===GA?xg(t,e):e):i}function $A(t){let i=t.peek();return i===""?null:{type:"Token",value:i}}function o_e(t){let i;return t.eat(qA),t.eat(Sw),i=Cg(t),t.eat(Sw),t.eat(Fj),xg(t,{type:"Property",name:i})}function r_e(t){let i=null,e=null,n=1;return t.eat(Tw),t.charCode()===Tj&&(t.peek(),n=-1),n==-1&&t.charCode()===Pj?t.peek():(i=n*Number(kw(t)),wb[t.charCode()]!==0&&(i+=Cg(t))),Mw(t),t.eat(WA),Mw(t),t.charCode()===Pj?t.peek():(n=1,t.charCode()===Tj&&(t.peek(),n=-1),e=n*Number(kw(t)),wb[t.charCode()]!==0&&(e+=Cg(t))),t.eat(XA),{type:"Range",min:i,max:e}}function a_e(t){let i,e=null;return t.eat(qA),i=Cg(t),t.charCode()===Nj&&t.nextCharCode()===e_e&&(t.pos+=2,i+="()"),t.charCodeAt(t.findWsEnd(t.pos))===Tw&&(Mw(t),e=r_e(t)),t.eat(Fj),xg(t,{type:"Type",name:i,opts:e})}function s_e(t){let i=Cg(t);return t.charCode()===Nj?(t.pos++,{type:"Function",name:i}):xg(t,{type:"Keyword",name:i})}function l_e(t,i){function e(o,r){return{type:"Group",terms:o,combinator:r,disallowEmpty:!1,explicit:!1}}let n;for(i=Object.keys(i).sort((o,r)=>Ij[o]-Ij[r]);i.length>0;){n=i.shift();let o=0,r=0;for(;o<t.length;o++){let a=t[o];a.type==="Combinator"&&(a.value===n?(r===-1&&(r=o-1),t.splice(o,1),o--):(r!==-1&&o-r>1&&(t.splice(r,o-r,e(t.slice(r,o),n)),o=r+1),r=-1))}r!==-1&&i.length&&t.splice(r,o-r,e(t.slice(r,o),n))}return n}function Lj(t){let i=[],e={},n,o=null,r=t.pos;for(;n=d_e(t);)n.type!=="Spaces"&&(n.type==="Combinator"?((o===null||o.type==="Combinator")&&(t.pos=r,t.error("Unexpected combinator")),e[n.value]=!0):o!==null&&o.type!=="Combinator"&&(e[" "]=!0,i.push({type:"Combinator",value:" "})),i.push(n),o=n,r=t.pos);return o!==null&&o.type==="Combinator"&&(t.pos-=r,t.error("Unexpected combinator")),{type:"Group",terms:i,combinator:l_e(i,e)||" ",disallowEmpty:!1,explicit:!1}}function c_e(t){let i;return t.eat(Tw),i=Lj(t),t.eat(XA),i.explicit=!0,t.charCode()===Oj&&(t.pos++,i.disallowEmpty=!0),i}function d_e(t){let i=t.charCode();if(i<128&&wb[i]===1)return s_e(t);switch(i){case XA:break;case Tw:return xg(t,c_e(t));case qA:return t.nextCharCode()===Sw?o_e(t):a_e(t);case Ej:return{type:"Combinator",value:t.substringToPos(t.pos+(t.nextCharCode()===Ej?2:1))};case kj:return t.pos++,t.eat(kj),{type:"Combinator",value:"&&"};case WA:return t.pos++,{type:"Comma"};case Sw:return xg(t,{type:"String",value:n_e(t)});case Jge:case Qge:case Yge:case Zge:case Kge:return{type:"Spaces",value:Mw(t)};case t_e:return i=t.nextCharCode(),i<128&&wb[i]===1?(t.pos++,{type:"AtKeyword",name:Cg(t)}):$A(t);case Rj:case GA:case HA:case UA:case Oj:break;case ww:if(i=t.nextCharCode(),i<48||i>57)return $A(t);break;default:return $A(t)}}function Mb(t){let i=new yw(t),e=Lj(i);return i.pos!==t.length&&i.error("Unexpected input"),e.terms.length===1&&e.terms[0].type==="Group"?e.terms[0]:e}var kb=function(){};func Line truncated
`))},styles:[".temporaryElement[_ngcontent-%COMP%]{padding-left:4px;width:fit-content;position:absolute;z-index:99;font-family:Noto Sans;font-size:11pt;font-weight:700;color:var(--mat-app-on-surface-color);vertical-align:top;line-height:1.2;transform-origin:top left}"],changeDetection:0})}return t})();var hH=(()=>{class t{svg=oe(void 0);mapListener;drawingSelected;drawingsEventSource=f(Ko);context=f(jo);ngOnInit(){this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e===""?this.deactivate():this.activate()})}activate(){let e=n=>{let o=(n.pageX-(this.context.getZeroZeroTransformationPoint().x+this.context.transformation.x))/this.context.transformation.k,r=(n.pageY-(this.context.getZeroZeroTransformationPoint().y+this.context.transformation.y))/this.context.transformation.k;this.drawingsEventSource.pointToAddSelected.emit(new g2(o,r)),this.deactivate()};this.deactivate(),this.mapListener=e,this.svg().addEventListener("click",this.mapListener)}deactivate(){this.svg().removeEventListener("click",this.mapListener)}ngOnDestroy(){this.drawingSelected.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-drawing-adding"]],inputs:{svg:[1,"svg"]},decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})();var Vi=(()=>{class t extends ym{getItemKey(e){return e.drawing_id}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Wi=(()=>{class t{httpController;svgToDrawingConverter;constructor(e,n){this.httpController=e,this.svgToDrawingConverter=n}add(e,n,o,r,a){return this.httpController.post(e,`/projects/${n}/drawings`,{svg:a,x:Math.round(o),y:Math.round(r),z:1})}duplicate(e,n,o){return this.httpController.post(e,`/projects/${n}/drawings`,{svg:o.svg,rotation:o.rotation,x:o.x+10,y:o.y+10,z:o.z})}updatePosition(e,n,o,r,a){let c=Math.round(r),m=Math.round(a);return n.snap_to_grid&&(o.element=this.svgToDrawingConverter.convert(o.svg),c=Math.round((c+o.element.width/2)/n.drawing_grid_size)*n.drawing_grid_size,m=Math.round((m+o.element.height/2)/n.drawing_grid_size)*n.drawing_grid_size,c=Math.round(c-o.element.width/2),m=Math.round(m-o.element.height/2)),this.httpController.put(e,`/projects/${o.project_id}/drawings/${o.drawing_id}`,{x:c,y:m})}updateSizeAndPosition(e,n,o,r,a){return this.httpController.put(e,`/projects/${n.project_id}/drawings/${n.drawing_id}`,{svg:a,x:Math.round(o),y:Math.round(r)})}updateText(e,n,o){return this.httpController.put(e,`/projects/${n.project_id}/drawings/${n.drawing_id}`,{svg:o,x:Math.round(n.x),y:Math.round(n.y),z:n.z})}update(e,n){return this.httpController.put(e,`/projects/${n.project_id}/drawings/${n.drawing_id}`,{locked:n.locked,svg:n.svg,rotation:n.rotation,x:Math.round(n.x),y:Math.round(n.y),z:n.z})}delete(e,n){return this.httpController.delete(e,`/projects/${n.project_id}/drawings/${n.drawing_id}`)}lockAllNodes(e,n){return this.httpController.post(e,`/projects/${n.project_id}/lock`,{})}unLockAllNodes(e,n){return this.httpController.post(e,`/projects/${n.project_id}/unlock`,{})}static \u0275fac=function(n){return new(n||t)(ge(an),ge(Vp))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var fH=(()=>{class t{svg=oe(void 0);controller=oe(void 0);project=oe(void 0);isDrawing=!1;points=[];drawingSelected;svgSelection;canvasGroup;previewPath;drawingsEventSource=f(Ko);context=f(jo);drawingsDataSource=f(Vi);drawingService=f(Wi);toolsService=f(Al);ngOnInit(){this.svgSelection=dn(this.svg()),this.canvasGroup=this.svgSelection.select("g.canvas"),this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e==="curve"?this.activate():this.deactivate()})}activate(){let e=this;this.toolsService.selectionToolActivation(!1);let n=a=>{a.preventDefault(),a.stopPropagation();let c=e.getCanvasCoordinates(a);e.isDrawing=!0,e.points=[{x:c[0],y:c[1]}],e.createPreviewPath(),document.addEventListener("mousemove",o,{passive:!1}),document.addEventListener("mouseup",r,{passive:!1})},o=a=>{if(!e.isDrawing)return;a.preventDefault();let c=e.getCanvasCoordinates(a);e.points.push({x:c[0],y:c[1]}),e.updatePreviewPath()},r=a=>{e.isDrawing&&(a.preventDefault(),e.isDrawing=!1,document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),e.points.length>1&&e.createCurveDrawing(),e.removePreviewPath(),e.drawingsEventSource.drawingCompleted.emit("curve"))};this.svg()._curveDrawingListener=n,this.svg().addEventListener("mousedown",n)}deactivate(){this.toolsService.selectionToolActivation(!0);let e=this.svg()._curveDrawingListener;e&&(this.svg().removeEventListener("mousedown",e),delete this.svg()._curveDrawingListener),this.removePreviewPath(),this.isDrawing=!1,this.points=[]}getCanvasCoordinates(e){let n=this.canvasGroup.node(),o=this.context.transformation,r=this.context.getZeroZeroTransformationPoint(),a=(e.pageX-(r.x+o.x))/o.k,c=(e.pageY-(r.y+o.y))/o.k;return[a,c]}createPreviewPath(){this.c Line truncated
<path d="${n}" stroke="${e.stroke}" stroke-width="${e.stroke_width}"
fill="none" stroke-dasharray="${e.stroke_dasharray}"
data-curve-type="none"
data-arrow-start="${e.arrow_start}"
data-arrow-end="${e.arrow_end}" />
</svg>`}ngOnDestroy(){this.deactivate(),this.drawingSelected.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-curve-drawing"]],inputs:{svg:[1,"svg"],controller:[1,"controller"],project:[1,"project"]},decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})();var y1e=["*"],gH=(()=>{class t{resizingFinished;drawingsWidget=f(hd);drawingsEventSource=f(Ko);ngOnInit(){this.resizingFinished=this.drawingsWidget.resizingFinished.subscribe(e=>{this.drawingsEventSource.resized.emit(new f2(e.datum,e.x,e.y,e.width,e.height))})}ngOnDestroy(){this.resizingFinished.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-drawing-resizing"]],ngContentSelectors:y1e,decls:1,vars:0,template:function(n,o){n&1&&(En(),Yt(0))},encapsulation:2,changeDetection:0})}return t})();var z2=(()=>{class t{inRectangle(e,n,o){return e.x<=n&&n<e.x+e.width&&e.y<=o&&o<e.y+e.height}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var _H=(()=>{class t{onSelection;selectionEventSource=f(Bg);graphDataManager=f(Tp);inRectangleHelper=f(z2);selectionManager=f(Yo);cd=f(K);ngOnInit(){this.onSelection=this.selectionEventSource.selected.subscribe(e=>{let n=this.graphDataManager.getNodes().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),o=this.graphDataManager.getLinks().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),r=this.graphDataManager.getDrawings().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),a=this.graphDataManager.getNodes().filter(g=>{if(g.label===void 0)return!1;let M=g.x+g.label.x,C=g.y+g.label.y;return this.inRectangleHelper.inRectangle(e,M,C)}).map(g=>g.label),c=this.graphDataManager.getLinks().filter(g=>{if(g.source===void 0||g.nodes.length!=2||g.nodes[0].label===void 0)return!1;let M=g.source.x+g.nodes[0].label.x,C=g.source.y+g.nodes[0].label.y;return this.inRectangleHelper.inRectangle(e,M,C)}).map(g=>g.nodes[0]),m=this.graphDataManager.getLinks().filter(g=>{if(g.target===void 0||g.nodes.length!=2||g.nodes[1].label===void 0)return!1;let M=g.target.x+g.nodes[1].label.x,C=g.target.y+g.nodes[1].label.y;return this.inRectangleHelper.inRectangle(e,M,C)}).map(g=>g.nodes[1]),p=[...c,...m],h=[...n,...o,...r,...a,...p];this.selectionManager.setSelected(h),this.cd.markForCheck()})}ngOnDestroy(){this.onSelection.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-selection-control"]],decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})();var vH=(()=>{class t{onSelected;onUnselected;selectionManager=f(Yo);mapChangeDetectorRef=f(Ep);ngOnInit(){this.onSelected=this.selectionManager.selected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()}),this.onUnselected=this.selectionManager.unselected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()})}ngOnDestroy(){this.onSelected.unsubscribe(),this.onUnselected.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-selection-select"]],decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})();var bH=(()=>{class t{start;drag;end;mapSettingsSubscription;isMapLocked=!1;svg;nodesWidget=f(Fp);drawingsWidget=f(hd);linksWidget=f(Lp);labelWidget=f(Rp);interfaceWidget=f(pd);selectionManager=f(Yo);nodesEventSource=f($l);drawingsEventSource=f(Ko);graphDataManager=f(Tp);linksEventSource=f(za);mapSettingsService=f(To);ngOnInit(){let e=dn(this.svg);this.mapSettingsSubscription=this.mapSettingsService.isMapLocked.subscribe(n=>{this.isMapLocked=n}),this.start=Dn(this.nodesWidget.draggable.start,this.drawingsWidget.draggable.start,this.labelWidget.draggable.start,this.interfaceWidget.draggable.start).subscribe(n=>{let o=this.selectionManager.getSelected();n.datum instanceof Ol&&o.filter(r=>r instanceof Ol&&r.id===n.datum.id).length===0&&this.selectionManager.setSelected([n.datum]),n.datum instanceof Va&&o.filter(r=>r instanceof Va&&r.id===n.datum.id).length===0&&this.selectionManager.setSelected([n.datum]),n.datum instanceof pc&&o.filter(r=>r instanceof pc&&r.id===n.datum.id).length===0&&this.selectionManager.setSelected([n.datum]),n.datum instanceof em&&o.filter(r=>r instanceof em&&r.id===n.datum.id).length===0&&this.selectionManager.setSelected([n.datum])}),this.drag=Dn(this.nodesWidget.draggable.drag,this.drawingsWidget.draggable.drag,this.labelWidget.draggable.drag,this.interfaceWidget.draggable.drag).subscribe(n=>{if(!this.isMapLocked){let o=this.selectionManager.getSelected(),r=o.filter(_=>_ instanceof Ol),a=r.filter(_=>_.locked),c=r.filter(_=>!_.locked);c.forEach(_=>{_.x+=n.dx,_.y+=n.dy,this.nodesWidget.updateNodePosition(e,_),this.graphDataManager.getLinks().filter(S=>S.target!==void 0&&S.target.id===_.id||S.source!==void 0&&S.source.id===_.id).forEach(S=>{this.linksWidget.redrawLink(e,S)})}),o.filteLine truncated
]`).replace("lheading",FH).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),X1e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Q1e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,BH=/^( {2,}|\\)\n(?!\s*$)/,Y1e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Yg=/[\p{P}\p{S}]/u,eM=/[\s\p{P}\p{S}]/u,IN=/[^\s\p{P}\p{S}]/u,K1e=qi(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,eM).getRegex(),VH=/(?!~)[\p{P}\p{S}]/u,Z1e=/(?!~)[\s\p{P}\p{S}]/u,J1e=/(?:[^\s\p{P}\p{S}]|~)/u,eye=qi(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",R1e?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),zH=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,tye=qi(zH,"u").replace(/punct/g,Yg).getRegex(),nye=qi(zH,"u").replace(/punct/g,VH).getRegex(),jH="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",iye=qi(jH,"gu").replace(/notPunctSpace/g,IN).replace(/punctSpace/g,eM).replace(/punct/g,Yg).getRegex(),oye=qi(jH,"gu").replace(/notPunctSpace/g,J1e).replace(/punctSpace/g,Z1e).replace(/punct/g,VH).getRegex(),rye=qi("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,IN).replace(/punctSpace/g,eM).replace(/punct/g,Yg).getRegex(),aye=qi(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Yg).getRegex(),sye="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",lye=qi(sye,"gu").replace(/notPunctSpace/g,IN).replace(/punctSpace/g,eM).replace(/punct/g,Yg).getRegex(),cye=qi(/\\(punct)/,"gu").replace(/punct/g,Yg).getRegex(),dye=qi(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),mye=qi(DN).replace("(?:-->|$)","-->").getRegex(),pye=qi("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",mye).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),K2=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,uye=qi(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",K2).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$H=qi(/^!?\[(label)\]\[(ref)\]/).replace("label",K2).replace("ref",EN).getRegex(),HH=qi(/^!?\[(ref)\](?:\[\])?/).replace("ref",EN).getRegex(),hye=qi("reflink|nolink(?!\\()","g").replace("reflink",$H).replace("nolink",HH).getRegex(),DH=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,AN={_backpedal:gh,anyPunctuation:cye,autolink:dye,blockSkip:eye,br:BH,code:Q1e,del:gh,delLDelim:gh,delRDelim:gh,emStrongLDelim:tye,emStrongRDelimAst:iye,emStrongRDelimUnd:rye,escape:X1e,link:uye,nolink:HH,punctuation:K1e,reflink:$H,reflinkSearch:hye,tag:pye,text:Y1e,url:gh},fye=tt(H({},AN),{link:qi(/^!?\[(label)\]\((.*?)\)/).replace("label",K2).getRegex(),reflink:qi(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",K2).getRegex()}),yN=tt(H({},AN),{emStrongRDelimAst:oye,emStrongLDelim:nye,delLDelim:aye,delRDelim:lye,url:qi(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",DH).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:qi(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",DH).getRegex()}),gye=tt(H({},yN),{br:qi(BH).replace("{2,}","*").getRegex(),text:qi(yN.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),Y2={normal:PN,gfm:W1e,pedantic:q1e},tC={normal:AN,gfm:yN,breaks:gye,pedantic:fye},_ye={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},PH=t=>_ye[t];function gd(t,i){if(i){if(is.escapeTest.test(tLine truncated
`).map(r=>{let a=r.match(e.other.beginningSpace);if(a===null)return r;let[c]=a;return c.length>=o.length?r.slice(o.length):r}).join(`
`)}var Z2=class{options;rules;lexer;constructor(t){this.options=t||vh}space(t){let i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(t){let i=this.rules.block.code.exec(t);if(i){let e=i[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:nC(e,`
`)}}}fences(t){let i=this.rules.block.fences.exec(t);if(i){let e=i[0],n=Cye(e,i[3]||"",this.rules);return{type:"code",raw:e,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:n}}}heading(t){let i=this.rules.block.heading.exec(t);if(i){let e=i[2].trim();if(this.rules.other.endingHash.test(e)){let n=nC(e,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(e=n.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(t){let i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:nC(i[0],`
`)}}blockquote(t){let i=this.rules.block.blockquote.exec(t);if(i){let e=nC(i[0],`
`).split(`
`),n="",o="",r=[];for(;e.length>0;){let a=!1,c=[],m;for(m=0;m<e.length;m++)if(this.rules.other.blockquoteStart.test(e[m]))c.push(e[m]),a=!0;else if(!a)c.push(e[m]);else break;e=e.slice(m);let p=c.join(`
`),h=p.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");n=n?`${n}
${p}`:p,o=o?`${o}
${h}`:h;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,r,!0),this.lexer.state.top=g,e.length===0)break;let M=r.at(-1);if(M?.type==="code")break;if(M?.type==="blockquote"){let C=M,_=C.raw+`
`+e.join(`
`),w=this.blockquote(_);r[r.length-1]=w,n=n.substring(0,n.length-C.raw.length)+w.raw,o=o.substring(0,o.length-C.text.length)+w.text;break}else if(M?.type==="list"){let C=M,_=C.raw+`
`+e.join(`
`),w=this.list(_);r[r.length-1]=w,n=n.substring(0,n.length-M.raw.length)+w.raw,o=o.substring(0,o.length-C.raw.length)+w.raw,e=_.substring(r.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:n,tokens:r,text:o}}}list(t){let i=this.rules.block.list.exec(t);if(i){let e=i[1].trim(),n=e.length>1,o={type:"list",raw:"",ordered:n,start:n?+e.slice(0,-1):"",loose:!1,items:[]};e=n?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=n?e:"[*+-]");let r=this.rules.other.listItemRegex(e),a=!1;for(;t;){let m=!1,p="",h="";if(!(i=r.exec(t))||this.rules.block.hr.test(t))break;p=i[0],t=t.substring(p.length);let g=bye(i[2].split(`
`,1)[0],i[1].length),M=t.split(`
`,1)[0],C=!g.trim(),_=0;if(this.options.pedantic?(_=2,h=g.trimStart()):C?_=i[1].length+1:(_=g.search(this.rules.other.nonSpaceChar),_=_>4?1:_,h=g.slice(_),_+=i[1].length),C&&this.rules.other.blankLine.test(M)&&(p+=M+`
`,t=t.substring(M.length+1),m=!0),!m){let w=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),y=this.rules.other.fencesBeginRegex(_),k=this.rules.other.headingBeginRegex(_),I=this.rules.other.htmlBeginRegex(_),E=this.rules.other.blockquoteBeginRegex(_);for(;t;){let N=t.split(`
`,1)[0],T;if(M=N,this.options.pedantic?(M=M.replace(this.rules.other.listReplaceNesting," "),T=M):T=M.replace(this.rules.other.tabCharGlobal," "),y.test(M)||k.test(M)||I.test(M)||E.test(M)||w.test(M)||S.test(M))break;if(T.search(this.rules.other.nonSpaceChar)>=_||!M.trim())h+=`
`+T.slice(_);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||y.test(g)||k.test(g)||S.test(g))break;h+=`
`+M}C=!M.trim(),p+=N+`
`,t=t.substring(N.length+1),g=T.slice(_)}}o.loose||(a?o.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),o.items.push({type:"list_item",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),o.raw+=p}let c=o.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let m of o.items){if(this.lexer.state.top=!1,m.tokens=this.lexer.blockTokens(m.text,[]),m.task){if(m.text=m.text.replace(this.rules.other.listReplaceTask,""),m.tokens[0]?.type==="text"||m.tokens[0]?.type==="paragraph"){m.tokens[0].raw=m.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),m.tokens[0].text=m.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let p=this.rules.other.listTaskCheckbox.exec(m.raw);if(p){let h={type:"checkbox",raw:p[0]+" ",checked:p[0]!=="[ ]"};m.checked=h.checked,o.loose?m.tokens[0]&&["paragraph","text"].includes(m.tokens[0].type)&&"tokens"in m.tokens[0]&&m.tokens[0].tokens?(m.tokens[0].raw=h.raw+m.tokens[0].raw,m.tokens[0].text=h.raw+m.tokens[0].text,m.tokens[0].tokens.unshift(h)):m.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):m.tokens.unshift(h)}}if(!o.loose){let p=m.tokens.filter(g=>g.type==="space"),h=p.length>0&&p.some(g=>this.rules.other.anyLine.test(g.raw));o.loose=h}}if(o.loose)for(let m of o.items){m.loose=!0;for(let p of m.tokens)p.type==="text"&&(p.type="paragraph")}return o}}html(t){let i=this.rules.block.html.exec(t);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(t){let i=this.rules.block.def.exec(t);if(i){let e=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:e,raw:i[0],href:n,title:o}}}table(t){let i=this.rules.block.table.exec(t);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let e=AH(i[1]),n=i[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=i[3]?.trim()?i[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],r={type:"table",raw:i[0],header:[],align:[],rows:[]};if(e.length===n.length){for(let a of n)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<e.length;a++)r.header.push({text:e[a],tokens:this.lexer.inline(e[a]),header:!0,align:r.align[a]});for(let a of o)r.rows.push(AH(a,r.header.length).map((c,m)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[m]})));return r}}lheading(t){let i=this.rules.block.lheading.exec(t);if(i){let e=i[1].trim();return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(t){let i=this.rules.block.paragraph.exec(t);if(i){let e=i[1].charAt(i[1].length-1)===`
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:e,tokens:this.lexer.inline(e)}}}text(t){let i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){let i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(t){let i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){let i=this.rules.inline.link.exec(t);if(i){let e=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let r=nC(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{let r=vye(i[2],"()");if(r===-2)return;if(r>-1){let a=(i[0].indexOf("!")===0?5:4)+i[1].length+r;i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,a).trim(),i[3]=""}}let n=i[2],o="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(n);r&&(n=r[1],o=r[3])}else o=i[3]?i[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n=n.slice(1):n=n.slice(1,-1)),OH(i,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(t,i){let e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){let n=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=i[n.toLowerCase()];if(!o){let r=e[0].charAt(0);return{type:"text",raw:r,text:r}}return OH(e,o,e[0],this.lexer,this.rules)}}emStrong(t,i,e=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||!n[1]&&!n[2]&&!n[3]&&!n[4]||n[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[3])||!e||this.rules.inline.punctuation.exec(e))){let o=[...n[0]].length-1,r,a,c=o,m=0,p=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,i=i.slice(-1*t.length+o);(n=p.exec(i))!=null;){if(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!r)continue;if(a=[...r].length,n[3]||n[4]){c+=a;continue}else if((n[5]||n[6])&&o%3&&!((o+a)%3)){m+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c+m);let h=[...n[0]][0].length,g=t.slice(0,o+n.index+h+a);if(Math.min(o,a)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let M=g.slice(2,-2);return{type:"strong",raw:g,text:M,tokens:this.lexer.inlineTokens(M)}}}}codespan(t){let i=this.rules.inline.code.exec(t);if(i){let e=i[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),o=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&o&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:i[0],text:e}}}br(t){let i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}}del(t,i,e=""){let n=this.rules.inline.delLDelim.exec(t);if(n&&(!n[1]||!e||this.rules.inline.punctuation.exec(e))){let o=[...n[0]].length-1,r,a,c=o,m=this.rules.inline.delRDelim;for(m.lastIndex=0,i=i.slice(-1*t.length+o);(n=m.exec(i))!=null;){if(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!r||(a=[...r].length,a!==o))continue;if(n[3]||n[4]){c+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c);let p=[...n[0]][0].length,h=t.slice(0,o+n.index+p+a),g=h.slice(o,-o);return{type:"del",raw:h,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(t){let i=this.rules.inline.autolink.exec(t);if(i){let e,n;return i[2]==="@"?(e=i[1],n="mailto:"+e):(e=i[1],n=e),{type:"link",raw:i[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(t){let i;if(i=this.rules.inline.url.exec(t)){let e,n;if(i[2]==="@")e=i[0],n="mailto:"+e;else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"";while(o!==i[0]);e=i[0],i[1]==="www."?n="http://"+i[0]:n=i[0]}return{type:"link",raw:i[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(t){let i=this.rules.inline.text.exec(t);if(i){let e=this.lexer.state.inRawBlock;return{type:"text",raw:i[0],text:i[0],escaped:e}}}},vc=class SN{tokens;options;state;inlineQueue;tokenizer;constructor(i){this.tokens=[],this.tokens.links=Object.create(null),this.options=i||vh,this.options.tokenizer=this.options.tokenizer||new Z2,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:is,block:Y2.normal,inline:tC.normal};this.options.pedantic?(e.block=Y2.pedantic,e.inline=tC.pedantic):this.options.gfm&&(e.block=Y2.gfm,this.options.breaks?e.inline=tC.breaks:e.inl Line truncated
`),this.blockTokens(i,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let n=this.inlineQueue[e];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(i,e=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(i=i.replace(is.tabCharGlobal," ").replace(is.spaceLine,""));i;){let o;if(this.options.extensions?.block?.some(a=>(o=a.call({lexer:this},i,e))?(i=i.substring(o.raw.length),e.push(o),!0):!1))continue;if(o=this.tokenizer.space(i)){i=i.substring(o.raw.length);let a=e.at(-1);o.raw.length===1&&a!==void 0?a.raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(o=this.tokenizer.fences(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.heading(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.hr(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.blockquote(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.list(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.html(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.def(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title},e.push(o));continue}if(o=this.tokenizer.table(i)){i=i.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.lheading(i)){i=i.substring(o.raw.length),e.push(o);continue}let r=i;if(this.options.extensions?.startBlock){let a=1/0,c=i.slice(1),m;this.options.extensions.startBlock.forEach(p=>{m=p.call({lexer:this},c),typeof m=="number"&&m>=0&&(a=Math.min(a,m))}),a<1/0&&a>=0&&(r=i.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(r))){let a=e.at(-1);n&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o),n=r.length!==i.length,i=i.substring(o.raw.length);continue}if(o=this.tokenizer.text(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(i){let a="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(i,e=[]){return this.inlineQueue.push({src:i,tokens:e}),e}inlineTokens(i,e=[]){this.tokenizer.lexer=this;let n=i,o=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)m.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,o.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(o=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)r=o[2]?o[2].length:0,n=n.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,c="";for(;i;){a||(c=""),a=!1;let m;if(this.options.extensions?.inline?.some(h=>(m=h.call({lexer:this},i,e))?(i=i.substring(m.raw.length),e.push(m),!0):!1))continue;if(m=this.tokenizer.escape(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.tag(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.link(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.reflink(i,this.tokens.links)){i=i.substring(m.raw.length);let h=e.at(-1);m.type==="text"&&h?.type==="text"?(h.raw+=m.raw,h.text+=m.text):e.push(m);continue}if(m=this.tokenizer.emStrong(i,n,c)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.codespan(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.br(i)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.del(i,n,c)){i=i.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.autolink(i)){i=i.substring(m.raw.length),e.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(i))){i=i.substring(m.raw.length),e.push(m);continue}let p=i;if(this.options.extensions?.startInline){let h=1/0,g=i.slice(1),M;this.options.extensions.startInline.forEach(C=>{M=C.call({lexer:this},g),typeof M=="number"&&M>=0&&(h=Math.min(h,M))}),h<1/0&&h>=0&&(p=i.substring(0,h+1))}if(m=this.tokenizer.inlineText(p)){i=i.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(c=m.raw.slice(-1)),a=!0;let h=e.at(-1);h?.type==="text"?(h.raw+=m.raw,h.text+=m.text):e.push(m);continue}if(i){let h="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return e}},Hp=class{options;parser;constructor(t){this.options=t||vh}space(t){return""}code({text:t,lang:i,escaped:e}){let n=(i||"").match(is.notSpaceStart)?.[0],o=t.replace(is.endingNewline,"")+`
`;return n?'<pre><code class="language-'+gd(n)+'">'+(e?o:gd(o,!0))+`</code></pre>
`:"<pre><code>"+(e?o:gd(o,!0))+`</code></pre>
`}blockquote({tokens:t}){return`<blockquote>
${this.parser.parse(t)}</blockquote>
`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:i}){return`<h${i}>${this.parser.parseInline(t)}</h${i}>
`}hr(t){return`<hr>
`}list(t){let i=t.ordered,e=t.start,n="";for(let a=0;a<t.items.length;a++){let c=t.items[a];n+=this.listitem(c)}let o=i?"ol":"ul",r=i&&e!==1?' start="'+e+'"':"";return"<"+o+r+`>
`+n+"</"+o+`>
`}listitem(t){return`<li>${this.parser.parse(t.tokens)}</li>
`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
`}table(t){let i="",e="";for(let o=0;o<t.header.length;o++)e+=this.tablecell(t.header[o]);i+=this.tablerow({text:e});let n="";for(let o=0;o<t.rows.length;o++){let r=t.rows[o];e="";for(let a=0;a<r.length;a++)e+=this.tablecell(r[a]);n+=this.tablerow({text:e})}return n&&(n=`<tbody>${n}</tbody>`),`<table>
<thead>
`+i+`</thead>
`+n+`</table>
`}tablerow({text:t}){return`<tr>
${t}</tr>
`}tablecell(t){let i=this.parser.parseInline(t.tokens),e=t.header?"th":"td";return(t.align?`<${e} align="${t.align}">`:`<${e}>`)+i+`</${e}>
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${gd(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:i,tokens:e}){let n=this.parser.parseInline(e),o=IH(t);if(o===null)return n;t=o;let r='<a href="'+t+'"';return i&&(r+=' title="'+gd(i)+'"'),r+=">"+n+"</a>",r}image({href:t,title:i,text:e,tokens:n}){n&&(e=this.parser.parseInline(n,this.parser.textRenderer));let o=IH(t);if(o===null)return gd(e);t=o;let r=`<img src="${t}" alt="${gd(e)}"`;return i&&(r+=` title="${gd(i)}"`),r+=">",r}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:gd(t.text)}},ON=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},bc=class wN{options;renderer;textRenderer;constructor(i){this.options=i||vh,this.options.renderer=this.options.renderer||new Hp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ON}static parse(i,e){return new wN(e).parse(i)}static parseInline(i,e){return new wN(e).parseInline(i)}parse(i){this.renderer.parser=this;let e="";for(let n=0;n<i.length;n++){let o=i[n];if(this.options.extensions?.renderers?.[o.type]){let a=o,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a.type)){e+=c||"";continue}}let r=o;switch(r.type){case"space":{e+=this.renderer.space(r);break}case"hr":{e+=this.renderer.hr(r);break}case"heading":{e+=this.renderer.heading(r);break}case"code":{e+=this.renderer.code(r);break}case"table":{e+=this.renderer.table(r);break}case"blockquote":{e+=this.renderer.blockquote(r);break}case"list":{e+=this.renderer.list(r);break}case"checkbox":{e+=this.renderer.checkbox(r);break}case"html":{e+=this.renderer.html(r);break}case"def":{e+=this.renderer.def(r);break}case"paragraph":{e+=this.renderer.paragraph(r);break}case"text":{e+=this.renderer.text(r);break}default:{let a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return e}parseInline(i,e=this.renderer){this.renderer.parser=this;let n="";for(let o=0;o<i.length;o++){let r=i[o];if(this.options.extensions?.renderers?.[r.type]){let c=this.options.extensions.renderers[r.type].call({parser:this},r);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=c||"";continue}}let a=r;switch(a.type){case"escape":{n+=e.text(a);break}case"html":{n+=e.html(a);break}case"link":{n+=e.link(a);break}case"image":{n+=e.image(a);break}case"checkbox":{n+=e.checkbox(a);break}case"strong":{n+=e.strong(a);break}case"em":{n+=e.em(a);break}case"codespan":{n+=e.codespan(a);break}case"br":{n+=e.br(a);break}case"del":{n+=e.del(a);break}case"text":{n+=e.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return n}},iC=class{options;block;constructor(t){this.options=t||vh}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(){return this.block?vc.lex:vc.lexInline}provideParser(){return this.block?bc.parse:bc.parseInline}},xye=class{defaults=MN();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=bc;Renderer=Hp;TextRenderer=ON;Lexer=vc;Tokenizer=Z2;Hooks=iC;constructor(...t){this.use(...t)}walkTokens(t,i){let e=[];for(let n of t)switch(e=e.concat(i.call(this,n)),n.type){case"table":{let o=n;for(let r of o.header)e=e.concat(this.walkTokens(r.tokens,i));for(let r of o.rows)for(let a of r)e=e.concat(this.walkTokens(a.tokens,i));break}case"list":{let o=n;e=e.concat(this.walkTokens(o.items,i));break}default:{let o=n;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let a=o[r].flat(1/0);e=e.concat(this.walkTokens(a,i))}):o.tokens&&(e=e.concat(this.walkTokens(o.tokens,i)))}}return e}use(...t){let i=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{let n=H({},e);if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let r=i.renderers[o.name];r?i.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=r.apply(this,a)),c}:i.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!oLine truncated
Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error occurred:</p><pre>"+gd(e.message+"",!0)+"</pre>";return i?Promise.resolve(n):n}if(i)return Promise.reject(e);throw e}}},_h=new xye;function ji(t,i){return _h.parse(t,i)}ji.options=ji.setOptions=function(t){return _h.setOptions(t),ji.defaults=_h.defaults,NH(ji.defaults),ji};ji.getDefaults=MN;ji.defaults=vh;ji.use=function(...t){return _h.use(...t),ji.defaults=_h.defaults,NH(ji.defaults),ji};ji.walkTokens=function(t,i){return _h.walkTokens(t,i)};ji.parseInline=_h.parseInline;ji.Parser=bc;ji.parser=bc.parse;ji.Renderer=Hp;ji.TextRenderer=ON;ji.Lexer=vc;ji.lexer=vc.lex;ji.Tokenizer=Z2;ji.Hooks=iC;ji.parse=ji;var X1t=ji.options,Q1t=ji.setOptions,Y1t=ji.use,K1t=ji.walkTokens,Z1t=ji.parseInline;var J1t=bc.parse,eyt=vc.lex;var yye=["*"],Sye="Copy",wye="Copied",Mye=(()=>{class t{constructor(){this._buttonClick$=new Le,this.copied=TH(this._buttonClick$.pipe(fn(()=>Dn(xt(!0),Ma(3e3).pipe(f5(!1)))),V_(),Kp(1))),this.copiedText=ri(()=>this.copied()?wye:Sye)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=L({type:t,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(n,o){n&1&&(_o(0,"button",0),MC("click",function(){return o.onCopyToClipboardClick()}),d(1),wo()),n&2&&(je("copied",o.copied()),u(),U(o.copiedText()))},encapsulation:2,changeDetection:0})}}return t})(),kye=new kt("CLIPBOARD_OPTIONS");var Tye=new kt("MARKED_EXTENSIONS"),Eye=new kt("MARKED_OPTIONS"),Dye=new kt("MERMAID_OPTIONS"),Pye=new kt("SANITIZE");function Iye(t){return typeof t=="function"}var Aye="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",Oye="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",Nye="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",Rye="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",Fye="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",Lye="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var UH=(()=>{class t{get options(){return this._options}set options(e){this._options=H(H({},this.DEFAULT_MARKED_OPTIONS),e)}get renderer(){return this.options.renderer}set renderer(e){this.options.renderer=e}constructor(){this.clipboardOptions=f(kye,{optional:!0}),this.extensions=f(Tye,{optional:!0}),this.http=f(os,{optional:!0}),this.mermaidOptions=f(Dye,{optional:!0}),this.platform=f(wh),this.sanitize=f(Pye,{optional:!0}),this.sanitizer=f(lr),this.DEFAULT_MARKED_OPTIONS={renderer:new Hp},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=xd.HTML,this._options=null,this._reload$=new Le,this.reload$=this._reload$.asObservable(),this.options=f(Eye,{optional:!0})}parse(e,n=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:o,inline:r,emoji:a,mermaid:c,disableSanitizer:m}=n,p=H(H({},this.options),n.markedOptions),h=p.renderer||this.renderer||new Hp;this.extensions&&(this.renderer=this.extendsRendererForExtensions(h)),c&&(this.renderer=this.extendsRendererForMermaid(h));let g=this.trimIndentation(e),M=o?this.decodeHtml(g):g,C=a?this.parseEmoji(M):M,_=this.parseMarked(C,p,r);return m?_:this.sanitizeHtml(_)}render(e,n=this.DEFAULT_RENDER_OPTIONS,o){let{clipboard:r,clipboardOptions:a,katex:c,katexOptions:m,mermaid:p,mermaidOptions:h}=n;c&&this.renderKatex(e,H(H({},this.DEFAULT_KATEX_OPTIONS),m)),p&&this.renderMermaid(e,H(H(H({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),h)),r&&this.renderClipboard(e,o,H(H(H({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(e)}reload(){this._reload$.next()}getSource(e){if(!this.http)throw n Line truncated
`+n+"\n```":n}parseMarked(e,n,o=!1){if(n.renderer){let r=H({},n.renderer);delete r.\u0275NgxMarkdownRendererExtendedForExtensions,delete r.\u0275NgxMarkdownRendererExtendedForMermaid,delete n.renderer,ji.use({renderer:r})}return o?ji.parseInline(e,n):ji.parse(e,n)}parseEmoji(e){if(!Rs(this.platform))return e;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(Aye);return joypixels.shortnameToUnicode(e)}renderKatex(e,n){if(Rs(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(Oye);renderMathInElement(e,n)}}renderClipboard(e,n,o){if(!Rs(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(Rye);if(!n)throw new Error(Fye);let{buttonComponent:r,buttonTemplate:a}=o,c=e.querySelectorAll("pre");for(let m=0;m<c.length;m++){let p=c.item(m),h=document.createElement("div");h.style.position="relative",p.parentNode.insertBefore(h,p),h.appendChild(p);let g=document.createElement("div");g.classList.add("markdown-clipboard-toolbar"),g.style.position="absolute",g.style.top=".5em",g.style.right=".5em",g.style.zIndex="1",h.insertAdjacentElement("beforeend",g),h.onmouseenter=()=>g.classList.add("hover"),h.onmouseleave=()=>g.classList.remove("hover");let M;if(r){let _=n.createComponent(r);M=_.hostView,_.changeDetectorRef.markForCheck()}else if(a)M=n.createEmbeddedView(a);else{let _=n.createComponent(Mye);M=_.hostView,_.changeDetectorRef.markForCheck()}let C;M.rootNodes.forEach(_=>{g.appendChild(_),C=new ClipboardJS(_,{text:()=>p.innerText})}),M.onDestroy(()=>C.destroy())}}renderMermaid(e,n=this.DEFAULT_MERMAID_OPTIONS){if(!Rs(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error(Nye);let o=e.querySelectorAll(".mermaid");o.length!==0&&(mermaid.initialize(n),mermaid.run({nodes:o}))}trimIndentation(e){if(!e)return"";let n;return e.split(`
`).map(o=>{let r=n;return o.length>0&&(r=isNaN(r)?o.search(/\S|$/):Math.min(o.search(/\S|$/),r)),isNaN(n)&&(n=r),r?o.substring(r):o}).join(`
`)}async sanitizeHtml(e){return Iye(this.sanitize)?this.sanitize(await e):this.sanitize!==xd.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,e)??"":e}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=Q({token:t,factory:t.\u0275fac})}}return t})(),NN=(function(t){return t.CommandLine="command-line",t.LineHighlight="line-highlight",t.LineNumbers="line-numbers",t})(NN||{}),tM=(()=>{class t{constructor(){this.element=f(Lt),this.markdownService=f(UH),this.viewContainerRef=f(co),this.error=new ve,this.load=new ve,this.ready=new ve,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new Le}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(e){this._disableSanitizer=this.coerceBooleanProperty(e)}get inline(){return this._inline}set inline(e){this._inline=this.coerceBooleanProperty(e)}get clipboard(){return this._clipboard}set clipboard(e){this._clipboard=this.coerceBooleanProperty(e)}get emoji(){return this._emoji}set emoji(e){this._emoji=this.coerceBooleanProperty(e)}get katex(){return this._katex}set katex(e){this._katex=this.coerceBooleanProperty(e)}get mermaid(){return this._mermaid}set mermaid(e){this._mermaid=this.coerceBooleanProperty(e)}get lineHighlight(){return this._lineHighlight}set lineHighlight(e){this._lineHighlight=this.coerceBooleanProperty(e)}get lineNumbers(){return this._lineNumbers}set lineNumbers(e){this._lineNumbers=this.coerceBooleanProperty(e)}get commandLine(){return this._commandLine}set commandLine(e){this._commandLine=this.coerceBooleanProperty(e)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(rt(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}async render(e,n=!1){let o={decodeHtml:n,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},r={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=await this.markdownService.parse(e,o);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,r,this.viewContainerRef),this.ready.emit()}coerceBooleanProperty(e){return e!=null&&`${String(e)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:e=>{this.render(e).then(()=>{this.load.emit(e)})},error:e=>this.error.emit(e)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,NN.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,NN.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(e,n){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++){let a=n instanceof Array?n:[n];o.item(r).classList.add(...a)}}setPluginOptions(e,n){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++)Object.keys(n).forEach(a=>{let c=n[a];if(c){let m=this.toLispCase(a);o.item(r).setAttribute(m,c.toString())}})}toLispCase(e){let n=e.match(/([A-Z])/g);if(!n)return e;let o=e.toString();for(let r=0,a=n.length;r<a;r++)o=o.replace(new RegExp(n[r]),"-"+n[r].toLowerCase());return o.slice(0,1)==="-"&&(o=o.slice(1)),o}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=L({type:t,selectors:[["markdown"],["","markdown",""]],inputs:{data:"data",src:"src",disableSanitizer:"disableSanitizer",inline:"inline",clipboard:"clipboard",clipboardButtonComponent:"clipboardButtonComponent",clipboardButtonTemplate:"clipboardButtonTemplate",emoji:"emoji",katex:"katex",katexOptions:"katexOptions",mermaid:"mermaid",mermaidOptions:"mermaidOptions",lineHighlight:"lineHighlight",line:"line",lineOffset:"lineOffset",lineNumbers:"lineNumbers",start:"start",commandLine:"commandLine",filterOutput:"filterOutput",host:"host",prompt:"prompt",output:"output",user:"user"},outputs:{error:"error",load:"load",ready:"ready"},features:[un],ngContentSelectors:yye,decls:1,vars:0,template:function(n,o){n&1&&(En(),Yt(0))},encapsulation:2})}}return t})();fu Line truncated
name: ${o.name}; `}),n=n.substring(0,n.length-2),n}getCommandLine(e){return e.node_type==="cloud"||e.node_type==="nat"||e.node_type==="ethernet_hub"||e.node_type==="ethernet_switch"||e.node_type==="frame_relay_switch"||e.node_type==="atm_switch"||e.node_type==="dynamips"||e.node_type==="iou"?"Command line information is not supported for this type of node.":e.command_line?e.command_line:"Please start the node in order to get the command line information."}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();function cSe(t,i){if(t&1&&(s(0,"div"),d(1),l()),t&2){let e=i.$implicit;u(),U(e)}}var aM=(()=>{class t{dialogRef=f(Pe);infoService=f(rM);cd=f(K);controller;node;infoList=[];usage="";commandLine="";ngOnInit(){this.infoList=this.infoService.getInfoAboutNode(this.node,this.controller),this.commandLine=this.infoService.getCommandLine(this.node),this.usage=this.node.usage?this.node.usage:"No usage information has been provided for this node.",this.cd.markForCheck()}onCloseClick(){this.dialogRef.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-info-dialog"]],inputs:{controller:"controller",node:"node"},decls:17,vars:3,consts:[["mat-dialog-title",""],["mat-icon-button","",1,"close-btn",3,"click"],[1,"modal-form-container"],["animationDuration","0ms"],["label","General information"],[1,"textBox"],["label","Usage instructions"],["label","Command line"]],template:function(n,o){n&1&&(s(0,"h1",0),d(1),s(2,"button",1),v("click",function(){return o.onCloseClick()}),s(3,"mat-icon"),d(4,"close"),l()()(),s(5,"div",2)(6,"mat-tab-group",3)(7,"mat-tab",4)(8,"div",5),J(9,cSe,2,1,"div",null,Fe),l()(),s(11,"mat-tab",6)(12,"div",5),d(13),l()(),s(14,"mat-tab",7)(15,"div",5),d(16),l()()()()),n&2&&(u(),X(" ",o.node.name," "),u(8),ee(o.infoList),u(4),X(" ",o.usage," "),u(3),X(" ",o.commandLine," "))},dependencies:[Ce,Ve,$,ze,te,se,Si,mo,Bo,Vo],styles:["[mat-dialog-title][_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;color:var(--mat-sys-on-surface)}.close-btn[_ngcontent-%COMP%]{margin-left:auto}.modal-form-container[_ngcontent-%COMP%]{padding:16px;height:300px;display:flex;flex-direction:column;color:var(--mat-sys-on-surface-variant)}.modal-form-container[_ngcontent-%COMP%] mat-tab-group[_ngcontent-%COMP%]{flex:1;overflow:auto}.textBox[_ngcontent-%COMP%]{margin-top:8px;color:var(--mat-sys-on-surface-variant)}"],changeDetection:0})}return t})();var sM=(()=>{class t{dialog=f(Je);node=oe(void 0);controller=oe(void 0);showNode(){let n=this.dialog.open(aM,{panelClass:["base-dialog-panel","show-node-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;n.node=this.node(),n.controller=this.controller()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-show-node-action"]],inputs:{node:[1,"node"],controller:[1,"controller"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(n,o){n&1&&(s(0,"button",0),v("click",function(){return o.showNode()}),s(1,"mat-icon"),d(2,"info"),l(),s(3,"span"),d(4,"Show node information"),l()())},dependencies:[$,te,se,Qe,ot],encapsulation:2,changeDetection:0})}return t})();function dSe(t,i){t&1&&(s(0,"th",26),d(1,"Port : VPI : VCI"),l())}function mSe(t,i){if(t&1&&(s(0,"td",27),d(1),l()),t&2){let e=i.$implicit;u(),U(e.portIn)}}function pSe(t,i){t&1&&(s(0,"th",26),d(1,"Port : VPI : VCI"),l())}function uSe(t,i){if(t&1&&(s(0,"td",27),d(1),l()),t&2){let e=i.$implicit;u(),U(e.portOut)}}function hSe(t,i){t&1&&(s(0,"th",26),d(1,"Actions"),l())}function fSe(t,i){if(t&1){let e=j();s(0,"td",27)(1,"button",28),v("click",function(){let o=D(e).$implicit,r=b(2);return P(r.delete(o))}),s(2,"mat-icon",29),d(3,"delete"),l()()()}}function gSe(t,i){t&1&&F(0,"tr",30)}function _Se(t,i){t&1&&F(0,"tr",31)}function vSe(t,i){if(t&1&&(s(0,"table",4),qe(1,19),Ae(2,dSe,2,0,"th",20)(3,mSe,2,1,"td",21),Xe(),qe(4,22),Ae(5,pSe,2,0,"th",20)(6,uSe,2,1,"td",21),Xe(),qe(7,23),Ae(8,hSe,2,0,"th",20)(9,fSe,4,0,"td",21),Xe(),Ae(10,gSe,1,0,"tr",24)(11,_Se,1,0,"tr",25),l()),t&2){let e=b();x("dataSource",e.nodeMappingsDataSource),u(10),x("matHeaderRowDef",e.displayedColumns),u(),x("matRowDefColumns",e.displayedColumns)}}var lM=(()=>{class t{dialogRef=f(Pe);nodeService=f(wt);toasterService=f(fe);formBuilder=f(jt);cd=f(K);controller;node;name;nameForm;inputForm;abstractForm;consoleTypes=[];nodeMappings=new Map;nodeMappingsDataSource=[];dataSource=[];displayedColumns=["portIn","portOut","actions"];sourcePort="";sourceVpi="";sourceVci="";destinationPort="";destinationVpi="";destinationVci="";useVpiOnly=!1;constructor(){this.nameForm=this.formBuilder.group({name:new re("",be.required),useVpiOnly:new re(!1)}),this.inputForm=this.formBuilder.group({sourcePort:new re("",be.required),sourceVci:new re("",be.required),destinationPort:new re("",be.required),destinationVci:new re("",be.required)}),this.abstractForm=this.formBu Line truncated
KEY2=value2`],["matInput","","formControlName","extra_hosts"],["matInput","","formControlName","extra_volumes"],["label","Usage"],["matInput","","formControlName","usage"],[3,"removed"],["matChipRemove",""]],template:function(n,o){n&1&&(s(0,"h1",1),d(1),l(),s(2,"div",2)(3,"div",3)(4,"div",4)(5,"mat-card",5),A(6,RSe,94,5,"mat-tab-group"),l()()()(),s(7,"div",6)(8,"button",7),v("click",function(){return o.onCancelClick()}),d(9,"Cancel"),l(),s(10,"button",8),v("click",function(){return o.onSaveClick()}),d(11,"Apply"),l()()),n&2&&(u(),X("Configurator for node ",o.name),u(5),O(o.name?6:-1))},dependencies:[Z,nt,Ue,vt,xi,mt,He,Ro,ct,pt,bt,Ce,Ve,Be,Dt,Tn,mo,Bo,Vo,Me,ke,lt,Fo,we,Te,Mt,At,St,$,le,ti,zn,mi,pi,di,te,se,Ot,Ht],encapsulation:2,changeDetection:0})}return t})();function FSe(t,i){if(t&1){let e=j();s(0,"mat-chip",18),v("removed",function(){let o=D(e).$implicit,r=b(2);return P(r.removeTag(o))}),d(1),s(2,"mat-icon",19),d(3,"cancel"),l()()}if(t&2){let e=i.$implicit;u(),X(" ",e," ")}}function LSe(t,i){if(t&1&&(s(0,"mat-option",16),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),X(" ",e," ")}}function BSe(t,i){if(t&1&&F(0,"app-ports",17,1),t&2){let e=b(2);x("ethernetPorts",e.node.properties.ports_mapping)}}function VSe(t,i){if(t&1){let e=j();s(0,"div",5)(1,"mat-card",9)(2,"form",10)(3,"mat-form-field",11)(4,"mat-label"),d(5,"Name"),l(),F(6,"input",12),l(),s(7,"mat-form-field",13)(8,"mat-label"),d(9,"Tags"),l(),s(10,"mat-chip-grid",null,0),J(12,FSe,4,1,"mat-chip",null,Fe),l(),s(14,"input",14),v("matChipInputTokenEnd",function(o){D(e);let r=b();return P(r.addTag(o))}),l()(),s(15,"mat-form-field",11)(16,"mat-label"),d(17,"Console type"),l(),s(18,"mat-select",15),J(19,LSe,2,2,"mat-option",16,Fe),l()()(),A(21,BSe,2,1,"app-ports",17),l()()}if(t&2){let e=Re(11),n=b();u(2),x("formGroup",n.inputForm),u(10),ee(n.node==null?null:n.node.tags),u(2),x("matChipInputFor",e)("matChipInputSeparatorKeyCodes",n.separatorKeysCodes),u(5),ee(n.consoleTypes),u(2),O(n.node.properties?21:-1)}}var hM=(()=>{class t{portsComponent=Ut(Wd);dialogRef=f(Pe);nodeService=f(wt);toasterService=f(fe);formBuilder=f(jt);ethernetSwitchesConfigurationService=f(Na);cd=f(K);controller;node;name;inputForm;consoleTypes=[];separatorKeysCodes=[13,188];constructor(){this.inputForm=this.formBuilder.group({name:new re("",be.required),console_type:new re("")})}ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe(e=>{this.node=e,this.name=this.node.name,this.inputForm.patchValue({name:e.name,console_type:e.console_type||""}),this.getConfiguration(),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()})}getConfiguration(){this.consoleTypes=this.ethernetSwitchesConfigurationService.getConsoleTypesForEthernetSwitches()}onSaveClick(){if(this.inputForm.valid){let e=this.inputForm.value;this.node.name=e.name,this.node.console_type=e.console_type,this.node.properties.ports_mapping=this.portsComponent().ethernetPorts,this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:n=>{let o=n?.error?.message||n?.message||"Failed to update node";this.toasterService.error(o)}})}else this.toasterService.error("Fill all required fields.")}onCancelClick(){this.dialogRef.close()}addTag(e){let n=(e.value||"").trim();n&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(n)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let n=this.node.tags.indexOf(e);n>=0&&this.node.tags.splice(n,1)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-configurator-ethernet-switch"]],viewQuery:function(n,o){n&1&&tn(o.portsComponent,Wd,5),n&2&&nn()},decls:10,vars:2,consts:[["chipList",""],["ports",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],[1,"matCard"],[3,"formGroup"],[1,"form-field"],["matInput","","type","text","formControlName","name"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],["formControlName","console_type"],[3,"value"],[3,"ethernetPorts"],[3,"removed"],["matChipRemove",""]],template:function(n,o){n&1&&(s(0,"h1",2),d(1),l(),s(2,"div",3)(3,"div",4),A(4,VSe,22,4,"div",5),l()(),s(5,"div",6)(6,"button",7),v("click",function(){return o.onCancelClick()}),d(7,"Cancel"),l(),s(8,"button",8),v("click",function(){return o.onSaveClick()}),d(9,"Apply"),l()()),n&2&&(u(),X("Configurator for Ethernet switch ",o.name),u(3),O(o.node?4:-1))},dependencies:[Z,nt,Ue,vt,mt,He,ct,pt,bt,Ce,Ve,Be,Dt,Tn,Me,ke,lt,we,Te,Mt,At,St,$,le,ti,zn,mi,pi,di,te,se,Wd],encapsulation:2,changeDetection:0})}return t})();function zSe(t,i){if(t&1){let e=j();s(0,"mat-chip",15),v("removed",function(){let o=D(e).$implicit,r=b();ret Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var _we={provide:Zl,useExisting:ql(()=>el),multi:!0};var vwe=new kt("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let t=f(Di);return()=>RC(t)}}),el=(()=>{class t{_environmentInjector=f(Xl);_element=f(Lt);_injector=f(Di);_viewContainerRef=f(co);_zone=f(bi);_changeDetectorRef=f(K);_dir=f(Hr,{optional:!0});_formField=f(Bh,{optional:!0,host:!0});_viewportRuler=f(wd);_scrollStrategy=f(vwe);_renderer=f(ii);_animationsDisabled=Qi();_defaults=f(qH,{optional:!0});_overlayRef=null;_portal;_componentDestroyed=!1;_initialized=new Le;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue=null;_valueOnAttach=null;_valueOnLastKeydown=null;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=so.EMPTY;_breakpointObserver=f(Fh);_handsetLandscapeSubscription=so.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption=null;_closeKeyEventStream=new Le;_overlayPanelClass=rR(this._defaults?.overlayPanelClass||[]);_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled=!1;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&HC(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Dn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(Pn(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(Pn(()=>this._overlayAttached)):xt()).pipe(yt(e=>e instanceof MR?e:null))}optionSelections=xc(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(li(e),fn(()=>Dn(...e.map(n=>n.onSelectionChange)))):this._initialized.pipe(fn(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new _r(e=>{let n=r=>{let a=eu(r),c=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,m=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&a!==this._element.nativeElement&&!this._hasFocus()&&(!c||!c.contains(a))&&(!m||!m.contains(a))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(a)&&e.next(r)},o=[this._renderer.listen("document","click",n),this._renderer.listen("document","auxclick",n),this._renderer.listen("document","touchend",n)];return()=>{o.forEach(r=>r())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let n=e,o=n.keyCode,r=cr(n);if(o===27&&!r&&n.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&o===13&&this.panelOpen&&!r)this.activeOption._selectViaInteraction(),this._resetActiveItem(),n.preventDefault();else if(this.autocomplete){let a=this.autocomplete._keyManager.activeItem,c=o===38||o===40;o===9||c&&!r&&this.panelOpen?this.autocomplete._keyManager.onKeydown(n):c&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(c||this.autocomplete._keyManager.activeItem!==a)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this Line truncated
A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|
MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|
ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|
WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|
XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|
XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052`),SAMSUNG:new RegExp(`\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|
GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|
GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|
GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|
GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|
GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|
GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|
GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|
GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|
GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|
GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|
GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|
GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|
GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|
GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|
GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|
GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|
GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|
SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|
SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|
SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|
SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|
SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|
SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|
SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|
SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|
SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|
SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|
SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|
SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|
SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|
SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|
SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|
SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|
SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|
SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|
SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|
SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|
SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|
SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|
SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|
SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|
SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|
SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|
SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|
SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|
SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|
SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|
SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|
GT-N7105|SCH-I535|SM-N900A|SM-N900T|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|
GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|
GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|
SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|
SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|
SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F`),LG:new RegExp(`\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|
LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|
C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|
LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|
VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|
MS323|M257)`),SONY:/SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533/,ASUS:/Asus.*Galaxy|PadFone.*Mobile/,NOKIA_LUMIA:/Lumia [0-9]{3,4}/,MICROMAX:/Micromax.*\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\b/,PALM:/PalmSource|Palm/,VERTU:/Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature/,PANTECH:new RegExp(`PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|
IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|
IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|
CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|
P2000|P7040|P7000|C790`),FLY:/IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250/,WIKO:new RegExp(`KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|
SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|
CINK KING|CINK PEAX|CINK SLIM|SUBLIM`),I_MOBILE:/i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)/,SIMVALLEY:/\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b/,WOLFGANG:/AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q/,ALCATEL:/Alcatel|Mobile; rv:49.0|Mobile; ALCATEL 4052R; rv:48.0/,NINTENDO:/Nintendo (3DS|Switch)/,AMOI:/Amoi/,INQ:/INQ/,VITA:/\bVita\b/,BLACKBERRY:/\bBlackBerry\b|\bBB10\b|rim[0-9]+/,FIREFOX_OS:/\bFirefox-OS\b/,IPHONE:/\biPhone\b/,iPod:/\biPod\b/,ANDROID:/\bAndroid\b/,WINDOWS_PHONE:/\bWindows-Phone\b/,GENERIC_PHONE:new RegExp(`Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|
up.link|vodafone|\\bwap\\b|nokia|Nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser`)},n_={iPad:/iPad|iPad.*Mobile/,NexusTablet:/Android.*Nexus[\s]+(7|9|10)/,GoogleTablet:/Android.*Pixel C/,SamsungTablet:new RegExp(`SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|
GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|
SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|
GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|
SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|
GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|
SHV-E230S|SHW-M180K|SHW-M180L|SM-T865|SM-T290|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|
SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|
GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T385M|SM-P585M|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|
SM-P601|SM-P605|SM-P615|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|
GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|
SM-T510|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|
SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T500|SM-T330|
SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|
SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|
SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|
SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|
SM-T719|SM-T725|SM-T813|SM-T819|SM-T580|SM-T590|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|
SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-P585Y|SM-X200`),Kindle:new RegExp(`Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|
KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome /[0-9.]+ (?!Mobile)`),SurfaceTablet:/Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)/,HPTablet:/HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10/,AsusTablet:new RegExp(`^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|
TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|
Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|
ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|
ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b`),BlackBerryTablet:/PlayBook|RIM Tablet/,HTCtablet:/HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410/,MotorolaTablet:/xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617/,NookTablet:/Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2/,AcerTablet:new RegExp(`Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|
W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|
\\bA3-A20\\b|\\bA3-A30`),ToshibaTablet:/Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO/,LGTablet:/\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\b/,FujitsuTablet:/Android.*\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\b/,PrestigioTablet:new RegExp(`PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|
PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|
PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|
PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|
PMT5887|PMT5001|PMT5002`),LenovoTablet:new RegExp(`Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|
YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|
B8000|B8080)(-|)(FL|F|HV|H|)|TB-X606F|TB-X103F|TB-X304F|TB-X304L|TB-X704F|TB-8703F|Tab2A7-10F|TB2-X30L|TB-8504F`),DellTablet:/Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7/,YarvikTablet:new RegExp(`Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|
TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|
TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|
TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|
TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b`),MedionTablet:/Android.*\bOYO\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB/,ArnovaTablet:/97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2/,IntensoTablet:/INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004/,IRUTablet:/M702pro/,MegafonTablet:/MegaFon V9|\bZTE V9\b|Android.*\bMT7A\b/,EbodaTablet:/E-Boda (Supreme|Impresspeed|Izzycomm|Essential)/,AllViewTablet:/Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)/,ArchosTablet:new RegExp(`\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10|
Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b`),AinolTablet:/NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark/,NokiaLumiaTablet:/Lumia 2520/,SonyTablet:new RegExp(`Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|
SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|
EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|
SGP612|SGP712`),PhilipsTablet:/\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\b/,CubeTablet:/Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT/,CobyTablet:new RegExp(`MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|
MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010`),MIDTablet:new RegExp(`M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|
MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|
MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10`),MSITablet:new RegExp(`MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|
Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b`),SMiTTablet:/Android.*(\bMID\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)/,RockChipTablet:/Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A/,FlyTablet:/IQ310|Fly Vision/,bqTablet:new RegExp(`Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|
Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus`),HuaweiTablet:new RegExp(`MediaPad|MediaPad 7 Youth|MediaPad T3 10|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|
S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-W09`),NecTablet:/\bN-06D|\bN-08D/,PantechTablet:/Pantech.*P4100/,BronchoTablet:/Broncho.*(N701|N708|N802|a710)/,VersusTablet:/TOUCHPAD.*[78910]|\bTOUCHTAB\b/,ZyncTablet:/z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900/,PositivoTablet:/TB07STA|TB10STA|TB07FTA|TB10FTA/,NabiTablet:/Android.*\bNabi/,KoboTablet:/Kobo Touch|\bK080\b|\bVox\b Build|\bArc\b Build/,DanewTablet:/DSlide.*\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\b/,TexetTablet:new RegExp(`NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|
TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|
TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|
TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|
TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|
TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|
TB-436|TB-416|TB-146SE|TB-126SE`),PlaystationTablet:/Playstation.*(Portable|Vita)/,TrekstorTablet:/ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab/,PyleAudioTablet:/\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\b/,AdvanTablet:new RegExp(`Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|
T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b`),DanyTechTablet:`Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|
Genius TAB GII|Genius TAB GIII|Genius Tab S1`,GalapadTablet:/Android.*\bG1\b(?!\))/,MicromaxTablet:/Funbook|Micromax.*\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\b/,KarbonnTablet:/Android.*\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\b/,AllFineTablet:/Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide/,PROSCANTablet:new RegExp(`\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|
PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|
PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|
PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b`),YONESTablet:/BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026/,ChangJiaTablet:new RegExp(`TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|
TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|
TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|
TPC10111|TPC10203|TPC10205|TPC10503`),GUTablet:/TX-A1301|TX-M9002|Q702|kf026/,PointOfViewTablet:new RegExp(`TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|
TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|
TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|
TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10`),OvermaxTablet:new RegExp(`OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|
MagicTab|Stream|TB-08|TB-09)|Qualcore 1027`),HCLTablet:/HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync/,DPSTablet:/DPS Dream 9|DPS Dual 7/,VistureTablet:/V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10/,CrestaTablet:/CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989/,MediatekTablet:/\bMT8125|MT8389|MT8135|MT8377\b/,ConcordeTablet:/Concorde([ ]+)?Tab|ConCorde ReadMan/,GoCleverTablet:new RegExp(`GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|
TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|
GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|
TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|
TAB R104|TAB R83.3|TAB A1042`),ModecomTablet:new RegExp(`FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|
FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|
FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003`),VoninoTablet:new RegExp(`\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|
Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|
Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b`),ECSTablet:/V07OT2|TM105A|S10OT1|TR10CS1/,StorexTablet:/eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab/,VodafoneTablet:/SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497/,EssentielBTablet:/Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2/,RossMoorTablet:/RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711/,iMobileTablet:/i-mobile i-note/,TolinoTablet:/tolino tab [0-9.]+|tolino shine/,AudioSonicTablet:/\bC-22Q|T7-QC|T-17B|T-17P\b/,AMPETablet:/Android.* A78 /,SkkTablet:/Android.* (SKYPAD|PHOENIX|CYCLOPS)/,TecnoTablet:/TECNO P9|TECNO DP8D/,JXDTablet:new RegExp(`Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|
S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|
P1000|P300|S18|S6600|S9100)\\b`),iJoyTablet:new RegExp(`Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|
Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|
Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|
Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|
Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)`),FX2Tablet:/FX2 PAD7|FX2 PAD10/,XoroTablet:new RegExp(`KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|
PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|
PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|
TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151`),ViewsonicTablet:/ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a/,VerizonTablet:/QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1/,OdysTablet:/LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\bXELIO\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10/,CaptivaTablet:/CAPTIVA PAD/,IconbitTablet:new RegExp(`NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|
NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S`),TeclastTablet:new RegExp(`T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|
\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|
\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|
\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|
\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|
\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|
\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|
\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|
\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi`),OndaTablet:new RegExp(`\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|
V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|
V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|
Vi40)\\b[s]+|V10 \\b4G\\b`),JaytechTablet:/TPC-PA762/,BlaupunktTablet:/Endeavour 800NG|Endeavour 1010/,DigmaTablet:/\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\b/,EvolioTablet:/ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\bEvotab\b|\bNeura\b/,LavaTablet:/QPAD E704|\bIvoryS\b|E-TAB IVORY|\bE-TAB\b/,AocTablet:/MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712/,MpmanTablet:new RegExp(`MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|
\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|
MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010`),CelkonTablet:/CT695|CT888|CT[\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\bCT-1\b/,WolderTablet:new RegExp(`miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|
POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|
FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b`),MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:/\bMI PAD\b|\bHM NOTE 1W\b/,NibiruTablet:/Nibiru M1|Nibiru Jupiter One/,NexoTablet:/NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI/,LeaderTablet:new RegExp(`TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|
TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100`),UbislateTablet:/UbiSlate[\s]?7C/,PocketBookTablet:/Pocketbook/,KocasoTablet:/\b(TB-1207)\b/,HisenseTablet:/\b(F5281|E2371)\b/,Hudl:/Hudl HT7S3|Hudl 2/,TelstraTablet:/T-Hub2/,Honeywell:/RT10A/,GenericTablet:new RegExp(`Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|
A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|
Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107`)},Up={BLACKBERRY:"Blackberry",FIREFOX_OS:"Firefox-OS",CHROME_BOOK:"Chrome-Book",WINDOWS_PHONE:"Windows-Phone",VITA:"Vita",PS4:"PS4",MAC:"Macintosh",CHROMECAST:"Chromecast",APPLE_TV:"Apple-TV",GOOGLE_TV:"Google-TV",ANDROID:"Android",Tesla:"Tesla",iPad:"iPad",IPHONE:"iPhone",iPod:"iPod",UNKNOWN:i_.UKNOWN,HTC:"HTC",NEXUS_PHONE:"Nexus Phone",NexusTablet:"Nexus Tablet",DELL:"Dell",MOTOROLA:"Motorola",SAMSUNG:"Samsung",LG:"LG",SONY:"Sony",ASUS:"Asus",NOKIA_LUMIA:"Nokia Lumia",MICROMAX:"Micromax",PALM:"Palm",VERTU:"Vertu",PANTECH:"PANTECH",FLY:"Fly",WIKO:"WIKO",I_MOBILE:"i-mobile",SIMVALLEY:"Simvalley",WOLFGANG:"Wolfgang",ALCATEL:"Alcatel",HONEYWELL:"Honeywell",NINTENDO:"Nintendo",AMOI:"Amoi",INQ:"INQ",GENERIC_PHONE:"Generic Phone",MI_SE_9:"Mi SE 9"},QH=[Up.PS4,Up.CHROME_BOOK,Up.MAC,Up.DELL,Up.ASUS,Up.UNKNOWN],p2e={WINDOWS:"Windows",MAC:"Mac",IOS:"iOS",ANDROID:"Android",LINUX:"Linux",UNIX:"Unix",FIREFOX_OS:"Firefox-OS",CHROME_OS:"Chrome-OS",WINDOWS_PHONE:"Windows-Phone",UNKNOWN:i_.UKNOWN},u2e={WINDOWS_3_11:"windows-3-11",WINDOWS_95:"windows-95",WINDOWS_ME:"windows-me",WINDOWS_98:"windows-98",WINDOWS_CE:"windows-ce",WINDOWS_2000:"windows-2000",WINDOWS_XP:"windows-xp",WINDOWS_SERVER_2003:"windows-server-2003",WINDOWS_VISTA:"windows-vista",WINDOWS_7:"windows-7",WINDOWS_8_1:"windows-8-1",WINDOWS_8:"windows-8",WINDOWS_10:"windows-10",WINDOWS_PHONE_7_5:"windows-phone-7-5",WINDOWS_PHONE_8_1:"windows-phone-8-1",WINDOWS_PHONE_10:"windows-phone-10",WINDOWS_NT_4_0:"windows-nt-4-0",MACOSX_11_0:"mac-os-x-11-0",MACOSX_16:"mac-os-x-16",MACOSX_15:"mac-os-x-15",MACOSX_14:"mac-os-x-14",MACOSX_13:"mac-os-x-13",MACOSX_12:"mac-os-x-12",MACOSX_11:"mac-os-x-11",MACOSX_10:"mac-os-x-10",MACOSX_9:"mac-os-x-9",MACOSX_8:"mac-os-x-8",MACOSX_7:"mac-os-x-7",MACOSX_6:"mac-os-x-6",MACOSX_5:"mac-os-x-5",MACOSX_4:"mac-os-x-4",MACOSX_3:"mac-os-x-3",MACOSX_2:"mac-os-x-2",MACOSX:"mac-os-x",iOS:"iOS",ANDROID_9:"android-9",UNKNOWN:i_.UKNOWN.toLowerCase()},YH={WINDOWS:{and:[{or:[/\bWindows|(Win\d\d)\b/,/\bWin 9x\b/]},{not:/\bWindows Phone\b/}]},MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]},IOS:{and:[{or:[/\biPad\b/,/\biPhone\b/,/\biPod\b/]},{not:/\bWindows Phone\b/}]},ANDROID:{and:[/\bAndroid\b/,{not:/\bWindows Phone\b/}]},LINUX:/\bLinux\b/,UNIX:/\bUNIX\b/,FIREFOX_OS:{and:[/\bFirefox\b/,/Mobile\b/]},CHROME_OS:/\bCrOS\b/,WINDOWS_PHONE:{or:[/\bIEMobile\b/,/\bWindows Phone\b/]},PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/},h2e={CHROME:{and:[{or:[/\bChrome\b/,/\bCriOS\b/,/\bHeadlessChrome\b/]},{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},FIREFOX:{or:[/\bFirefox\b/,/\bFxiOS\b/]},SAFARI:{and:[/^((?!CriOS).)*\Safari\b.*$/,{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bWindows Phone\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},OPERA:{or:[/Opera\b/,/\bOPR\b/]},IE:{or:[/\bMSIE\b/,/\bTrident\b/,/^Mozilla\/5\.0 \(Windows NT 10\.0; Win64; x64\)$/]},MS_EDGE:{or:[/\bEdg(e|A|iOS)\b/]},MS_EDGE_CHROMIUM:/\bEdg\/\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/,FB_MESSANGER:/\bFBAN\/MessengerForiOS\b/,SAMSUNG:/\bSamsungBrowser\b/,UCBROWSER:/\bUCBrowser\b/},f2e=tt(H(H(H({},OM),n_),YH),{FIREFOX_OS:{and:[/\bFirefox\b/,/\bMobile\b/]},CHROME_BOOK:/\bCrOS\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,CHROMECAST:/\bCrKey\b/,APPLE_TV:/^iTunes-AppleTV\/4.1$/,GOOGLE_TV:/\bGoogleTV\b/,Tesla:/Tesla\/([0-9]{4}.[0-9]{1,2}.?[0-9]{0,2}.?[0-9]{0,2})-(.{7})/,MI_SE_9:/\bXiaomi\b/,MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]}}),LN={WINDOWS_3_11:/Win16/,WINDOWS_95:/(Windows 95|Win95|Windows_95)/,WINDOWS_ME:/(Win 9x 4.90|Windows ME)/,WINDOWS_98:/(Windows 98|Win98)/,WINDOWS_CE:/Windows CE/,WINDOWS_2000:/(Windows NT 5.0|Windows 2000)/,WINDOWS_XP:/(Windows NT 5.1|Windows XP)/,WINDOWS_SERVER_2003:/Windows NT 5.2/,WINDOWS_VISTA:/Windows NT 6.0/,WINDOWS_7:/(Windows 7|Windows NT 6.1)/,WINDOWS_8_1:/(Windows 8.1|Windows NT 6.3)/,WINDOWS_8:/(Windows 8|Windows NT 6.2)/,WINDOWS_10:/(Windows NT 10.0)/,WINDOWS_PHONE_7_5:/(Windows Phone OS 7.5)/,WINDOWS_PHONE_8_1:/(Windows Phone 8.1)/,WINDOWS_PHONE_10:/(Windows Phone 10)/,WINDOWS_NT_4_0:{and:[/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/,{not:/Windows NT 10.0/}]},MACOSX:/(MAC OS X\s*[^ 0-9])/,MACOSX_3:/(Darwin 10.3|Mac OS X 10.3)/,MACOSX_4:/(Darwin 10.4|Mac OS X 10.4)/,MACOSX_5:/(Mac OS X 10.5)/,MACOSX_6:/(Mac OS X 10.6)/,MACOSX_7:/(Mac OS X 10.7)/,MACOSX_8:/(Mac OS X 10.8)/,MACOSX_9:/(Mac OS X 10.9)/,MACOSX_10:/(Mac OS X 10.10)/,MACOSX_11:/(Mac OS X 10.11)/,MACOSX_12:/(Mac OS X 10.12)/,MACOSX_13:/(Mac OS X 10.13)/,MACOSX_14:/(Mac OS X 10.14)/,MACOSX_15:/(Mac OS X 10.15)/,MACOSX_16:/(Mac OS X 10.16)/,MACOSX_11_0:{or:[/11_0 like Mac OS X/,/Mac OS X 11/]},iOS:/(iPhone OS\s*[0-9_]+)/,ANDROID_9:/(Android 9)/},BN={CHROME:[/\bChrome\/([\d\.] Line truncated
Finding the right idle-pc value is a trial and error process, consisting of applying different Idle-PC values and monitoring the CPU usage.
Select each value that appears in the list and click Apply, and note the CPU usage a few moments later. When you have found the value that minimises the CPU usage, apply that value.`}onCompute(){this.isComputing=!0,this.nodeService.getIdlePCProposals(this.controller,this.node).subscribe(e=>{let n=[];for(let o of e){let r=o.match(/^(0x[0-9a-f]{8})\s+\[(\d+)\]$/);if(r){let a=r[1],c=parseInt(r[2],10);50<=c&&c<=60&&(o+="*"),n.push({key:a,name:o})}}this.idlepcs=n,this.idlepcs.length>0&&this.idlePC.set(this.idlepcs[0].key),this.isComputing=!1,this.cd.markForCheck()})}onClose(){this.dialogRef.close()}onApply(){this.idlePC()&&this.idlePC()!=="0x0"&&(this.node.properties.idlepc=this.idlePC(),this.nodeService.updateNode(this.controller,this.node).subscribe(()=>{this.toasterService.success(`Node ${this.node.name} updated with idle-PC value ${this.idlePC()}`),this.cd.markForCheck()}))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-idle-pc-dialog"]],inputs:{controller:"controller",node:"node",idlePC:[1,"idlePC"]},outputs:{idlePC:"idlePCChange"},decls:7,vars:4,consts:[["mat-dialog-actions",""],["mat-button","","color","accent"],["mat-button","","color","accent",3,"click"],["align","center"],["mat-dialog-content","","align","center"],["color","accent"],["mat-dialog-title",""],[1,"form-field"],["placeholder","Idle-PC","matTooltipClass","multiline-tooltip",3,"selectionChange","value","matTooltip"],[3,"value"]],template:function(n,o){n&1&&(A(0,F2e,5,0,"div"),A(1,B2e,6,2),s(2,"div",0),A(3,V2e,2,0,"button",1),A(4,z2e,2,0,"button",1),s(5,"button",2),v("click",function(){return o.onClose()}),d(6,"Close"),l()()),n&2&&(O(o.isComputing?0:-1),u(),O(o.isComputing?-1:1),u(2),O(o.isComputing?-1:3),u(),O(o.isComputing?-1:4))},dependencies:[Ce,Ve,Be,Wt,$,le,Si,Xo,we,ke,go,Mt,At,St,nt],styles:[".container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between}.multiline-tooltip[_ngcontent-%COMP%]{background-color:var(--mat-app-surface);color:var(--mat-app-on-surface-color);white-space:pre-line}"],changeDetection:0})}return t})();function j2e(t,i){if(t&1){let e=j();s(0,"button",1),v("click",function(){D(e);let o=b();return P(o.idlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Idle-PC"),l()()}}var ZM=(()=>{class t{nodeService=f(wt);dialog=f(Je);controller=oe(void 0);node=oe(void 0);idlePC(){let n=this.dialog.open(KM,{panelClass:["base-dialog-panel","idle-pc-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;n.controller=this.controller(),n.node=this.node()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(n,o){if(n&1&&A(0,j2e,5,0,"button",0),n&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[$,te,se,Qe,ot],encapsulation:2,changeDetection:0})}return t})();function $2e(t,i){if(t&1){let e=j();s(0,"button",1),v("click",function(){D(e);let o=b();return P(o.autoIdlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Auto Idle-PC"),l()()}}var JM=(()=>{class t{nodeService=f(wt);toasterService=f(fe);progressService=f(zo);cdr=f(K);controller=oe(void 0);node=oe(void 0);autoIdlePC(){this.progressService.activate(),this.nodeService.getAutoIdlePC(this.controller(),this.node()).subscribe(e=>{this.progressService.deactivate(),e.idlepc!==null&&this.toasterService.success(`Node ${this.node().name} updated with idle-PC value ${e.idlepc}`),this.cdr.markForCheck()},e=>{this.progressService.deactivate(),this.toasterService.error(`Error while updating idle-PC value for node ${this.node().name}`),this.cdr.markForCheck()})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-auto-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(n,o){if(n&1&&A(0,$2e,5,0,"button",0),n&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[$,te,se,Qe,ot],encapsulation:2,changeDetection:0})}return t})();var ek=(()=>{class t{nodesDataSource=f(ci);drawingsDataSource=f(Vi);nodeService=f(wt);drawingService=f(Wi);toasterService=f(fe);cdr=f(K);controller=oe(void 0);nodes=oe(void 0);drawings=oe(void 0);moveLayerUp(){this.nodes().forEach(e=>{e.z++,this.nodesDataSource.update(e),this.nodeService.update(this.controller(),e).subscribe({next:n=>{},error:n=>{let o=n.error?.message||n.message||"Failed to move layer up";this.toasterService.error(o),this.cdr.markForCheck()}})}),this.drawings().forEach(e=>{e.z++,this.drawingsDataSource.update(e),this.drawingService.update(this.controller(),e).subscribe({next:n=>{},error:n=>{let o=n.error?.message||n.message||"Failed to move layer up";this.toasterService.error(o),this.cdr.markForCheck()}})})}static \u0275fac=function(n){re Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),d_=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[$,Mt,Gt,Tr]})}return t})();var eke=["mat-sort-header",""],tke=["*",[["","matSortHeaderIcon",""]]],nke=["*","[matSortHeaderIcon]"];function ike(t,i){t&1&&(Vn(),_o(0,"svg",3),jr(1,"path",4),wo())}function oke(t,i){t&1&&(_o(0,"div",2),Yt(1,1,null,ike,2,0),wo())}var iU=new kt("MAT_SORT_DEFAULT_OPTIONS"),Oo=(()=>{class t{_defaultOptions;_initializedStream=new bd(1);sortables=new Map;_stateChanges=new Le;active;start="asc";get direction(){return this._direction}set direction(e){this._direction=e}_direction="";disableClear;disabled=!1;sortChange=new ve;initialized=this._initializedStream;constructor(e){this._defaultOptions=e}register(e){this.sortables.set(e.id,e)}deregister(e){this.sortables.delete(e.id)}sort(e){this.active!=e.id?(this.active=e.id,this.direction=e.start?e.start:this.start):this.direction=this.getNextSortDirection(e),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(e){if(!e)return"";let n=e?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear,o=rke(e.start||this.start,n),r=o.indexOf(this.direction)+1;return r>=o.length&&(r=0),o[r]}ngOnInit(){this._initializedStream.next()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete(),this._initializedStream.complete()}static \u0275fac=function(n){return new(n||t)(st(iU,8))};static \u0275dir=ft({type:t,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{active:[0,"matSortActive","active"],start:[0,"matSortStart","start"],direction:[0,"matSortDirection","direction"],disableClear:[2,"matSortDisableClear","disableClear",dt],disabled:[2,"matSortDisabled","disabled",dt]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[un]})}return t})();function rke(t,i){let e=["asc","desc"];return t=="desc"&&e.reverse(),i||e.push(""),e}var ma=(()=>{class t{_sort=f(Oo,{optional:!0});_columnDef=f(qm,{optional:!0});_changeDetectorRef=f(K);_focusMonitor=f(xr);_elementRef=f(Lt);_ariaDescriber=f(bR,{optional:!0});_renderChanges;_animationsDisabled=Qi();_recentlyCleared=me(null);_sortButton;id;arrowPosition="after";start;disabled=!1;get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(e){this._updateSortActionDescription(e)}_sortActionDescription="Sort";disableClear;constructor(){f(Go).load(yr);let e=f(iU,{optional:!0});this._sort,e?.arrowPosition&&(this.arrowPosition=e?.arrowPosition)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._sort.register(this),this._renderChanges=Dn(this._sort._stateChanges,this._sort.sortChange).subscribe(()=>this._changeDetectorRef.markForCheck()),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(()=>{Promise.resolve().then(()=>this._recentlyCleared.set(null))})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._renderChanges?.unsubscribe(),this._sortButton&&this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription)}_toggleOnInteraction(){if(!this._isDisabled()){let e=this._isSorted(),n=this._sort.direction;this._sort.sort(this),this._recentlyCleared.set(e&&!this._isSorted()?n:null)}}_handleKeydown(e){(e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&(this._sort.direction==="asc"||this._sort.direction==="desc")}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?this._sort.direction=="asc"?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(e){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,e)),this._sortActionDescription=e}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(n,o){n&1&&v("click",function(){return o._toggleOnInteraction()})("keydown",function(a){return o._handleKeydown(a)})("mouseleave",function(){return o._recentlyCleared.set(null)}),n&2&&(It("aria-sort",o._getAriaSortAttribute()),je("mat-sort-header-disabled",o._isDisabled()))},inputs:{id:[0,"mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",disabled:[2,"disabled","disabled",dt],sortActionDescription:"sortActionDescription",disableClear:[2,"disableClear","disableClear",dt]},exportAs:["matSortHeader"],attrs:eke,ngContentSelectors:nke,decls:4,vars:17,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],[1,"mat-sort- Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),zr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();var lU=nl(aU());var aC=(()=>{class t{dialogRef=f(Pe);confirmationMessage;onNoClick(){this.dialogRef.close(!1)}onYesClick(){this.dialogRef.close(!0)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-information-dialog"]],decls:8,vars:1,consts:[[1,"information-dialog__content"],[1,"information-dialog__message"],["mat-dialog-actions",""],["mat-button","",1,"cancel-button",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",1,"confirm-button",3,"click"]],template:function(n,o){n&1&&(s(0,"mat-dialog-content",0)(1,"p",1),d(2),l()(),s(3,"div",2)(4,"button",3),v("click",function(){return o.onNoClick()}),d(5,"No"),l(),s(6,"button",4),v("click",function(){return o.onYesClick()}),d(7," Yes "),l()()),n&2&&(u(2),U(o.confirmationMessage))},dependencies:[Ce,Be,Wt,$,le],styles:[".information-dialog__content[_ngcontent-%COMP%]{padding:16px 24px 8px}.information-dialog__message[_ngcontent-%COMP%]{margin:0;color:var(--mat-sys-on-surface-variant);font-size:14px;line-height:1.6}"],changeDetection:0})}return t})();var m_=class{adapters;builtin;category;compute_id;console_auto_start;console_http_path;console_http_port;console_resolution;console_type;aux_type;mac_address;custom_adapters;default_name_format;environment;extra_hosts;image;name;start_command;symbol;template_id;template_type;usage;tags};var Ck=(()=>{class t{httpController;constructor(e){this.httpController=e}getAppliances(e){return this.httpController.get(e,"/appliances")}getAppliance(e,n){return this.httpController.get(e,n)}getUploadPath(e,n){return`${e.protocol}//${e.host}:${e.port}/${Ai.current_version}/images/upload/${n}`}updateAppliances(e){return this.httpController.get(e,"/appliances?update=yes")}static \u0275fac=function(n){return new(n||t)(ge(an))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();function ake(t,i){if(t&1&&(s(0,"div"),d(1),l(),s(2,"div"),d(3),l()),t&2){let e=b();u(),X("Adapters: ",e.appliance.qemu.adapters),u(2),X("Console type: ",e.appliance.qemu.console_type)}}var xk=(()=>{class t{data;dialogRef=f(Pe);appliance;constructor(e){this.data=e}onNoClick(){this.dialogRef.close()}static \u0275fac=function(n){return new(n||t)(st(Nt))};static \u0275cmp=L({type:t,selectors:[["app-appliance-info-dialog"]],decls:14,vars:5,consts:[[1,"title-container"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","","tabindex","-1","color","accent",3,"click"]],template:function(n,o){n&1&&(s(0,"div",0)(1,"h1",1),d(2),l()(),s(3,"div",2)(4,"div"),d(5),l(),s(6,"div"),d(7),l(),s(8,"div"),d(9),l(),A(10,ake,4,2),l(),s(11,"div",3)(12,"button",4),v("click",function(){return o.onNoClick()}),d(13,"Close"),l()()),n&2&&(u(2),U(o.appliance.name),u(3),X("Vendor: ",o.appliance.vendor_name),u(2),X("Status: ",o.appliance.status),u(2),X("Maintainer: ",o.appliance.maintainer),u(),O(o.appliance.qemu?10:-1))},dependencies:[Ce,Ve,Be,Wt,$,le,Si],encapsulation:2,changeDetection:0})}return t})();var sU=(t,i)=>e=>Ma(500).pipe(fn(()=>i.list(t)),yt(n=>n.find(o=>o.name===e.value)?{templateExist:!0}:null));var ske=t=>({"is-invalid":t});function lke(t,i){t&1&&(s(0,"mat-error"),d(1,"Template name is required"),l())}function cke(t,i){t&1&&(s(0,"mat-error"),d(1,"Template name is incorrect"),l())}function dke(t,i){t&1&&(s(0,"mat-error"),d(1,"Template with this name exists"),l())}var bh=(()=>{class t{templateNameValidator;data;dialogRef=f(Pe);router=f(ut);dialog=f(Je);toasterService=f(fe);formBuilder=f(jt);templateService=f(Tl);cdr=f(K);controller;templateNameForm;constructor(e,n){this.templateNameValidator=e,this.data=n}ngOnInit(){let e=this.data.name;this.templateNameForm=this.formBuilder.group({templateName:new re(e,[be.required,this.templateNameValidator.get],[sU(this.controller,this.templateService)])}),setTimeout(()=>{this.templateNameForm.controls.templateName.markAsTouched(),this.cdr.markForCheck()},100)}get form(){return this.templateNameForm.controls}onAddClick(){if(this.templateNameForm.invalid){this.toasterService.error("Please enter correct name for new template");return}this.templateService.list(this.controller).subscribe(e=>{let n=this.templateNameForm.controls.templateName.value;e.find(r=>r.name===n)?this.toasterService.error("Template with this name exists"):this.dialogRef.close(this.templateNameForm.controls.templateName.value)})}onNoClick(){this.dialogRef.close()}onKeyDown(e){e.key==="Enter"&&this.onAddClick()}static \u0275fac=function(n){return new(n||t)(st(ja),st(Nt))};static \u0275cmp=L({type:t,selectors:[["app-template-name-dialog"]],features:[hn([ja])],decls:13,vars:7,consts:[["mat-dialog-title",""],[1,"file-name-form",3,"formGroup"],[1,"file-name-form-field"],["matInput","","type","text","formControlName","templateName","placeholder","Template name",3,"keydown", Line truncated
The MD5 sum is ${o} and should be ${r.md5sum}. Do you want to accept it at your own risks?`,a.afterClosed().subscribe(c=>{c?(this.importImageFile(e,n),this.openSnackBar()):(this.isUploading=!1,this.uploadingImageName="",this.uploaderImage.clearQueue(),this.changeDetectorRef.markForCheck())})}else this.importImageFile(e,n),this.openSnackBar()})}importImageFile(e,n){let o=e.target.files[0].name.split("-")[0],r=e.target.files[0],a=new FileReader,c;a.onloadend=()=>{this.applianceToInstall.qemu&&(c="qemu"),this.applianceToInstall.dynamips&&(c="dynamips"),this.applianceToInstall.iou&&(c="iou");let m=this.applianceService.getUploadPath(this.controller,n);this.uploaderImage.queue.forEach(h=>h.url=m);let p=this.uploaderImage.queue[0];p.options&&(p.options.disableMultipart=!0),p.options.headers=[{name:"Authorization",value:"Bearer "+this.controller.authToken}],this.isUploading=!0,this.uploadProgress=0,this.uploaderImage.uploadItem(p),this.changeDetectorRef.markForCheck()},a.onloadend(void 0)}cancelUploading(){this.uploaderImage.clearQueue(),this.uploadServiceService.processBarCount(null),this.toasterService.warning("File upload cancelled"),this.uploadServiceService.cancelFileUploading(!1)}checkImageFromVersion(e){let n=this.applianceToInstall.images.filter(o=>o.filename===e)[0];if(this.applianceToInstall.qemu){if(this.qemuImages.filter(o=>o.checksum===n.md5sum).length>0)return!0}else if(this.applianceToInstall.dynamips){if(this.iosImages.filter(o=>o.checksum===n.md5sum).length>0)return!0}else if(this.applianceToInstall.iou&&this.iouImages.filter(o=>o.checksum===n.md5sum).length>0)return!0;return!1}getVersionImageCount(e){let n=e.images,o=0;return n.bios_image&&o++,n.hda_disk_image&&o++,n.hdb_disk_image&&o++,n.hdc_disk_image&&o++,n.hdd_disk_image&&o++,n.cdrom_image&&o++,o}getVersionReadyCount(e){let n=e.images,o=0;return n.bios_image&&this.checkImageFromVersion(n.bios_image)&&o++,n.hda_disk_image&&this.checkImageFromVersion(n.hda_disk_image)&&o++,n.hdb_disk_image&&this.checkImageFromVersion(n.hdb_disk_image)&&o++,n.hdc_disk_image&&this.checkImageFromVersion(n.hdc_disk_image)&&o++,n.hdd_disk_image&&this.checkImageFromVersion(n.hdd_disk_image)&&o++,n.cdrom_image&&this.checkImageFromVersion(n.cdrom_image)&&o++,o}isVersionComplete(e){return this.getVersionReadyCount(e)===this.getVersionImageCount(e)}openConfirmationDialog(e,n){let o=this.dialog.open(aC,{autoFocus:!1,disableClose:!0,panelClass:["base-confirmation-dialog-panel","information-dialog-panel"]});o.componentInstance.confirmationMessage=e,o.afterClosed().subscribe(r=>{r&&window.open(n)})}downloadImage(e){let n="Download will redirect you where the required file can be downloaded, you may have to be registered with the vendor in order to download the file.",o=`The file is compressed with ${e.compression}, it must be uncompressed first.`;e.direct_download_url?e.compression?this.openConfirmationDialog(o,e.direct_download_url):window.open(e.direct_download_url):this.openConfirmationDialog(n,e.download_url)}downloadImageFromVersion(e){this.applianceToInstall.images.forEach(n=>{n.filename===e&&this.downloadImage(n)})}getCategory(){return this.applianceToInstall.category==="multilayer_switch"?"switch":this.applianceToInstall.category}createIouTemplate(e){let n=e.filename,o=this.applianceToInstall.images.filter(m=>m.filename===n)[0],r=this.iouImages.filter(m=>m.checksum===o.md5sum);r.length>0&&(n=r[0].filename);let a=new cp;a.nvram=this.applianceToInstall.iou.nvram,a.ram=this.applianceToInstall.iou.ram,a.ethernet_adapters=this.applianceToInstall.iou.ethernet_adapters,a.serial_adapters=this.applianceToInstall.iou.serial_adapters,a.startup_config=this.applianceToInstall.iou.startup_config,a.category=this.getCategory(),a.default_name_format=this.applianceToInstall.default_name_format,a.symbol=this.applianceToInstall.symbol,a.tags=this.applianceToInstall.tags||[],a.compute_id="local",a.template_id=Ti(),a.path=n,a.template_type="iou";let c=this.dialog.open(bh,{width:"400px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","simple-dialog-panel","template-name-dialog-panel"],data:{name:this.applianceToInstall.name}});c.componentInstance.controller=this.controller,c.afterClosed().subscribe(m=>{if(m)a.name=m,this.iouService.addTemplate(this.controller,a).subscribe({next:p=>{this.templateService.newTemplateCreated.next(p),this.toasterService.success("Template added"),this.dialogRef.close()},error:p=>{let h=p.error?.message||p.message||"Failed to add template";this.toasterService.error(h),this.changeDetector.markForCheck()}});else return!1})}createIosTemplate(e){let n=e.filename,o=this.applianceToInstall.images.filter(m=>m.filename===n)[0],r=this.iosImages.filter(m=>m.checksum===o.md5sum);r.length>0&&(n=r[0].filename);let a=new sp;a.chassis=this.applianceToInstall.dynamips.chassis,a.nvram=this.applianceToInstall.dynamips.nvram,a.platform=this.applianceToInstall.dynamips.platform,a.ram=this.applianceToInstall.dynamips.ram,a.startup_config=this.applian Line truncated
width="${n.width}">
<image height="${n.height}" width="${n.width}" xlink:href="${e}"/>
</svg>`}ngOnDestroy(){this.projectSubscriptions.forEach(e=>e.unsubscribe()),this.aiChatStateSubscription&&this.aiChatStateSubscription.unsubscribe()}openAIChat(){!this.project()||!this.controller()||(this.isAIChatOpen?this.isAIMinimized?this.aiChatStore.restorePanel():this.aiChatStore.minimizePanel():this.aiChatOpened.emit())}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-project-map-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},outputs:{aiChatOpened:"aiChatOpened"},decls:31,vars:23,consts:[["file",""],["matTooltip","Add a note","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],[3,"ngClass"],["type","file","accept",".svg, .bmp, .jpeg, .jpg, .gif, .png",1,"non-visible",3,"change"],["matTooltip","Insert a picture","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a rectangle","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw an ellipse","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button"],["matTooltip","Draw a curve","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20","viewBox","0 0 20 20"],["transform","rotate(20, 10, 10)"],["d","M 6 3 C 12 3, 12 6, 10 6 C 8 6, 6 8, 6 10 C 6 12, 8 14, 10 14 C 12 14, 14 17, 14 17","fill","none","stroke-width","2","stroke","currentColor",1,"draw-line-icon",3,"ngClass"],["matTooltip","Lock or unlock all items","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Take a screenshot","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","AI Assistant","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","ai-chat-button",3,"click"],[1,"ai-icon"],[3,"drawingSaved","controller","project","selectedDrawing"],["id","crowbar-workspace"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20"],["x1","15","y1","5","x2","5","y2","15",1,"draw-line-icon",2,"stroke-width","2",3,"ngClass"]],template:function(n,o){if(n&1){let r=j();s(0,"button",1),v("click",function(){return o.addDrawing("text")}),s(1,"mat-icon",2),d(2,"create"),l()(),s(3,"input",3,0),v("change",function(c){return o.uploadImageFile(c)}),l(),s(5,"button",4),v("click",function(){D(r);let c=Re(4);return P(c.click())}),s(6,"mat-icon"),d(7,"image"),l()(),s(8,"button",5),v("click",function(){return o.addDrawing("rectangle")}),s(9,"mat-icon",2),d(10,"crop_3_2"),l()(),s(11,"button",6),v("click",function(){return o.addDrawing("ellipse")}),s(12,"mat-icon",2),d(13,"panorama_fish_eye"),l()(),A(14,STe,3,3,"button",7),A(15,wTe,3,3,"button",7),s(16,"button",8),v("click",function(){return o.addDrawing("curve")}),Vn(),s(17,"svg",9)(18,"g",10),F(19,"path",11),l()()(),vr(),s(20,"button",12),v("click",function(){return o.changeLockValue()}),s(21,"mat-icon",2),d(22),l()(),s(23,"button",13),v("click",function(){return o.takeScreenshot()}),s(24,"mat-icon",2),d(25,"photo_camera"),l()(),s(26,"button",14),v("click",function(){return o.openAIChat()}),s(27,"span",15),d(28,"AI"),l()(),s(29,"app-drawing-added",16),v("drawingSaved",function(){return o.onDrawingSaved()}),l(),F(30,"div",17)}n&2&&(u(),x("ngClass",o.getCssClassForIcon("text")),u(8),x("ngClass",o.getCssClassForIcon("rectangle")),u(3),x("ngClass",o.getCssClassForIcon("ellipse")),u(2),O(o.isLightThemeEnabled?-1:14),u(),O(o.isLightThemeEnabled?15:-1),u(4),x("ngClass",ln(16,qN,o.drawTools.isCurveChosen)),u(2),x("ngClass",il(18,xTe,!o.isLocked&&o.isLightThemeEnabled,o.isLocked)),u(),U(o.lock),u(2),x("ngClass",ln(21,yTe,!o.isLocked&&o.isLightThemeEnabled)),u(2),je("ai-active",o.isAIChatOpen&&!o.isAIMinimized)("ai-minimized",o.isAIChatOpen&&o.isAIMinimized),u(3),x("controller",o.controller())("project",o.project())("selectedDrawing",o.selectedDrawing))},dependencies:[Z,Zi,Ce,$,ze,te,se,Gt,Kt,Ea,Qe,dU],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center}button.mat-mdc-icon-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;--mdc-icon-button-icon-size: 20px;--mat-icon-button-icon-size: 20px;--mat-icon-button-state-layer-size: 40px;--mdc-icon-button-state-layer-size: 40px}button.mat-mdc-icon-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;margin:0}button.mLine truncated
`);M=S.pop()||"";for(let y of S)if(y.startsWith("data: ")){let k=y.slice(6).trim();if(k)try{let I=JSON.parse(k);if(I.type==="heartbeat")continue;if(I.session_id&&(this.currentSessionId=I.session_id),m.next(I),I.type==="done"||I.type==="error"){m.complete();break}}catch(I){console.error("Failed to parse SSE data:",k,I)}}if(m.closed)break}}catch(_){console.error("Stream processing error:",_),m.error(_)}finally{h.cancel()}})()}).catch(p=>{console.error("Fetch error:",p),m.error(p)}).finally(()=>{this.isStreaming.next(!1)}),()=>{this.isStreaming.next(!1)})).pipe(hi(m=>(this.isStreaming.next(!1),zi(()=>m))))}getSessions(e,n){return this.httpController.get(e,`/projects/${n}/chat/sessions`).pipe(hi(o=>(console.error("Failed to get sessions:",o),zi(()=>o))))}getSessionHistory(e,n,o,r=100){let a=r?{limit:r}:void 0;return this.httpController.get(e,`/projects/${n}/chat/sessions/${o}/history`).pipe(hi(c=>(console.error("Failed to get session history:",c),zi(()=>c))))}renameSession(e,n,o,r){let a={title:r};return this.httpController.patch(e,`/projects/${n}/chat/sessions/${o}`,a).pipe(hi(c=>(console.error("Failed to rename session:",c),zi(()=>c))))}deleteSession(e,n,o){return this.httpController.delete(e,`/projects/${n}/chat/sessions/${o}`).pipe(hi(r=>(console.error("Failed to delete session:",r),zi(()=>r))))}pinSession(e,n,o){return this.httpController.put(e,`/projects/${n}/chat/sessions/${o}/pin`,null).pipe(hi(r=>(console.error("Failed to pin session:",r),zi(()=>r))))}unpinSession(e,n,o){return this.httpController.delete(e,`/projects/${n}/chat/sessions/${o}/pin`).pipe(hi(r=>(console.error("Failed to unpin session:",r),zi(()=>r))))}getStreamingState(){return this.isStreaming.asObservable()}abortChat(e,n,o){return this.httpController.post(e,`/projects/${n}/chat/sessions/${o}/abort`,null).pipe(hi(r=>(console.error("Failed to abort chat:",r),zi(()=>r))))}getCurrentSessionId(){return this.currentSessionId}resetCurrentSession(){this.currentSessionId=null,this.currentProjectId=null}getControllerUrl(e){return`${e.protocol==="https:"?"https":"http"}://${e.host}:${e.port}`}getAuthHeaders(e){let n=new Ph;if(e.authToken)return n.set("Authorization",`Bearer ${e.authToken}`);if(e.username&&e.password){let o=btoa(`${e.username}:${e.password}`);return n.set("Authorization",`Basic ${o}`)}return n}createChatError(e){return e.status===401?{type:g_.UNAUTHORIZED,message:"Unauthorized access",details:e}:e.status===404?{type:g_.SESSION_NOT_FOUND,message:"Session not found",details:e}:e.message&&e.message.includes("fetch")?{type:g_.NETWORK_ERROR,message:"Network connection failed",details:e}:{type:g_.UNKNOWN_ERROR,message:e.message||"Unknown error",details:e}}static \u0275fac=function(n){return new(n||t)(ge(os),ge(an),ge(We))};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var __=(()=>{class t{httpController;constructor(e){this.httpController=e}getConfigs(e,n){return this.httpController.get(e,`/access/users/${n}/llm-model-configs`).pipe(hi(o=>(console.error("Failed to get user configs:",o),zi(()=>o))))}getOwnConfigs(e,n){return this.httpController.get(e,`/access/users/${n}/llm-model-configs/own`).pipe(hi(o=>(console.error("Failed to get user own configs:",o),zi(()=>o))))}getDefaultConfig(e,n){return this.httpController.get(e,`/access/users/${n}/llm-model-configs/default`).pipe(hi(o=>(console.error("Failed to get default config:",o),zi(()=>o))))}createConfig(e,n,o){return this.httpController.post(e,`/access/users/${n}/llm-model-configs`,o).pipe(hi(r=>(console.error("Failed to create config:",r),zi(()=>r))))}updateConfig(e,n,o,r){return this.httpController.put(e,`/access/users/${n}/llm-model-configs/${o}`,r).pipe(hi(a=>(console.error("Failed to update config:",a),zi(()=>a))))}deleteConfig(e,n,o){return this.httpController.delete(e,`/access/users/${n}/llm-model-configs/${o}`).pipe(hi(r=>(console.error("Failed to delete config:",r),zi(()=>r))))}setDefaultConfig(e,n,o){return this.httpController.put(e,`/access/users/${n}/llm-model-configs/default/${o}`,{}).pipe(hi(r=>(console.error("Failed to set default config:",r),zi(()=>r))))}unsetDefaultConfig(e,n,o){return this.httpController.put(e,`/access/users/${n}/llm-model-configs/${o}`,{is_default:!1}).pipe(hi(r=>(console.error("Failed to unset default config:",r),zi(()=>r))))}getGroupConfigs(e,n){return this.httpController.get(e,`/access/groups/${n}/llm-model-configs`).pipe(hi(o=>(console.error("Failed to get group configs:",o),zi(()=>o))))}getDefaultGroupConfig(e,n){return this.httpController.get(e,`/access/groups/${n}/llm-model-configs/default`).pipe(hi(o=>(console.error("Failed to get default group config:",o),zi(()=>o))))}createGroupConfig(e,n,o){return this.httpController.post(e,`/access/groups/${n}/llm-model-configs`,o).pipe(hi(r=>(console.error("Failed to create group config:",r),zi(()=>r))))}updateGroupConfig(e,n,o,r){return this.httpController.put(e,`/access/groups/${n}/llm-model-configs/${o}`,r).pipe(hi(a=>(console.error("Failed to update group config:",a), Line truncated
`).length||0;o.setAttribute("data-code-processed","true"),a>50&&(o.classList.add("code-block-collapsible"),o.setAttribute("title",`Click to view full code (${a} lines)`),o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.openCodeBlockDialog(r.innerHTML,r.className)}))})}wrapTables(e){e.querySelectorAll("markdown table").forEach(o=>{if(o.parentElement?.classList.contains("markdown-table-wrapper"))return;let r=document.createElement("div");r.className="markdown-table-wrapper",o.parentNode?.insertBefore(r,o),r.appendChild(o)})}openCodeBlockDialog(e,n){let o=n.match(/language-(\w+)/)?.[1]||void 0,r={code:e,language:o};this.dialog.open(SU,{data:r,panelClass:["base-dialog-panel","code-block-dialog-panel"]})}get lastAssistantMessage(){let e=this.messages().filter(n=>n.role==="assistant");return e[e.length-1]}isToolCallExecuting(e){return!1}formatTime(e){if(!e)return"";let n=e;/(Z|[+-]\d{2}:\d{2})$/.test(e)||(n=e+"Z");let r=new Date(n),a=new Date;if(isNaN(r.getTime()))return"";let c=a.getTime()-r.getTime(),m=Math.floor(c/6e4);return m<1?"Just now":m<60?`${m} minutes ago`:m<1440?`${Math.floor(m/60)} hours ago`:r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}scrollToBottom(){let e=this.messageContainer();if(e?.nativeElement){let n=e.nativeElement;n.scrollTop=n.scrollHeight,this.scrollToEnd.emit()}}trackByMessageId(e,n){return n.id}openToolCallDialog(e,n){let o;n!==void 0?o=n:o=e;let r={type:"tool_call",toolCall:o};this.dialog.open(lC,{data:r,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}openAssistantToolResultDialog(e){let n={type:"tool_result",toolName:e.toolName,toolOutput:e.toolOutput};this.dialog.open(lC,{data:n,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}sendSuggestion(e){this.suggestionClicked.emit(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-chat-message-list"]],viewQuery:function(n,o){n&1&&tn(o.messageContainer,XTe,5),n&2&&nn()},inputs:{messages:[1,"messages"],isStreaming:[1,"isStreaming"],autoScroll:[1,"autoScroll"]},outputs:{scrollToEnd:"scrollToEnd",suggestionClicked:"suggestionClicked"},features:[un],decls:6,vars:3,consts:[["messageContainer",""],[1,"gns3-chat-message-list"],[1,"gns3-chat-message-list__messages-container"],[1,"gns3-chat-message-list__empty-state"],[1,"gns3-chat-message-list__message","gns3-chat-message-list__message--user"],[1,"gns3-chat-message-list__message"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--user"],[1,"avatar-text"],[1,"gns3-chat-message-list__content"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--user"],[1,"gns3-chat-message-list__text",3,"data"],[1,"gns3-chat-message-list__time"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--assistant"],["src","assets/gns3_icon.svg","alt","GNS3",1,"gns3-chat-message-list__avatar-logo"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--assistant"],["viewBox","0 0 256 256","xmlns","http://www.w3.org/2000/svg",1,"gns3-chat-message-list__streaming-logo"],[1,"gns3-chat-message-list__tool-calls-container"],[1,"gns3-chat-message-list__tool-results-container"],["id","gns3LoadingGradient","x1","0%","y1","0%","x2","100%","y2","100%"],["offset","0%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","1"],["offset","100%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","0.6"],["transform","translate(0,-356)"],["d","m 147.99093,422.62227 c 0,6.34 -5.13717,11.47729 -11.47726,11.47729 -6.33986,0 -11.47761,-5.13729 -11.47761,-11.47729 0,-6.34019 5.13775,-11.47804 11.47761,-11.47804 6.34009,0 11.47726,5.13785 11.47726,11.47804 z M 22.394349,480.3376 c -6.886487,37.71152 2.514172,64.92952 17.161614,84.38707 26.124988,36.83736 64.492517,43.28645 64.492517,43.28645 44.81704,8.52584 78.92153,-6.99569 99.36233,-26.23425 25.68784,-24.37577 24.81373,-48.53334 24.92311,-48.86119 0.21851,-11.25931 -3.49797,-19.34782 -10.05651,-24.92306 -11.0404,-9.29128 -24.4855,-5.68414 -24.4855,-5.68414 -23.2827,5.46564 -19.457,26.67165 -19.457,26.67165 1.31155,6.33984 4.59052,10.49362 8.30733,12.89839 7.10497,4.37239 14.64752,3.49799 14.64752,3.49799 11.14958,-1.31129 14.42894,-11.80519 13.77292,-17.05238 -1.09318,-8.30719 -8.63562,-9.83784 -8.63562,-9.83784 -2.84184,-0.54643 -5.02802,-0.10925 -6.66791,0.76517 -2.40425,0.98433 -3.38861,2.62342 -3.38861,2.62342 -1.74868,2.95142 -0.65568,4.59143 0.43749,5.24736 0.65611,0.43714 1.42132,0.43714 1.42132,0.43714 0.87411,0 1.42053,-0.2185 2.07653,-0.54638 1.53057,-0.8745 2.73256,-2.29597 5.02855,-1.42145 3.3886,1.31184 2.514,4.91929 2.514,4.91929 -0.76536,3.93499 -3.06079,5.79343 -5.57488,6.44908 -3.3886,0.8745 -6.88644,-0.21851 -6.88644,-0.21851 -12.02422,-4.9193 -6.66794,-16.943 -6.66794,-16.943 3.71635,-7.54269 12.02432,-8.41719 12.02432,-8.41719 13.00749,-2.07647 21.64316,6.6679 20.22168,21.42461 -1.63939,1 Line truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{if(!this.isDestroying){console.log("[WebConsole] Socket closed unexpectedly"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`);let o=this.node();o&&this.consoleService.closeConsoleForNode(o)}};let n=new EU.AttachAddon(this.socket);this.term.loadAddon(n),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>{if(o.altKey&&o.key>="1"&&o.key<="9"){let r=new CustomEvent("consoleTabShortcut",{detail:{key:o.key},bubbles:!0});return this.term.element.dispatchEvent(r),!1}return!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)}),this.setupResizeObserver(),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)}setupResizeObserver(){let e=this.terminal();e?.nativeElement&&(this.resizeObserver=new ResizeObserver(n=>{for(let o of n){let{width:r,height:a}=o.contentRect;r===0||a===0||requestAnimationFrame(()=>{try{this.fitTerminal()}catch{}})}}),this.resizeObserver.observe(e.nativeElement))}fitTerminal(){this.fitAddon.fit();let e=this.term.cols,n=this.term.rows;this.consoleService.setNumberOfColumns(e),this.consoleService.setNumberOfRows(n),this.term.resize(e,n)}focusTerminal(){this.term&&this.term.focus()}ngOnDestroy(){this.isDestroying=!0,this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term.dispose()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-web-console"]],viewQuery:function(n,o){n&1&&tn(o.terminal,BEe,5),n&2&&nn()},inputs:{controller:[1,"controller"],project:[1,"project"],node:[1,"node"]},decls:2,vars:0,consts:[["terminal",""],[1,"terminal"]],template:function(n,o){n&1&&jr(0,"div",1,0)},dependencies:[Z],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}.lightTheme[_nghost-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return t})();var b_="3.1.0.dev1";var Hk=(()=>{class t extends ym{getItemKey(e){return e}static \u0275fac=(()=>{let e;return function(o){return(e||(e=fi(t)))(o||t)}})();static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var PU=nl($N());var VEe=["console"],zEe=["commandInput"],Uk=t=>({lightTheme:t});function jEe(t,i){if(t&1&&(s(0,"span",9),d(1),F(2,"br"),l()),t&2){let e=i.$implicit;u(),X(" ",e.message," ")}}var C_=(()=>{class t{projectWebServiceHandler=f(Xg);nodeService=f(wt);nodesDataSource=f(ci);protocolHandlerService=f(Gp);logEventsDataSource=f(Hk);httpService=f(an);themeService=f(yi);cd=f(K);nodeConsoleService=f(gr);controller;project=oe(void 0);console=Ut("console");commandInput=Ut("commandInput");focusInput(){let e=this.commandInput();e?.nativeElement&&e.nativeElement.focus()}version=b_;nodeSubscription;linkSubscription;drawingSubscription;controllerRequestsSubscription;errorSubscription;warningSubscription;infoSubscription;command=ae("");filters=["all","errors","warnings","info","map updates","controller requests"];selectedFilter="all";filteredEvents=[];regexStart=/^start (.*?)$/;regexStop=/^stop (.*?)$/;regexSuspend=/^suspend (.*?)$/;regexReload=/^reload (.*?)$/;regexShow=/^show (.*?)$/;regexConsole=/^console (.*?)$/;style={};isDraggingEnabled=!1;isLightThemeEnabled=!1;selected=new re(0);constructor(){}ngOnInit(){this.nodeConsoleService.consoleResized.subscribe(e=>{this.style={width:`${e.width}px`,height:`${e.height-70}px`},this.cd.detectChanges()}),this.themeService.getActualTheme()==="light"?this.isLightThemeEnabled=!0:this.isLightThemeEnabled=!1,this.style={width:"848px",height:"477px"},this.nodeSubscription=this.projectWebServiceHandler.nodeNotificationEmitter.subscribe(e=>{let n=e.event,o="";n.label?o=`Event received: ${e.action} - ${this.printNode(n)}.`:o=`Event received: ${e.action} - ${n.name}.`,this.showMessage({type:"map update",message:o})}),this.linkSubscription=this.projectWebServiceHandler.linkNotificationEmitter.subscribe(e=>{let n=e.event,o=`Event received: ${e.action} - ${this.printLink(n)}.`;this.showMessage({type:"map update",message:o})}),this.drawingSubscription=this.projectWebServiceHandler.drawingNotificationEmitter.subscribe(e=>{let n=e.event,o=`Event received: ${e.action} - ${this.printDrawing(n)}.`;this.showMessage({type:"map update",message:o})}),this.controllerRequestsSubscription=this.httpService.requestsNotificationEmitter.subscribe(e=>{this.showMessage({type:"controller request",message:e})}),this.errorSubscription=this.projectWebServiceHandler.errorNotificationEmitter.subscribe(e=>{this.showMessage({type:"error",message:e})}),this.warningSubscription=this.projectWebServiceHandler.warningNotificationEmitter.subscribe(e=>{this.showMessage({type:"warning",message:e})}),this.infoSubscription=this.projectWebServiceHandler.infoNotificationEmitter.subscribe(e=>{this.showMessage({type:"info",message:e})})}ngAfterViewInit(){let e=this.console( Line truncated
compute_id: ${e.compute_id},
console: ${e.console},
console_host: ${e.console_host},
console_type: ${e.console_type},
first_port_name: ${e.first_port_name},
height: ${e.height},
label: ${e.label.text},
name: ${e.name},
node_directory: ${e.node_directory},
node_id: ${e.node_id},
node_type: ${e.node_type},
port_name_format: ${e.port_name_format},
port_segment_size: ${e.port_segment_size}, `+this.printPorts(e.ports)+`project_id: ${e.project_id},
status: ${e.status},
symbol: ${e.symbol},
symbol_url: ${e.symbol_url},
width: ${e.width},
x: ${e.x},
y: ${e.y},
z: ${e.z}`}printPorts(e){let n="ports: ";return e.forEach(o=>{n=n+`adapter_number: ${o.adapter_number},
link_type: ${o.link_type},
name: ${o.name},
port_number: ${o.port_number},
short_name: ${o.short_name}, `}),n}printLink(e){return`capture_file_name: ${e.capture_file_name},
capture_file_path: ${e.capture_file_path},
capturing: ${e.capturing},
link_id: ${e.link_id},
link_type: ${e.link_type},
project_id: ${e.project_id},
suspend: ${e.suspend}, `}printDrawing(e){return`drawing_id: ${e.drawing_id},
project_id: ${e.project_id},
rotation: ${e.rotation},
x: ${e.x},
y: ${e.y},
z: ${e.z}`}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-log-console"]],viewQuery:function(n,o){n&1&&tn(o.console,VEe,5)(o.commandInput,zEe,5),n&2&&nn(2)},inputs:{controller:"controller",project:[1,"project"],command:[1,"command"]},outputs:{command:"commandChange"},decls:27,vars:15,consts:[["filterMenu","matMenu"],["console",""],["commandInput",""],[1,"consoleHeader"],[1,"consoleFiltering"],[1,"filterButton",3,"ngClass","matMenuTriggerFor"],["xPosition","after"],["mat-menu-item","",3,"click"],[1,"console",3,"ngClass","ngStyle"],[1,"console-item"],[1,"consoleInput",3,"ngClass"],[1,"inputIcon"],["autofocus","","type","text",1,"commandLine",3,"keydown","input","ngClass","value"]],template:function(n,o){if(n&1&&(s(0,"div",3)(1,"div",4)(2,"button",5),d(3," Apply filter "),l(),s(4,"mat-menu",6,0)(6,"button",7),v("click",function(){return o.applyFilter("all")}),d(7,"all"),l(),s(8,"button",7),v("click",function(){return o.applyFilter("errors")}),d(9,"errors"),l(),s(10,"button",7),v("click",function(){return o.applyFilter("warnings")}),d(11,"warnings"),l(),s(12,"button",7),v("click",function(){return o.applyFilter("info")}),d(13,"info"),l(),s(14,"button",7),v("click",function(){return o.applyFilter("map updates")}),d(15,"map updates"),l(),s(16,"button",7),v("click",function(){return o.applyFilter("controller requests")}),d(17,"controller requests"),l()()()(),s(18,"div",8,1),J(20,jEe,3,1,"span",9,Fe),l(),s(22,"div",10)(23,"mat-icon",11),d(24,"keyboard_arrow_right"),l(),s(25,"input",12,2),v("keydown",function(a){return o.onKeyDown(a)})("input",function(a){return o.command.set(a.target.value)}),l()()),n&2){let r=Re(5);u(2),x("ngClass",ln(7,Uk,o.isLightThemeEnabled))("matMenuTriggerFor",r),u(16),x("ngClass",ln(9,Uk,o.isLightThemeEnabled))("ngStyle",o.style),u(2),ee(o.filteredEvents),u(2),x("ngClass",ln(11,Uk,o.isLightThemeEnabled)),u(3),x("ngClass",ln(13,Uk,o.isLightThemeEnabled))("value",o.command())}},dependencies:[Z,Zi,pm,te,se,$,Qe,Fn,ot,kn],styles:[".consoleWrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px}.filterButton[_ngcontent-%COMP%]{background:transparent;color:var(--mat-sys-on-surface-variant);border:none;margin-top:0;outline:none;font-weight:700;padding:0}.consoleFiltering[_ngcontent-%COMP%]{display:flex}.consoleHeader[_ngcontent-%COMP%]{width:100%;height:32px;font-size:12px;overflow:hidden;display:flex;padding:4px 8px;justify-content:space-between;background:var(--mat-sys-surface);flex-shrink:0}.console[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:8px;color:var(--mat-sys-on-surface);font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;scrollbar-color:var(--mat-sys-on-surface-variant) var(--mat-sys-surface);scrollbar-width:thin;background:var(--mat-sys-surface)}.consoleInput[_ngcontent-%COMP%]{width:100%;height:32px;padding:4px 8px;display:flex;background:var(--mat-sys-surface);flex-shrink:0}.commandLine[_ngcontent-%COMP%]{background-color:transparent;color:var(--mat-sys-on-surface);border:none;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px}.inputIcon[_ngcontent-%COMP%]{margin-top:2px}mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}input[_ngcontent-%COMP%]:focus{outline:none}.closeButton[_ngcontent-%COMP%]{cursor:pointer}"],changeDetection:0})}return t})();var $Ee=["consoleWrapper"],HEe=(t,i,e,n)=>({lightTheme:t,"console-active":i,"is-minimized":e,"is-dragging":n}),UEe=t=>({lightThemeConsoleHeader:t}),GEe=()=>({top:!0}),WEe=()=>({right:!0}),qEe=()=>({bottom:!0}),XEe=()=>({left:!0}),QEe=()=>({top:!0,left:!0}),YEe=()=>({top:!0,right:!0}),KEe=()=>({bottom:!0,left:!0}),ZEe=()=>({bottom:!0,right:!0});function JEe(t,i){t&1&&F(0,"div",15)(1,"div",16)(2,"div",17)(3,"div",18)(4,"div",19)(5,"div",20)(6,"div",21)(7,"div",22),t&2&&(x("resizeEdges",Jt(8,GEe)),u(),x("resizeEdges",Jt(9,WEe)),u(),x("resizeEdges",Jt(10,qEe)),u(),x("resizeEdges",Jt(11,XEe)),u(),x("resizeEdges",Jt(12,QEe)),u(),x("resizeEdges",Jt(13,YEe)),u(),x("resizeEdges",Jt(14,KEe)),u(),x("resizeEdges",Jt(15,ZEe)))}function eDe(t,i){if(t&1){let e=j();s(0,"span",23),d(1),l(),s(2,"button",12),v("mousedown",function(o){return o.stopPropagation()})("click",function(){D(e);let o=b().$index,r=b();return P(r.removeTab(o))}),s(3,"mat-icon"),d(4,"close"),l()()}if(t&2){let e=b().$implicit;u(),U(e.name)}}function tDe(t,i){if(t&1&&(s(0,"mat-tab",7),Ae(1,eDe,5,1,"ng-template",8),l()),t&2){let e=b();x("label",e.tab)}}function nDe(t,i){t&1&&(s(0,"span",23),d(1,"GNS3 console"),l())}function iDe(t,i){if(t&1){let e=j();s(0,"button",24),v("mousedown",function(o){return o.stopPropagation()})("click",function(){D(e);let o=b();return P(o.toggleMaximize())}),s(1,"mat-icon"),d(2,"fullscreen"),l()()}}function oDe(t,i){if(t&1){let e=j();s(0,"button",25),v("mousedown",function(o){return o.stopPropagation()})("click",function(){D(e);le Line truncated
`))},dependencies:[Ce,Kc,Ve,Be,Wt,$,le,Ea,ls],encapsulation:2,changeDetection:0})}return t})();var Yk=(()=>{class t{nodeService=f(wt);nodeConsoleService=f(gr);nodesDataSource=f(ci);toasterService=f(fe);controllerService=f(We);settingsService=f(ea);mapSettingsService=f(To);dialog=f(Je);cdr=f(K);project=oe(void 0);controller=oe(void 0);async startConsoleForAllNodes(){this.mapSettingsService.openConsolesInWidget?this.nodeConsoleService.openConsolesForAllNodesInWidget(this.nodesDataSource.getItems()):this.nodeConsoleService.openConsolesForAllNodesInNewTabs(this.nodesDataSource.getItems())}startNodes(){this.nodeService.startAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully started"),error:e=>{let n=e.error?.message||e.message||"Failed to start nodes";this.toasterService.error(n),this.cdr.markForCheck()}})}stopNodes(){this.nodeService.stopAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully stopped"),error:e=>{let n=e.error?.message||e.message||"Failed to stop nodes";this.toasterService.error(n),this.cdr.markForCheck()}})}suspendNodes(){this.nodeService.suspendAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully suspended"),error:e=>{let n=e.error?.message||e.message||"Failed to suspend nodes";this.toasterService.error(n),this.cdr.markForCheck()}})}reloadNodes(){this.nodeService.reloadAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully reloaded"),error:e=>{let n=e.error?.message||e.message||"Failed to reload nodes";this.toasterService.error(n),this.cdr.markForCheck()}})}resetNodes(){this.nodeService.resetAllNodes(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("Successfully reset all console connections"),error:e=>{let n=e.error?.message||e.message||"Failed to reset nodes";this.toasterService.error(n),this.cdr.markForCheck()}})}confirmControlsActions(e){this.dialog.open(Qk,{panelClass:["base-confirmation-dialog-panel","confirmation-warning-panel"],autoFocus:!1,disableClose:!0,data:e}).afterClosed().subscribe(o=>{!o||!o.isAction||(o.actionType=="start"?this.startNodes():o.actionType=="stop"?this.stopNodes():o.actionType=="reload"?this.reloadNodes():o.actionType=="suspend"?this.suspendNodes():o.actionType=="reset"&&this.resetNodes())})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-nodes-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},decls:19,vars:0,consts:[[1,"menu-button-group"],["matTooltip","Console connect to all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Start/Resume all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Suspend all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Stop all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reload all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reset all console connections","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"]],template:function(n,o){n&1&&(s(0,"div",0)(1,"button",1),v("click",function(){return o.startConsoleForAllNodes()}),s(2,"mat-icon"),d(3,"web_asset"),l()(),s(4,"button",2),v("click",function(){return o.confirmControlsActions("start")}),s(5,"mat-icon"),d(6,"play_arrow"),l()(),s(7,"button",3),v("click",function(){return o.confirmControlsActions("suspend")}),s(8,"mat-icon"),d(9,"pause"),l()(),s(10,"button",4),v("click",function(){return o.confirmControlsActions("stop")}),s(11,"mat-icon"),d(12,"stop"),l()(),s(13,"button",5),v("click",function(){return o.confirmControlsActions("reload")}),s(14,"mat-icon"),d(15,"replay"),l()(),s(16,"button",6),v("click",function(){return o.confirmControlsActions("reset")}),s(17,"mat-icon"),d(18,"compare_arrows"),l()()())},dependencies:[Z,Ce,$,ze,te,se,Gt,Kt],styles:[".marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.menu-button[_ngcontent-%COMP%]{margin:0 4px;transition:transform .1s ease}.menu-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-primary)}.menu-button[_ngcontent-%COMP%]:hover{transform:scale(1.2)}"],changeDetection:0})}return t})();var OU=(()=>{class t{transform(e,n){return e?n?(n=n.toLowerCase(),e.filter(o=>o.name.toLowerCase().includes(n))):e:[]}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=Cr({name:"templatefilter",type:t,pure:!0})}return t})();var RDe=(t,i)=>i.name,FDe=(t,i)=>i.value;function LDe(t,i){if(t&1&&(s(0,"mat-option",8),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),X(" ",e," ")}}function BDe(t,i){if(t&1&&(s(0,"mat-option",8),d(1),l()),t&2){let e=i.$implicit;x("value",e),u(),X(" ",e.name," ") Line truncated
height="${r.height}" width="${r.width}">
<image height="${r.height}" width="${r.width}"
xlink:href="${a}"/>
</svg>`;this.drawingService.add(this.controller,this.project.project_id,-(r.width/2),-(r.height/2),c).subscribe({next:()=>{},error:m=>{let p=m.error?.message||m.message||"Failed to add image";this.toasterService.error(p),this.cd.markForCheck()}})},r.onload=()=>{o.readAsDataURL(n)},r.src=window.URL.createObjectURL(n)}closeProject(){let n=this.bottomSheet.open(ns,{data:{message:"Do you want to close the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.close(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to close project";this.toasterService.error(a),this.cd.markForCheck()}})})}deleteProject(){let n=this.bottomSheet.open(ns,{data:{message:"Do you want to delete the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.delete(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to delete project";this.toasterService.error(a),this.cd.markForCheck()}})})}addNewTemplate(){let n=this.dialog.open(p_,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;n.controller=this.controller,n.project=this.project}showReadme(){let n=this.dialog.open(Dk,{width:"600px",height:"650px",autoFocus:!1,disableClose:!0}).componentInstance;n.controller=this.controller,n.project=this.project}ngOnDestroy(){this.onLeaveProject(),this.nodeConsoleService.openConsoles=0,this.title.setTitle("GNS3 Web UI"),this.drawingsDataSource.clear(),this.nodesDataSource.clear(),this.linksDataSource.clear(),this.projectws&&this.projectws.OPEN&&this.projectws.close(),this.ws&&this.ws.OPEN&&this.ws.close(),this.projectMapSubscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-project-map"]],viewQuery:function(n,o){n&1&&tn(o.contextMenu,c_,5)(o.mapChild,j2,5)(o.projectMapMenuComponent,f_,5)(o.topologySummaryContainer,dPe,5,co),n&2&&nn(4)},decls:166,vars:76,consts:[["projectMap",""],["mainMenu","matMenu"],["projectMenu","matMenu"],["viewMenu","matMenu"],["topologySummaryContainer",""],[1,"project-map",3,"ngClass"],["id","project-titlebar"],["matTooltip","Open menu","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],[1,"project-titlebar-controls"],[1,"menu-button-group","primary-controls"],[1,"menu-button-group"],[3,"controller","project"],[3,"openWebWiresharkInline","openWebConsoleInline","project","controller"],["matTooltip","Toggle topology/controllers summary","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",3,"click"],[3,"overlapTrigger"],["mat-menu-item","",3,"routerLink"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"matMenuTriggerFor"],[1,"options-item"],[3,"change","checked"],[3,"controller","project","symbols","nodes","links","drawings","width","height","show-interface-labels","readonly"],["id","project-toolbar"],[1,"section"],["matTooltip","Selection mode","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"selection-button","menu-button",3,"click","color"],["matTooltip","Pan workspace","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"pan-button","menu-button",3,"click","color"],["matTooltip","Zoom in","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"],["matTooltip","Reset zoom","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"reset-zoom-button",3,"click"],["matTooltip","Zoom out","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"],[3,"aiChatOpened","controller","project"],[3,"links"],[3,"controller"],[3,"drawingSaved","controller","project"],[3,"ngClass"],[3,"controller","project","zIndex"],[3,"project","controller","zIndex"],[1,"inline-taskbar"],[1,"inline-taskbar__icon",3,"inline-taskbar__icon--minimized","left","title"],[3,"nodeCreationChange","controller","project"],["matTooltip","Add a link","matTooltipClass","custom-tooltip","matTooltipPosition","below","mat-icon-button","",1,"menu-button",3,"click","ngClass","color"],[3,"closeConsole","windowFocused","controller","project","zIndex"],[3,"closed","windowFocused","project","controller","zIndex"],[3,"link","controller","project","zIndex"],[3,"closeWindow","windowFocused","link","controller","project","zIndex"],[3,"node","controller","project","zIndex"],[3,"closeWindow","windowFocused","node","controller","project","zIndex"],[1,"inline-taskbar__icon",3,"click","title"],[1,"inline-tLine truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{console.log("[WebConsoleFullWindow] Socket closed"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`)};let n=new JU.AttachAddon(this.socket);this.term.loadAddon(n),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)},0)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term&&this.term.dispose()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-web-console-full-window"]],viewQuery:function(n,o){n&1&&tn(o.terminal,l3e,5),n&2&&nn()},decls:2,vars:0,consts:[["terminal",""],[1,"terminal",2,"width","100%","height","100%"]],template:function(n,o){n&1&&jr(0,"div",1,0)},dependencies:[Z],styles:["[_nghost-%COMP%]{display:block;width:100vw;height:100vh;overflow:hidden}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return t})();var vT=(()=>{class t{consoleService;bottomSheet;constructor(e,n){this.consoleService=e,this.bottomSheet=n}canDeactivate(){return this.consoleService.openConsoles>0?this.bottomSheet.open(ns,{data:{message:"Exiting the project will close open consoles, do you want to continue?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed():!0}static \u0275fac=function(n){return new(n||t)(ge(gr),ge(mc))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var Nn=(()=>{class t{controllerService;loginService;router;constructor(e,n,o){this.controllerService=e,this.loginService=n,this.router=o}async canActivate(e,n){let o=e.paramMap.get("controller_id");this.loginService.controller_id=o;let r=await this.controllerService.get(parseInt(o,10));try{await this.loginService.getLoggedUser(r)}catch{}return this.controllerService.get(parseInt(o,10)).then(a=>{if(a.authToken&&!a.tokenExpired)return!0;this.router.navigate(["/controller",a.id,"login"],{queryParams:{returnUrl:n.url}})})}static \u0275fac=function(n){return new(n||t)(ge(We),ge(Ml),ge(ut))};static \u0275prov=Q({token:t,factory:t.\u0275fac})}return t})();var c3e=["*",[["mat-toolbar-row"]]],d3e=["*","mat-toolbar-row"],m3e=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=ft({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]})}return t})(),tG=(()=>{class t{_elementRef=f(Lt);_platform=f(Ta);_document=f(Pi);color;_toolbarRows;constructor(){}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){this._toolbarRows.length}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["mat-toolbar"]],contentQueries:function(n,o,r){if(n&1&&$i(r,m3e,5),n&2){let a;gt(a=_t())&&(o._toolbarRows=a)}},hostAttrs:[1,"mat-toolbar"],hostVars:6,hostBindings:function(n,o){n&2&&(Mo(o.color?"mat-"+o.color:""),je("mat-toolbar-multiple-rows",o._toolbarRows.length>0)("mat-toolbar-single-row",o._toolbarRows.length===0))},inputs:{color:"color"},exportAs:["matToolbar"],ngContentSelectors:d3e,decls:2,vars:0,template:function(n,o){n&1&&(En(c3e),Yt(0),Yt(1,1))},styles:[`.mat-toolbar{background:var(--mat-toolbar-container-background-color, var(--mat-sys-surface));color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font, var(--mat-sys-title-large-font));font-size:var(--mat-toolbar-title-text-size, var(--mat-sys-title-large-size));line-height:var(--mat-toolbar-title-text-line-height, var(--mat-sys-title-large-line-height));font-weight:var(--mat-toolbar-title-text-weight, var(--mat-sys-title-large-weight));letter-spacing:var(--mat-toolbar-title-text-tracking, var(--mat-sys-title-large-tracking));margin:0}@media(forced-colors: active){.mat-toolbar{outline:solid 1px}}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mat-button-text-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface));--mat-button-outlined-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-heLine truncated
`],encapsulation:2,changeDetection:0})}return t})();var bT=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[wn]})}return t})();var u3e=t=>["controller",t,"systemstatus"],h3e=t=>["controller",t,"settings"],f3e=t=>["controller",t,"management","users"],g3e=t=>["controller",t,"help"],_3e=t=>["/controller",t,"loggeduser"],v3e=()=>["/controllers"],b3e=t=>["/controller",t,"projects"],C3e=t=>["controller",t,"preferences"],x3e=t=>["controller",t,"computes"],y3e=t=>["controller",t,"image-manager"];function S3e(t,i){if(t&1){let e=j();s(0,"button",14),v("click",function(){D(e);let o=b();return P(o.listProjects())}),d(1,"Projects"),l()}}function w3e(t,i){if(t&1){let e=j();s(0,"button",15),v("click",function(){D(e);let o=b();return P(o.backToProject())}),d(1,"Back to project"),l()}}var CT=(()=>{class t{isInstalledSoftwareAvailable=!1;isLoginPage=!1;routeSubscription;controllerStatusSubscription;shouldStopControllersOnClosing=!0;recentlyOpenedcontrollerId;recentlyOpenedProjectId;controllerIdProjectList;controllerId;controller;project;projectMapSubscription=new so;recentlyOpenedProjectService=f(xm);controllerManagement=f(w_);toasterService=f(fe);progressService=f(zo);dialog=f(Je);router=f(ut);route=f(Ye);controllerService=f(We);projectService=f(Fi);cd=f(K);connectionManager=f(rp);ngOnInit(){this.routeSubscription=this.router.events.pipe(Pn(e=>e instanceof Or)).subscribe(()=>{this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.checkIfUserIsLoginPage(),this.cd.markForCheck()}),this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.recentlyOpenedcontrollerId=this.recentlyOpenedProjectService.getcontrollerId(),this.recentlyOpenedProjectId=this.recentlyOpenedProjectService.getProjectId(),this.controllerIdProjectList=this.recentlyOpenedProjectService.getcontrollerIdProjectList(),this.isInstalledSoftwareAvailable=!1,this.controllerStatusSubscription=this.controllerManagement.controllerStatusChanged.subscribe(e=>{e.status==="errored"&&(console.error(e.message),this.toasterService.error(e.message)),e.status==="stderr"&&(console.error(e.message),this.toasterService.error(e.message))}),this.shouldStopControllersOnClosing=!1}getParamFromRoute(e,n){let o=e;for(;o.firstChild;){o=o.firstChild;let r=o.snapshot.paramMap.get(n);if(r)return r}return o.snapshot.paramMap.get(n)}goToDocumentation(){this.controllerService.get(+this.controllerId).then(e=>{window.open(`${e.protocol}//${e.host}:${e.port}/docs`)})}checkIfUserIsLoginPage(){this.router.url.includes("login")?this.isLoginPage=!0:this.isLoginPage=!1}logout(){this.controllerService.get(+this.controllerId).then(e=>{e.authToken=null,this.controllerService.update(e).then(n=>{this.connectionManager.disconnect(),this.router.navigate(["/controller",e.id,"login"])})})}listProjects(){this.router.navigate(["/controller",this.controllerIdProjectList,"projects"]).catch(e=>this.toasterService.error("Cannot list projects"))}backToProject(){this.router.navigate(["/controller",this.recentlyOpenedcontrollerId,"project",this.recentlyOpenedProjectId]).catch(e=>this.toasterService.error("Cannot navigate to the last opened project"))}async onBeforeUnload(e){if(this.shouldStopControllersOnClosing)return e.preventDefault(),e.returnValue=!1,this.progressService.activate(),await this.controllerManagement.stopAll(),this.shouldStopControllersOnClosing=!1,this.progressService.deactivate(),window.close(),!1}getData(){this.controllerService.get(+this.controllerId).then(e=>{this.controller=e})}addNewTemplate(){if(!this.controller){this.toasterService.error("Please select a controller first");return}let n=this.dialog.open(p_,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;n.controller=this.controller,n.project=this.project}ngOnDestroy(){this.controllerStatusSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-default-layout"]],hostBindings:function(n,o){n&1&&v("beforeunload",function(a){return o.onBeforeUnload(a)},br)},decls:82,vars:45,consts:[["menu","matMenu"],["mainMenu","matMenu"],[1,"header"],[1,"toolbar-primary"],["mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],["mat-button",""],["mat-button","",1,"back-to-project-button"],[1,"spacer"],["mat-icon-button","",3,"matMenuTriggerFor"],["mat-menu-item","",3,"disabled","routerLink"],["mat-menu-item","",3,"click","disabled"],["mat-menu-item","",3,"routerLink"],[1,"main-content"],["mat-button","",3,"click"],["mat-button","",1,"back-to-project-button",3,"click"]],template:function(n,o){if(n&1&&(s(0,"header",2)(1,"mat-toolbar",3)(2,"button",4),F(3,"mat-icon",5),l(),A(4,S3e,2,0,"button",6),A(5,w3e,2,0,"button",7),F(6,"span",8),s(7,"button",9)(8,"mat-icon"),d(9,"more_ve Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),ET=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[ss,TT,wn]})}return t})();var rG=(()=>{class t{dialogRef=f(Pe);close(){this.dialogRef.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-model-type-help-dialog"]],decls:271,vars:0,consts:[["mat-dialog-title",""],[1,"help-content"],[1,"help-section"],[1,"field-item"],[1,"info-card"],[1,"status-text"],[1,"status-icon"],[1,"note"],[1,"warning-card"],[1,"strategy-table","mat-elevation-z1"],["align","end"],["mat-raised-button","","color","primary",3,"click"]],template:function(n,o){n&1&&(s(0,"h2",0)(1,"mat-icon"),d(2,"help_outline"),l(),d(3,` Custom Mode Field Documentation
`),l(),s(4,"mat-dialog-content",1)(5,"div",2)(6,"h3"),d(7,"Basic Configuration"),l(),s(8,"div",3)(9,"h4"),d(10,"Configuration Name"),l(),s(11,"p"),d(12,"A unique identifier for this LLM model configuration."),l(),s(13,"ul")(14,"li")(15,"strong"),d(16,"Format:"),l(),d(17," 1-100 characters"),l(),s(18,"li")(19,"strong"),d(20,"Allowed characters:"),l(),d(21," Letters, numbers, underscores, and hyphens"),l(),s(22,"li")(23,"strong"),d(24,"Example:"),l(),s(25,"code"),d(26,"gpt-4o-config"),l(),d(27,", "),s(28,"code"),d(29,"claude-3-5-sonnet"),l()()()(),s(30,"div",3)(31,"h4"),d(32,"Model Type"),l(),s(33,"p"),d(34,"The category of AI model you are configuring. This field is reserved for future use."),l(),s(35,"mat-card",4)(36,"mat-card-content")(37,"p",5)(38,"mat-icon",6),d(39,"info"),l(),d(40," Currently, only "),s(41,"strong"),d(42,"text"),l(),d(43," model type is supported. Other options (vision, stt, tts, multimodal, embedding, reranking, other) are reserved for future enhancements. "),l()()()(),s(44,"div",3)(45,"h4"),d(46,"Select LLM Provider"),l(),s(47,"p"),d(48,"Choose a preset provider to auto-configure the connection settings."),l(),s(49,"ul")(50,"li")(51,"strong"),d(52,"OpenRouter:"),l(),d(53," Access to multiple models through openrouter.ai"),l(),s(54,"li")(55,"strong"),d(56,"DeepSeek:"),l(),d(57," DeepSeek's official API endpoint"),l(),s(58,"li")(59,"strong"),d(60,"Custom:"),l(),d(61," Manually configure all settings"),l()(),s(62,"p",7),d(63,"Presets automatically fill in the Base URL and default model list."),l()(),s(64,"div",3)(65,"h4"),d(66,"Model Name"),l(),s(67,"p"),d(68,"The specific model to use from the selected provider."),l(),s(69,"ul")(70,"li")(71,"strong"),d(72,"From preset:"),l(),d(73," Select from a dropdown list of available models"),l(),s(74,"li")(75,"strong"),d(76,"Custom:"),l(),d(77," Enter any model name manually"),l()(),s(78,"p")(79,"strong"),d(80,"Examples:"),l(),s(81,"code"),d(82,"gpt-4o"),l(),d(83,", "),s(84,"code"),d(85,"claude-3-5-sonnet-20241022"),l(),d(86,", "),s(87,"code"),d(88,"deepseek-chat"),l()()()(),s(89,"div",2)(90,"h3"),d(91,"API Configuration"),l(),s(92,"div",3)(93,"h4"),d(94,"Model Provider"),l(),s(95,"p"),d(96,"The provider type for API communication."),l(),s(97,"p"),d(98,' Select the provider that matches your API endpoint. For OpenAI-compatible APIs, choose "OpenAI" and customize the Base URL. '),l()(),s(99,"div",3)(100,"h4"),d(101,"Base URL"),l(),s(102,"p"),d(103,"The API endpoint URL for the provider."),l(),s(104,"ul")(105,"li")(106,"strong"),d(107,"Default:"),l(),d(108," Leave empty to use the provider's default endpoint"),l(),s(109,"li")(110,"strong"),d(111,"Custom:"),l(),d(112," Enter a full URL (e.g., "),s(113,"code"),d(114,"https://api.openai.com/v1"),l(),d(115,")"),l()(),s(116,"p",7),d(117,"This field is auto-filled when using presets."),l()(),s(118,"div",3)(119,"h4"),d(120,"API Key"),l(),s(121,"p"),d(122,"Your authentication key for accessing the API."),l(),s(123,"ul")(124,"li")(125,"strong"),d(126,"Create mode:"),l(),d(127," Required field, minimum 10 characters"),l(),s(128,"li")(129,"strong"),d(130,"Edit mode:"),l(),d(131," Leave empty to keep existing key"),l()(),s(132,"mat-card",8)(133,"mat-card-content")(134,"p",5)(135,"mat-icon",6),d(136,"lock"),l(),d(137," API keys are encrypted on the server for security. "),l()()()()(),s(138,"div",2)(139,"h3"),d(140,"Model Parameters"),l(),s(141,"div",3)(142,"h4"),d(143,"Temperature"),l(),s(144,"p"),d(145,"Controls the randomness of the model's responses."),l(),s(146,"ul")(147,"li")(148,"strong"),d(149,"Range:"),l(),d(150," 0.0 to 2.0"),l(),s(151,"li")(152,"strong"),d(153,"Lower values (0.0-0.3):"),l(),d(154," More focused, deterministic output"),l(),s(155,"li")(156,"strong"),d(157,"Higher values (0.7-2.0):"),l(),d(158," More creative, diverse output"),l(),s(159,"li")(160,"strong"),d(161,"Recommended:"),l(),d(162," 0.3 for technical tasks, 0.7 for creative tasks"),l()()(),s(163,"div",3)(164,"h4"),d(165,"Context Limit"),l(),s(166,"p"),d(167,"The maximum context window size in thousands (K) of tokens."),l(),s(168,"ul")(169,"li")(170,"strong"),d(171,"Range:"),l(),d(172," 1 to 10000"),l(),s(173,"li")(174,"strong"),d(175,"Unit:"),l(),d(176," K tokens (e.g., 128 = 128K tokens)"),l(),s(177,"li")(178,"strong"),d(179,"Meaning:"),l(),d(180," Maximum amount of text the model can consider"),l()(),s(181,"p",7),d(182,"Different models have different context limits. Check your model's documentation."),l()(),s(183,"div",3)(184,"h4"),d(185,"Context Strategy"),l(),s(186,"p"),d(187,"Determines how aggressively the system uses the available context limit."),l(),s(188,"table",9)(189,"thead")(190,"tr")(191,"th"),d(192,"Strategy"),l(),s(193,"th"),d(194,"Usage"),l()()(),s(195,"tbody")(196,"tr")(197,"td")(198,"strong"),d(199,"Conservative"),l()(),s(200,"td"),d(201,"60% of context limit (safer, more reserved)"),l()(),s(202,"tr")(203,"td")(204,"strong"),d(205,"Balanced"),l()(),s(206,"td"),d(207,"75% of context limit (recommended)"),l()(),s Line truncated
`),u(2),x("formGroup",o.form),u(2),Th("value",o.configMode),u(14),O(o.configMode==="basic"?19:-1),u(),O(o.configMode==="custom"?20:-1),u(4),x("disabled",o.form.invalid),u(),X(" ",o.mode==="create"?"Create":"Save"," "))},dependencies:[Z,ct,Ue,vt,xi,mt,He,Ro,Sc,pt,bt,dR,mR,Ce,Ve,Be,Wt,ET,o5,TT,te,se,Me,ke,lt,qC,Ni,we,Te,Mt,At,St,Jo,Ot,Ht,$,le,ze,Gt,Kt,Dt],styles:['.config-form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:600;color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;vertical-align:middle;width:18px;height:18px;margin-left:4px}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;color:var(--mat-sys-on-surface-variant)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:12px;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .half-width[_ngcontent-%COMP%]{flex:1;min-width:0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%]{margin:16px 0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block}.config-form[_ngcontent-%COMP%] .option-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .existing-key-hint[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-size:12px}.config-form[_ngcontent-%COMP%] .warning-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%]{margin-top:16px;padding-top:16px;border-top:1px solid var(--mat-sys-outline-variant)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:40px;height:40px;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transform:scale(.75)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:before{opacity:1;background-color:var(--mat-sys-primary-container)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary);transform:scale(1.1)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%]{margin-bottom:16px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%] .reserved-field-hint[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--mat-sys-on-surface-variant);font-style:italic}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-key[_ngcontent-%COMP%], .config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{fle Line truncated
${o.error?.message||""}`))})}isAllSelected(){let e=this.selection.selected.length,n=this.dataSource.data.length;return e===n}masterToggle(){this.isAllSelected()?this.selection.clear():this.dataSource.data.forEach(e=>this.selection.select(e))}onDelete(e){this.dialog.open(WT,{panelClass:["base-confirmation-dialog-panel","confirmation-danger-panel"],data:{roles:e}}).afterClosed().subscribe(n=>{if(n){let o=e.map(r=>this.roleService.delete(this.controller,r.role_id));lo(o).subscribe(()=>{this.refresh()},r=>{let a=r?.error?.message||"An error occurred while trying to delete role";this.toasterService.error(a)})}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-role-management"]],viewQuery:function(n,o){if(n&1&&gn(NNe,5)(RNe,5),n&2){let r;gt(r=_t())&&(o.rolesPaginator=r),gt(r=_t())&&(o.rolesSort=r)}},inputs:{searchText:[1,"searchText"]},outputs:{searchText:"searchTextChange"},decls:2,vars:1,consts:[["rolesSort","matSort"],["rolesPaginator","matPaginator"],[1,"role-management__loader"],[1,"role-management__header"],[1,"role-management__title"],[1,"role-management__actions"],["mat-raised-button","","color","primary",1,"role-management__button",3,"click","disabled"],["mat-raised-button","","color","primary",1,"role-management__button",3,"click"],[1,"role-management__search-form"],[1,"role-management__search"],["matInput","","placeholder","Search role by name",3,"input","value"],[1,"role-management__table-container"],["matSort","",3,"dataSource"],["matColumnDef","select"],["class","role-management__small-col",4,"matHeaderCellDef"],["class","role-management__small-col",4,"matCellDef"],["matColumnDef","name"],["mat-sort-header","",4,"matHeaderCellDef"],[4,"matCellDef"],["matColumnDef","description"],[4,"matHeaderRowDef"],[4,"matRowDef","matRowDefColumns"],["showFirstLastButtons","","aria-label","Select page",3,"pageSizeOptions"],[1,"role-management__small-col"],[3,"change","checked","indeterminate"],[3,"click","change","checked"],["mat-sort-header",""],[1,"role-management__link",3,"routerLink"],[1,"role-management__overflow-text"],[1,"role-management__spinner"]],template:function(n,o){n&1&&A(0,WNe,28,10)(1,qNe,2,0,"div",2),n&2&&O(o.isReady()?0:1)},dependencies:[Z,nt,Ue,He,Ci,at,cn,In,Gn,qn,Kn,Xn,Wn,Zn,Qn,Yn,Jn,ei,Tr,zr,Oo,ma,Ot,Ht,$,le,te,Me,ke,we,Te,Ce,Si,Xo,uG],styles:['[_nghost-%COMP%]{display:block;width:100%}.role-management__header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:20px 0;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.role-management__title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;color:var(--mat-sys-on-surface);margin:0}.role-management__actions[_ngcontent-%COMP%]{display:flex;gap:12px}.role-management__button[_ngcontent-%COMP%]{margin:12px 0;height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px;transition:all .2s cubic-bezier(.4,0,.2,1)}.role-management__button[_ngcontent-%COMP%]:hover:not([disabled]){transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--mat-sys-primary) 30%,transparent)}.role-management__button[_ngcontent-%COMP%]:active:not([disabled]){transform:translateY(0)}.role-management__search-form[_ngcontent-%COMP%]{display:flex;justify-content:center;margin:16px auto;width:100%;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .05s both}.role-management__search[_ngcontent-%COMP%]{width:100%;max-width:1000px}.role-management__table-container[_ngcontent-%COMP%]{border-radius:16px;overflow:hidden;width:100%;background:var(--mat-sys-surface);box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent);transition:box-shadow .3s cubic-bezier(.4,0,.2,1);animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .15s both}.role-management__table-container--hidden[_ngcontent-%COMP%]{display:none}mat-row[_ngcontent-%COMP%]{transition:all .2s cubic-bezier(.4,0,.2,1);cursor:default;position:relative}mat-row[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 3%,transparent);transform:scale(1.002)}mat-row[_ngcontent-%COMP%]:nth-child(2n){background-color:color-mix(in srgb,var(--mat-sys-on-surface) 1%,transparent)}mat-row[_ngcontent-%COMP%]:nth-child(2n):hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 4%,transparent)}.mat-header-row[_ngcontent-%COMP%]{position:sticky;top:0;z-index:10;background:var(--mat-sys-surface)}.mat-header-row[_ngcontent-%COMP%] mat-header-cell[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:var(--mat-sys-on-surface-variant);letter-spacing:.5px;text-transform:uppercase}mat-header-cell[_ngcontent-%COMP%], mat-cell[_ngcontent-%COMP%]{justify-content:center;padding:0 16px}mat-cell[_ngcontent-%COMP%]{font-size:14px;color:var(--mat-sys-on-surface)}mat-cell[mat-column=name][_ngcontent-%COMP%]{justify-content:flex-start;font-weight:500}.role-management__link[_ Line truncated
${n.error?.message||""}`)})}onPrivilegesUpdate(e){let n=[];for(let o of e.add)n.push(this.roleService.setPrivileges(this.controller,this.roleId,o));for(let o of e.delete)n.push(this.roleService.removePrivileges(this.controller,this.roleId,o));lo(n).subscribe(()=>{this.roleService.getById(this.controller,this.roleId).subscribe(o=>this.$role.next(o))})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-role-detail"]],decls:55,vars:35,consts:[[1,"role-detail"],[1,"role-detail__header"],[1,"role-detail__header-content"],["mat-icon-button","","matTooltip","Back to role management","matTooltipClass","custom-tooltip",1,"role-detail__back-btn",3,"routerLink"],["aria-label","Back to role management"],[1,"role-detail__title"],[1,"role-detail__content"],[1,"role-detail__main"],[1,"role-detail__section"],[1,"role-detail__card"],[1,"role-detail__readonly"],[1,"role-detail__form",3,"formGroup"],[1,"role-detail__info-grid"],[1,"role-detail__info-item"],[1,"role-detail__info-label"],[1,"role-detail__info-value"],[1,"role-detail__info-item","role-detail__info-item--full"],[1,"role-detail__info-value","role-detail__info-value--mono"],[1,"role-detail__actions"],["mat-raised-button","","color","primary",3,"click","disabled"],[3,"update","disable","ownedPrivilege","privileges"],[1,"role-detail__readonly-item"],[1,"role-detail__readonly-label"],[1,"role-detail__readonly-value"],["appearance","fill",1,"role-detail__field"],["matInput","","type","text","formControlName","rolename"],["matInput","","type","text","formControlName","description"]],template:function(n,o){if(n&1&&(s(0,"div",0)(1,"header",1)(2,"div",2)(3,"a",3)(4,"mat-icon",4),d(5,"keyboard_arrow_left"),l()(),s(6,"h1",5),d(7),on(8,"async"),l()()(),s(9,"div",6)(10,"div",7)(11,"section",8)(12,"mat-card",9)(13,"mat-card-header")(14,"mat-card-title"),d(15,"Role Details"),l()(),s(16,"mat-card-content"),A(17,l5e,13,6,"div",10),on(18,"async"),I5(19,c5e,9,1,"form",11),s(20,"div",12)(21,"div",13)(22,"span",14),d(23,"Creation date"),l(),s(24,"span",15),d(25),on(26,"async"),l()(),s(27,"div",13)(28,"span",14),d(29,"Last update"),l(),s(30,"span",15),d(31),on(32,"async"),l()(),s(33,"div",16)(34,"span",14),d(35,"UUID"),l(),s(36,"span",17),d(37),on(38,"async"),l()(),s(39,"div",13)(40,"span",14),d(41,"Is built-in"),l(),s(42,"span",15),d(43),on(44,"async"),l()()()(),s(45,"mat-card-actions",18)(46,"button",19),on(47,"async"),on(48,"async"),v("click",function(){return o.onUpdate()}),d(49," Update Role "),l()()()(),s(50,"section",8)(51,"app-privilege",20),on(52,"async"),on(53,"async"),on(54,"async"),v("update",function(a){return o.onPrivilegesUpdate(a)}),l()()()()()),n&2){let r,a,c,m,p,h,g,M;u(3),x("routerLink",ln(33,s5e,o.controller.id)),u(4),X("Role ",(r=oi(8,11,o.$role))==null?null:r.name),u(10),O((a=oi(18,13,o.$role))!=null&&a.is_builtin?17:19),u(8),U((c=oi(26,15,o.$role))==null?null:c.created_at),u(6),U((m=oi(32,17,o.$role))==null?null:m.updated_at),u(6),U((p=oi(38,19,o.$role))==null?null:p.role_id),u(6),U((h=oi(44,21,o.$role))!=null&&h.is_builtin?"YES":"NO"),u(3),x("disabled",!oi(47,23,o.editRoleForm.valueChanges)&&o.editRoleForm.valid||((g=oi(48,25,o.$role))==null?null:g.is_builtin)),u(5),x("disable",(M=oi(52,27,o.$role))==null?null:M.is_builtin)("ownedPrivilege",oi(53,29,o.$ownedPrivilegesId))("privileges",oi(54,31,o.privileges))}},dependencies:[Z,ct,Ue,vt,mt,He,pt,bt,at,cn,Dt,Tn,Wy,Sl,ed,Jc,Me,ke,lt,we,Te,$,le,ze,te,se,Gt,Kt,XT,Jr],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.role-detail[_ngcontent-%COMP%]{padding:20px 24px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out;display:flex;flex-direction:column;align-items:center}.role-detail__header[_ngcontent-%COMP%]{margin-bottom:24px;width:100%;max-width:1000px}.role-detail__header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.role-detail__back-btn[_ngcontent-%COMP%]{flex-shrink:0}.role-detail__title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;color:var(--mat-sys-on-surface);margin:0}.role-detail__content[_ngcontent-%COMP%]{width:100%;max-width:1000px}.role-detail__main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1000px}.role-detail__section[_ngcontent-%COMP%]{width:100%}.role-detail__card[_ngcontent-%COMP%]{border-radius:12px}.role-detail__card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:16px 16px 0}.role-detail__card[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{font-size:18px;font-weight:600;color:var(--mat-sys-on-surface)}.role-detail__card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:16px}.role-detail__card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%]{padding:0 16px 16px}.role-detail__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.role-detail__field[_ngcontent-%COMP%]{width:100%}.role-detail__readonly[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;padding:16px;background: Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),HG=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Bt({type:t});static \u0275inj=Ft({imports:[XRe,wn]})}return t})();var QRe=(t,i,e,n)=>({"status-uploading":t,"status-done":i,"status-error":e,"status-canceled":n});function YRe(t,i){return this.trackByTempId}function KRe(t,i){if(t&1&&(qe(0),d(1),Xe()),t&2){let e=b(2);u(),Hi(" Uploading ",e.activeCount," file",e.activeCount!==1?"s":""," ")}}function ZRe(t,i){t&1&&(qe(0),d(1," Uploads complete "),Xe())}function JRe(t,i){if(t&1&&F(0,"mat-progress-bar",6),t&2){let e=b(2);x("value",e.overallProgress)}}function eFe(t,i){t&1&&(qe(0),d(1,"check_circle"),Xe())}function tFe(t,i){t&1&&(qe(0),d(1,"error"),Xe())}function nFe(t,i){t&1&&(qe(0),d(1,"cancel"),Xe())}function iFe(t,i){t&1&&(qe(0),d(1,"insert_drive_file"),Xe())}function oFe(t,i){t&1&&(s(0,"span",15),d(1,"Queued"),l())}function rFe(t,i){if(t&1&&(s(0,"span",15),d(1),l()),t&2){let e=b().$implicit;u(),X("",e.progress,"%")}}function aFe(t,i){t&1&&(s(0,"span",16),d(1,"Done"),l())}function sFe(t,i){if(t&1&&(s(0,"span",17),d(1),l()),t&2){let e=b().$implicit;u(),U(e.errorMessage||"Failed")}}function lFe(t,i){t&1&&(s(0,"span",18),d(1,"Canceled"),l())}function cFe(t,i){if(t&1){let e=j();s(0,"button",21),v("click",function(){D(e);let o=b().$implicit,r=b(3);return P(r.cancelUpload(o.tempId))}),s(1,"mat-icon"),d(2,"close"),l()()}}function dFe(t,i){if(t&1&&F(0,"mat-progress-bar",20),t&2){let e=b().$implicit;x("value",e.progress)}}function mFe(t,i){if(t&1){let e=j();s(0,"div",10)(1,"div",11)(2,"mat-icon",12),A(3,eFe,2,0,"ng-container"),A(4,tFe,2,0,"ng-container"),A(5,nFe,2,0,"ng-container"),A(6,iFe,2,0,"ng-container"),l(),s(7,"div",13),v("click",function(o){let r=D(e).$implicit,a=b(3);return P(a.navigateToFile(r,o))}),s(8,"span",14),d(9),l(),A(10,oFe,2,0,"span",15),A(11,rFe,2,1,"span",15),A(12,aFe,2,0,"span",16),A(13,sFe,2,1,"span",17),A(14,lFe,2,0,"span",18),l(),A(15,cFe,3,0,"button",19),l(),A(16,dFe,1,1,"mat-progress-bar",20),l()}if(t&2){let e=i.$implicit;je("dismissing",e.dismissing),u(2),x("ngClass",EC(16,QRe,e.status==="uploading"||e.status==="queued",e.status==="uploaded",e.status==="error",e.status==="canceled")),u(),O(e.status==="uploaded"?3:-1),u(),O(e.status==="error"?4:-1),u(),O(e.status==="canceled"?5:-1),u(),O(e.status==="uploading"||e.status==="queued"?6:-1),u(2),x("title",e.filename),u(),U(e.filename),u(),O(e.status==="queued"?10:-1),u(),O(e.status==="uploading"?11:-1),u(),O(e.status==="uploaded"?12:-1),u(),O(e.status==="error"?13:-1),u(),O(e.status==="canceled"?14:-1),u(),O(e.status==="uploading"||e.status==="queued"?15:-1),u(),O(e.status==="uploading"||e.status==="queued"?16:-1)}}function pFe(t,i){if(t&1&&(s(0,"div",8),J(1,mFe,17,21,"div",9,YRe,!0),l()),t&2){let e=b(2);u(),ee(e.uploadList)}}function uFe(t,i){if(t&1){let e=j();s(0,"div",0)(1,"div",1),v("click",function(){D(e);let o=b();return P(o.toggleExpanded())}),s(2,"div",2)(3,"mat-icon",3),d(4,"cloud_upload"),l(),s(5,"span",4),A(6,KRe,2,2,"ng-container"),A(7,ZRe,2,0,"ng-container"),l()(),s(8,"div",5),A(9,JRe,1,1,"mat-progress-bar",6),s(10,"mat-icon",7),d(11),l()()(),A(12,pFe,3,0,"div",8),l()}if(t&2){let e=b();u(6),O(e.activeCount>0?6:-1),u(),O(e.activeCount===0?7:-1),u(2),O(e.activeCount>0?9:-1),u(2),U(e.isExpanded()?"expand_more":"expand_less"),u(),O(e.isExpanded()?12:-1)}}var uE=(()=>{class t{imageUploadSessionService=f(D_);router=f(ut);uploads=new Map;isExpanded=me(!0);subscription;ngOnInit(){this.subscription=this.imageUploadSessionService.events$.subscribe(e=>{this.onUploadEvent(e)})}get uploadList(){return Array.from(this.uploads.values())}get hasUploads(){return this.uploads.size>0}get activeCount(){return this.uploadList.filter(e=>e.status==="uploading"||e.status==="queued").length}get overallProgress(){let e=this.uploadList.filter(n=>n.status==="uploading"||n.status==="queued");return e.length?Math.round(e.reduce((n,o)=>n+(o.progress||0),0)/e.length):100}cancelUpload(e){this.imageUploadSessionService.requestCancel(e)}navigateToFile(e,n){n.stopPropagation(),e.controller_id&&this.router.navigate(["/controller",e.controller_id,"image-manager"],{queryParams:{highlight:e.filename}})}toggleExpanded(){this.isExpanded.set(!this.isExpanded())}trackByTempId(e,n){return n.tempId}onUploadEvent(e){let n=this.uploads.get(e.tempId);n?.dismissTimer&&clearTimeout(n.dismissTimer);let o=H(H({},n||{}),e);e.status==="uploaded"||e.status==="error"||e.status==="canceled"?(o.dismissing=!1,o.dismissTimer=setTimeout(()=>{let r=this.uploads.get(e.tempId);r&&(r.dismissing=!0),setTimeout(()=>{this.uploads.delete(e.tempId)},400)},3e3)):o.dismissing=!1,this.uploads.set(e.tempId,o),!n&&e.status==="queued"&&this.isExpanded.set(!0)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.uploadList.forEach(e=>{e.dismissTimer&&clearTimeout(e.dismissTimer)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=L({type:t,selectors:[["app-global-upload-indicator"]],decls:1,vars:1 Line truncated
@@ -1 +1 @@
@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--Line truncated
@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--Line truncated
+2 -2
View File
@@ -22,8 +22,8 @@
# or negative for a release candidate or beta (after the base version
# number has been incremented)
__version__ = "3.1.0.dev2"
__version_info__ = (3, 1, 0, 99)
__version__ = "3.1.0a2"
__version_info__ = (3, 1, 0, -99)
if "dev" in __version__:
try: