UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

33 lines • 91.9 kB
import{d as L,r as C,u as K}from"./main-OCJB5534.js";import{$n as gM,Bi as ym,Cn as _T,Di as wf,Dn as _y,Dr as lo,Dt as Qe,F as HY,Fi as xi,Gn as dT,In as by,It as Sn,Kr as oT,Lt as Sy,Ni as xe,P as HT,Pi as xf,Pn as bm,Pr as mc,Qr as qC,Rn as co,T as Ee,Vn as cr,W as J,Xt as Uy,Zr as q,_ as Cf,ct as N,ei as qT,er as gT,gt as O,ii as rT,in as Wa,k as G0,lt as NA,mn as YQ,oi as rm,ot as Mf,pt as Nf,rn as WC,s as $y,t as $Y,ui as sp,ur as iT,vi as uc,vr as jy,vt as P$1,w as Eb,wi as vt,wn as _e,wr as lc,zi as yS,zn as cp}from"./chunk-CHqDEyfr.js";import{n as u,t as f}from"./chunk-DolM25Wu.js";import"./chunk-CPClUPec.js";import{n as x,t as Q}from"./chunk-CyniViPG.js";import{n as bi,t as _t}from"./chunk-DjVJBOYc.js";import{t as h}from"./chunk-CWEwaFv9.js";import{n as Le,s as zt}from"./chunk-CyaMV1f5.js";import{i as ht,n as Pe,r as U,t as It}from"./chunk-BM0xjj91.js";import{C as xn,S as un,a as He,c as Rn,g as kn,i as Gn,o as Jt,p as ht$1,t as Bn,y as on}from"./chunk-B_FU7ynV.js";import{a as se,i as lt,n as ae,r as gt,t as Qt}from"./chunk-CNSP-oVC.js";import{n as wt,r as yt,t as K$1}from"./chunk-CGgWGJ3E.js";import"./chunk-CFyh5uM7.js";import{c as _t$1,d as qe,i as Qt$1,o as U$1,p as xt,t as Be}from"./chunk-CLjqwtZV.js";import{i as ze,t as Oe}from"./chunk-BYtjyP-K.js";import"./chunk-DxgAwx0L.js";import{t as lt$1}from"./chunk-Cc4dc3EH2.js";import"./chunk-CaLi_qYn2.js";import"./chunk-C73tB7I62.js";import{a as qo,i as gr,r as X,t as $}from"./chunk-CARSOUZ02.js";import{i as Lt,n as G,r as I,t as Bt}from"./chunk-o3jniB9o2.js";import{t as T}from"./chunk-CWVY7TNb.js";import{a as di,c as mi,i as bt,l as q$1,o as dt}from"./chunk-CMQBeVtl.js";import{n as b,t as P$2}from"./chunk-BTZfv3-Q.js";import{t as u$1}from"./chunk-DRjhgUxm2.js";import{t as D}from"./chunk-BXYGriq12.js";import{t as r}from"./chunk-Ct6w_G_k2.js";var j2=[{path:`info`,loadComponent:()=>import(`./chunk-D7IsjuME2.js`).then(H=>H.InfoComponent)},{path:`settings`,loadComponent:()=>import(`./chunk-CPR6ZGnO.js`).then(H=>H.SettingsComponent)},{path:`database`,loadComponent:()=>import(`./chunk-B1Ks9as9.js`).then(H=>H.DatabaseComponent),children:[{path:`statistics`,loadComponent:()=>import(`./chunk-CW5TPf8z.js`).then(H=>H.StatisticsComponent)},{path:`key/:key`,loadComponent:()=>import(`./chunk-dWG2N2Ik.js`).then(H=>H.DatabaseKeyComponent)},{path:``,redirectTo:`statistics`,pathMatch:`full`}]},{path:`search`,loadComponent:()=>import(`./chunk-C4FZWXoh2.js`).then(H=>H.SearchComponent)},{path:`monitoring`,loadComponent:()=>import(`./chunk-7Dgkdx_e2.js`).then(H=>H.MonitoringShellComponent),children:[{path:``,loadComponent:()=>import(`./chunk-C2ZMNfz92.js`).then(H=>H.MonitoringComponent)},{path:`profiler`,loadComponent:()=>import(`./chunk-CB7qflq1.js`).then(H=>H.ProfilerComponent)},{path:`pubsub`,loadComponent:()=>import(`./chunk-DKfYR8UP.js`).then(H=>H.PubsubComponent)},{path:`analysis`,loadComponent:()=>import(`./chunk-Dg6osalm2.js`).then(H=>H.MemoryAnalysisComponent)}]},{path:``,redirectTo:`settings`,pathMatch:`full`},{path:`**`,redirectTo:`settings`}];var R1=`p3xr-auth-token`;function d3(){return``}var _1=(()=>{class H{authRequired=xe(!1);isAuthenticated=xe(!1);authChecked=xe(!1);loginError=xe(``);apiBase=d3();checkAuthStatus(){return L(this,null,function*(){try{let L=yield(yield fetch(`${this.apiBase}/api/auth-status`)).json();if(this.authRequired.set(L.enabled),!L.enabled)this.isAuthenticated.set(!0);else{let V=this.getToken();if(V){let t=yield(yield fetch(`${this.apiBase}/api/verify-token`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:V})})).json();this.isAuthenticated.set(t.valid),t.valid||localStorage.removeItem(R1)}}}catch(C){this.isAuthenticated.set(!0)}this.authChecked.set(!0)})}login(C,L$1){return L(this,null,function*(){this.loginError.set(``);try{let e=yield(yield fetch(`${this.apiBase}/api/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:C,password:L$1})})).json();return e.status===`ok`&&e.token?(localStorage.setItem(R1,e.token),this.isAuthenticated.set(!0),!0):(this.loginError.set(e.error||`login_failed`),!1)}catch(V){return this.loginError.set(`network_error`),!1}})}getToken(){try{return localStorage.getItem(R1)}catch(C){return null}}logout(){try{localStorage.removeItem(R1)}catch(C){}location.reload()}static ɵfac=function(L){return new(L||H)};static ɵprov=P$1({token:H,factory:H.ɵfac,providedIn:`root`})}return H})();var $2=`M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z`;var X2=`M3,3H21V7H3V3M4,8H20V21H4V8M9.5,11A0.5,0.5 0 0,0 9,11.5V13H15V11.5A0.5,0.5 0 0,0 14.5,11H9.5Z`;var J2=`M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.31,21 7,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12`;var Y2=`M19 2L14 6.5V17.5L19 13V2M6.5 5C4.55 5 2.45 5.4 1 6.5V21.16C1 21.41 1.25 21.66 1.5 21.66C1.6 21.66 1.65 21.59 1.75 21.59C3.1 20.94 5.05 20.5 6.5 20.5C8.45 20.5 10.55 20.9 12 22C13.35 21.15 15.8 20.5 17.5 20.5C19.15 20.5 20.85 20.81 22.25 21.56C22.35 21.61 22.4 21.59 22.5 21.59C22.75 21.59 23 21.34 23 21.09V6.5C22.4 6.05 21.75 5.75 21 5.5V19C19.9 18.65 18.7 18.5 17.5 18.5C15.8 18.5 13.35 19.15 12 20V6.5C10.55 5.4 8.45 5 6.5 5Z`;var C5=`M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z`;var Q1=`M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z`;var H5=`M16,11.78L20.24,4.45L21.97,5.45L16.74,14.5L10.23,10.75L5.46,19H22V21H2V3H4V17.54L9.5,8L16,11.78Z`;var V5=`M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z`;var L5=`M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z`;var M5=`M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z`;var U1=`M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z`;var e5=`M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z`;var K1=`M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z`;var r5=`M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z`;var t5=`M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z`;var i5=`M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M6,6V18H10V16H8V8H10V6H6M16,16H14V18H18V6H14V8H16V16Z`;var o5=`M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z`;var a5=`M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M5,5V7H19V5H5M5,9V11H13V9H5M5,13V15H15V13H5Z`;var A5=`M20,19V7H4V19H20M20,3A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5C2,3.89 2.9,3 4,3H20M13,17V15H18V17H13M9.58,13L5.57,9H8.4L11.7,12.3C12.09,12.69 12.09,13.33 11.7,13.72L8.42,17H5.59L9.58,13Z`;var n5=`M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z`;var d5=`M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z`;var m5=`M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z`;var p5=`M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8.46,11.88L9.87,10.47L12,12.59L14.12,10.47L15.53,11.88L13.41,14L15.53,16.12L14.12,17.53L12,15.41L9.88,17.53L8.47,16.12L10.59,14L8.46,11.88M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z`;var l5=`M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z`;var x5=`M7,9A2,2 0 0,1 5,7A2,2 0 0,1 7,5A2,2 0 0,1 9,7A2,2 0 0,1 7,9M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,19A2,2 0 0,1 5,17A2,2 0 0,1 7,15A2,2 0 0,1 9,17A2,2 0 0,1 7,19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z`;var q1=`M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z`;var v5=`M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z`;var Z5=`M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z`;var u5=`M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z`;var s5=`M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z`;var c5=`M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z`;var S5=`M10,13H22V11H10M10,19H22V17H10M10,7H22V5H10M6,7H8.5L5,3.5L1.5,7H4V17H1.5L5,20.5L8.5,17H6V7Z`;var h5=`M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z`;var O5=`M19.5 17C19.37 17 19.24 17 19.11 17.04L17.5 13.79C17.95 13.34 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.62 9.5 15.5 9.5 15.36 9.54L13.73 6.29C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.21 9.79 5.84 10.26 6.29L8.64 9.54C8.5 9.5 8.38 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.05 13.34 6.5 13.79L4.89 17.04C4.76 17 4.63 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.64 14.46L10.27 17.71C9.8 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.79C10.46 13.34 10.75 12.71 10.75 12S10.46 10.66 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7S12.26 7 12.39 6.96L14 10.21C13.55 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.14 14.46L17.77 17.71C17.3 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17Z`;var g5=`M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z`;var f5=`M7.5,4A5.5,5.5 0 0,0 2,9.5C2,10 2.09,10.5 2.22,11H6.3L7.57,7.63C7.87,6.83 9.05,6.75 9.43,7.63L11.5,13L12.09,11.58C12.22,11.25 12.57,11 13,11H21.78C21.91,10.5 22,10 22,9.5A5.5,5.5 0 0,0 16.5,4C14.64,4 13,4.93 12,6.34C11,4.93 9.36,4 7.5,4V4M3,12.5A1,1 0 0,0 2,13.5A1,1 0 0,0 3,14.5H5.44L11,20C12,20.9 12,20.9 13,20L18.56,14.5H21A1,1 0 0,0 22,13.5A1,1 0 0,0 21,12.5H13.4L12.47,14.8C12.07,15.81 10.92,15.67 10.55,14.83L8.5,9.5L7.54,11.83C7.39,12.21 7.05,12.5 6.6,12.5H3Z`;var k5=`M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z`;var b5=`M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z`;var w5=`M11 7L9.6 8.4L12.2 11H2V13H12.2L9.6 15.6L11 17L16 12L11 7M20 19H12V21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3H12V5H20V19Z`;var y5=`M17 7L15.59 8.41L18.17 11H8V13H18.17L15.59 15.58L17 17L22 12M4 5H12V3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H12V19H4V5Z`;var T5=`M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z`;var B5=`M19,13H5V11H19V13Z`;var P5=`M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,12V14H19V12H5M5,16V18H14V16H5Z`;var F5=`M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z`;var R5=`M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z`;var _5=`M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z`;var E5=`M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z`;var D5=`M5.41,21L6.12,17H2.12L2.47,15H6.47L7.53,9H3.53L3.88,7H7.88L8.59,3H10.59L9.88,7H15.88L16.59,3H18.59L17.88,7H21.88L21.53,9H17.53L16.47,15H20.47L20.12,17H16.12L15.41,21H13.41L14.12,17H8.12L7.41,21H5.41M9.53,9L8.47,15H14.47L15.53,9H9.53Z`;var I5=`M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13`;var N5=`M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z`;var W5=`M16,18H18V6H16M6,18L14.5,12L6,6V18Z`;var z5=`M6,18V6H8V18H6M9.5,12L18,6V18L9.5,12Z`;var G5=`M9,3L5,7H8V14H10V7H13M16,17V10H14V17H11L15,21L19,17H16Z`;var Q5=`M19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C17 22 21 17.97 21 13C21 10.88 20.26 8.93 19.03 7.39M13 14H11V7H13V14M15 1H9V3H15V1Z`;var U5=`M6,2H18V8H18V8L14,12L18,16V16H18V22H6V16H6V16L10,12L6,8V8H6V2M16,16.5L12,12.5L8,16.5V20H16V16.5M12,11.5L16,7.5V4H8V7.5L12,11.5M10,6H14V6.75L12,8.75L10,6.75V6Z`;var K5=`M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z`;var q5=`M16.59,5.41L15.17,4L12,7.17L8.83,4L7.41,5.41L12,10M7.41,18.59L8.83,20L12,16.83L15.17,20L16.58,18.59L12,14L7.41,18.59Z`;var j5=`M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z`;var j1=`M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z`;var m3={account_tree:s5,add:_5,add_box:E5,analytics:Q1,archive:X2,auto_graph:O5,backspace:J2,bar_chart:Q1,cancel:C5,check_box:M5,check_box_outline_blank:L5,chevron_right:K1,close:t5,color_lens:F5,content_copy:n5,data_array:i5,delete:m5,delete_forever:p5,delete_sweep:l5,description:u5,difference:G5,done:V5,download:q1,edit:R5,expand_more:U1,favorite:g5,file_download:q1,file_upload:j1,fingerprint:c5,format_line_spacing:S5,forum:h5,hourglass_empty:U5,image:k5,info:b5,keyboard_arrow_down:U1,keyboard_arrow_left:e5,keyboard_arrow_right:K1,keyboard_arrow_up:r5,login:w5,logout:y5,menu_book:Y2,mode_comment:a5,monitor_heart:f5,notes:P5,numbers:D5,person:$2,power:I5,refresh:N5,remove:B5,save:d5,search:T5,settings:o5,show_chart:H5,skip_next:W5,skip_previous:z5,storage:x5,terminal:A5,timer:Q5,undo:K5,unfold_less:q5,unfold_more:j5,upload:j1,visibility:v5,visibility_off:Z5,wrap_text:`M21,5H3V7H21V5M3,19H10V17H3V19M3,13H18C19,13 20,13.43 20,15C20,16.57 19,17 18,17H16V15L12,18L16,21V19H18C20.95,19 22,17.73 22,15C22,12.28 21,11 18,11H3V13Z`};var X5=(()=>{class H{iconRegistry;sanitizer;constructor(C,L){this.iconRegistry=C,this.sanitizer=L}registerAll(){for(let[C,L]of Object.entries(m3)){let V=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="${L}" fill="currentColor"/></svg>`;this.iconRegistry.addSvgIconLiteral(C,this.sanitizer.bypassSecurityTrustHtml(V))}}static ɵfac=function(L){return new(L||H)(N(K$1),N(sp))};static ɵprov=P$1({token:H,factory:H.ɵfac,providedIn:`root`})}return H})();function x3(H,r){if(H&1&&(Wa(0,`div`,18),HT(1),wf()),H&2){let C=gT();Sn(),Nf(` `,C.getErrorMessage(C.auth.loginError()),` `)}}var C3=(()=>{class H{i18n;auth;username=``;password=``;loading=!1;hidePassword=!0;currentGui=`ng`;constructor(C,L){this.i18n=C,this.auth=L;try{this.currentGui=localStorage.getItem(`p3xr-frontend`)||`ng`}catch(V){}}onLogin(){return L(this,null,function*(){if(this.loading||!this.username||!this.password)return;this.loading=!0,(yield this.auth.login(this.username,this.password))&&location.reload(),this.loading=!1})}switchGui(C){this.currentGui=C,r(C)}getErrorMessage(C){return this.i18n.strings()?.confirm?.invalidCredentials}static ɵfac=function(L){return new(L||H)(Qe(YQ),Qe(_1))};static ɵcmp=Ee({type:H,selectors:[[`p3xr-login`]],decls:42,vars:16,consts:[[`guiMenu`,``],[1,`p3xr-login-dialog-wrapper`],[1,`p3xr-login-dialog`],[`novalidate`,``,3,`ngSubmit`],[1,`p3xr-dialog-toolbar`,`p3xr-mat-layout-strong`],[1,`p3xr-layout-spacer`],[`mat-button`,``,`type`,`button`,2,`color`,`rgba(255,255,255,0.87)`,3,`matMenuTriggerFor`],[2,`margin-right`,`4px`],[`mat-menu-item`,``,3,`click`],[1,`fab`,`fa-angular`,2,`font-size`,`18px`,`width`,`24px`,`text-align`,`center`,`margin-right`,`8px`,`color`,`#dd0031`],[1,`fab`,`fa-react`,2,`font-size`,`18px`,`width`,`24px`,`text-align`,`center`,`margin-right`,`8px`,`color`,`#61dafb`],[1,`fab`,`fa-vuejs`,2,`font-size`,`18px`,`width`,`24px`,`text-align`,`center`,`margin-right`,`8px`,`color`,`#42b883`],[1,`p3xr-dialog-content`],[1,`full-width`],[`matPrefix`,``],[`matInput`,``,`name`,`username`,`type`,`text`,`autocomplete`,`username`,3,`ngModelChange`,`ngModel`],[`matInput`,``,`name`,`password`,`autocomplete`,`current-password`,3,`ngModelChange`,`keydown.enter`,`type`,`ngModel`],[`mat-icon-button`,``,`matSuffix`,``,`type`,`button`,3,`click`],[1,`p3xr-login-error`],[1,`p3xr-dialog-actions`,2,`display`,`flex`,`justify-content`,`flex-end`,`padding`,`8px`,`gap`,`8px`],[`mat-raised-button`,``,`type`,`submit`,1,`btn-primary`,3,`disabled`]],template:function(L,V){if(L&1){let e=dT();Wa(0,`div`,1)(1,`div`,2)(2,`form`,3),Sy(`ngSubmit`,function(){return V.onLogin()}),Wa(3,`mat-toolbar`,4),_y(4,`span`,5),Wa(5,`button`,6)(6,`mat-icon`,7),HT(7,`desktop_windows`),wf(),HT(8,` GUI `),wf(),Wa(9,`mat-menu`,null,0)(11,`button`,8),Sy(`click`,function(){return V.switchGui(`ng`)}),_y(12,`i`,9),HT(13,` Angular `),wf(),Wa(14,`button`,8),Sy(`click`,function(){return V.switchGui(`react`)}),_y(15,`i`,10),HT(16,` React `),wf(),Wa(17,`button`,8),Sy(`click`,function(){return V.switchGui(`vue`)}),_y(18,`i`,11),HT(19,` Vue `),wf()()(),Wa(20,`div`,12)(21,`mat-form-field`,13)(22,`mat-label`),HT(23),wf(),Wa(24,`mat-icon`,14),HT(25,`person`),wf(),Wa(26,`input`,15),$y(`ngModelChange`,function(n){return ym(e),qT(V.username,n)||(V.username=n),bm(n)}),wf(),WC(),wf(),Wa(27,`mat-form-field`,13)(28,`mat-label`),HT(29),wf(),Wa(30,`mat-icon`,14),HT(31,`lock`),wf(),Wa(32,`input`,16),$y(`ngModelChange`,function(n){return ym(e),qT(V.password,n)||(V.password=n),bm(n)}),Sy(`keydown.enter`,function(){return V.onLogin()}),wf(),WC(),Wa(33,`button`,17),Sy(`click`,function(){return V.hidePassword=!V.hidePassword}),Wa(34,`mat-icon`),HT(35),wf()()(),co(36,x3,2,1,`div`,18),wf(),Wa(37,`div`,19)(38,`button`,20)(39,`mat-icon`),HT(40,`login`),wf(),HT(41),wf()()()()()}if(L&2){let e=_T(10);Sn(5),by(`matMenuTriggerFor`,e),Sn(6),vt(`p3xr-mat-menu-item-selected`,V.currentGui===`ng`),Sn(3),vt(`p3xr-mat-menu-item-selected`,V.currentGui===`react`),Sn(3),vt(`p3xr-mat-menu-item-selected`,V.currentGui===`vue`),Sn(6),jy(V.i18n.strings().form?.connection?.label?.username),Sn(3),Uy(`ngModel`,V.username),qC(),Sn(3),jy(V.i18n.strings().form?.connection?.label?.password),Sn(3),by(`type`,V.hidePassword?`password`:`text`),Uy(`ngModel`,V.password),qC(),Sn(3),jy(V.hidePassword?`visibility_off`:`visibility`),Sn(),lo(V.auth.loginError()?36:-1),Sn(2),by(`disabled`,V.loading||!V.username||!V.password),Sn(3),Nf(` `,V.i18n.strings().intention?.ok,` `)}},dependencies:[Eb,Gn,kn,He,xn,Rn,on,Jt,Qt$1,qe,U$1,_t$1,xt,Oe,ze,$Y,HY,G0,yt,wt,ae,se,Lt,I,G,Bt],styles:[`.p3xr-login-dialog-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 96px)}.p3xr-login-dialog[_ngcontent-%COMP%]{width:400px;max-width:calc(100vw - 32px);border-radius:4px;overflow:hidden;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.full-width[_ngcontent-%COMP%]{width:100%}.p3xr-login-error[_ngcontent-%COMP%]{color:#f44336;font-size:13px;margin:4px 0 8px}.p3xr-layout-spacer[_ngcontent-%COMP%]{flex:1 1 auto}`]})}return H})();var H3=(()=>{class H{dialog;constructor(C){this.dialog=C}show(){return L(this,null,function*(){let{AiCheatsheetDialogComponent:C}=yield import(`./chunk-JsXFZK71.js`),L=this.dialog.open(C,h({width:`720px`,maxWidth:`95vw`,maxHeight:`90vh`}));return new Promise(V=>{L.afterClosed().subscribe(e=>V(e))})})}static ɵfac=function(L){return new(L||H)(N(Le))};static ɵprov=P$1({token:H,factory:H.ɵfac,providedIn:`root`})}return H})();var P=K(C());var Z3=(H,r)=>r.group;var u3=(H,r)=>r.name;function s3(H,r){if(H&1){let C=dT();Wa(0,`span`,22),Sy(`click`,function(){ym(C);let V=gT(2);return bm(V.aiAutoDetect=!V.aiAutoDetect)}),Wa(1,`span`,23),HT(2),wf(),Wa(3,`span`),HT(4,`Auto AI`),wf()()}if(H&2){let C=gT(2);Sn(2),jy(C.aiAutoDetect?`check_box`:`check_box_outline_blank`)}}function c3(H,r){if(H&1){let C=dT();Wa(0,`span`,15),HT(1,`terminal`),wf(),Wa(2,`span`,16),HT(3),wf(),_y(4,`span`,17),Wa(5,`span`,18),co(6,s3,5,1,`span`,19),Wa(7,`p3xr-ng-button`,20),Sy(`click`,function(V){ym(C);return bm(gT().openCommands(V))}),wf(),Wa(8,`p3xr-ng-button`,21),Sy(`click`,function(){ym(C);return bm(gT().clearConsole())}),wf()()}if(H&2){let C=gT();Sn(3),jy(C.strings().label?.console),Sn(3),lo(C.isAiGloballyEnabled()?6:-1),Sn(),by(`label`,C.strings().label?.redisCommandsReference),Sn(),by(`label`,C.strings().intention?.clear)}}function S3(H,r){if(H&1){let C=dT();Wa(0,`span`,22),Sy(`click`,function(){ym(C);let V=gT(2);return bm(V.aiAutoDetect=!V.aiAutoDetect)}),Wa(1,`span`,23),HT(2),wf(),Wa(3,`span`),HT(4,`Auto AI`),wf()()}if(H&2){let C=gT(2);Sn(2),jy(C.aiAutoDetect?`check_box`:`check_box_outline_blank`)}}function h3(H,r){if(H&1){let C=dT();Wa(0,`p3xr-ng-button`,26),Sy(`click`,function(){ym(C);return bm(gT(2).closeConsole())}),wf()}if(H&2)by(`label`,gT(2).strings().intention?.close)}function O3(H,r){if(H&1){let C=dT();Wa(0,`button`,27),Sy(`click`,function(){ym(C);return bm(gT(2).requestClose())}),Wa(1,`mat-icon`),HT(2,`keyboard_arrow_down`),wf()()}if(H&2){let C=gT(2);by(`matTooltip`,C.strings().label?.consoleDrawer?.closeTooltip??C.strings().intention?.close??``),xi(`aria-label`,C.strings().label?.consoleDrawer?.closeTooltip??C.strings().intention?.close??``)}}function g3(H,r){if(H&1){let C=dT();Wa(0,`span`,15),HT(1,`terminal`),wf(),Wa(2,`span`,16),HT(3),wf(),_y(4,`span`,17),Wa(5,`span`,18),co(6,S3,5,1,`span`,19),Wa(7,`p3xr-ng-button`,20),Sy(`click`,function(V){ym(C);return bm(gT().openCommands(V))}),wf(),Wa(8,`p3xr-ng-button`,21),Sy(`click`,function(){ym(C);return bm(gT().clearConsole())}),wf(),co(9,h3,1,1,`p3xr-ng-button`,24),co(10,O3,3,2,`button`,25),wf()}if(H&2){let C=gT();Sn(3),jy(C.embedded?C.strings().label?.console:C.strings().intention?.quickConsole),Sn(3),lo(C.isAiGloballyEnabled()?6:-1),Sn(),by(`label`,C.strings().label?.redisCommandsReference),Sn(),by(`label`,C.strings().intention?.clear),Sn(),lo(C.embedded?-1:9),Sn(),lo(C.showCloseButton?10:-1)}}function f3(H,r){if(H&1){let C=dT();Wa(0,`div`,28),Sy(`mousedown`,function(){ym(C);return bm(gT().dragStart())})(`mouseup`,function(){ym(C);return bm(gT().dragEnd())}),wf()}}function k3(H,r){H&1&&_y(0,`div`,8)}function b3(H,r){if(H&1&&(Wa(0,`div`,10),HT(1),wf()),H&2){let C=gT();Sn(),jy(C.currentHint)}}function w3(H,r){if(H&1){let C=dT();Wa(0,`button`,29),Sy(`click`,function(){ym(C);return bm(gT().stopAi())}),Wa(1,`mat-icon`),HT(2,`stop_circle`),wf()()}if(H&2)by(`matTooltip`,gT().strings().intention?.cancel)}function y3(H,r){if(H&1&&(Wa(0,`span`,32),HT(1),wf()),H&2){let C=gT().$implicit;Sn(),jy(C.syntax)}}function T3(H,r){if(H&1&&(Wa(0,`mat-option`,30)(1,`span`,31),HT(2),wf(),co(3,y3,2,1,`span`,32),wf()),H&2){let C=r.$implicit;by(`value`,C.name),Sn(2),jy(C.name),Sn(),lo(C.syntax?3:-1)}}function B3(H,r){if(H&1&&(Wa(0,`mat-optgroup`,14),oT(1,T3,4,3,`mat-option`,30,u3),wf()),H&2){let C=r.$implicit;by(`label`,C.group),Sn(),iT(C.commands)}}var X1=`p3xr-console-output-v1`;var J1=10*1024*1024;var F=-1;var V3=(()=>{class H{ngZone;elementRef;i18n;common;socket;redisParser;cmd;state;cheatsheet;cdr;type=``;embedded=!1;showCloseButton=!1;closeRequest=new J;requestClose(){this.closeRequest.emit()}searchText=``;searchControl=new ht$1(``);filteredCommands=[];currentHint=``;aiLoading=!1;aiRequestSeq=0;get aiAutoDetect(){try{return localStorage.getItem(`p3xr-ai-auto-detect`)!==`false`}catch(C){return!0}}set aiAutoDetect(C){try{localStorage.setItem(`p3xr-ai-auto-detect`,String(C))}catch(L){}}strings;contentClicked=!1;unsubs=[];index=0;singleLineHeight=0;aiCommandPending=!1;containerEl=null;headerEl=null;footerEl=null;consoleHeaderEl=null;outputEl=null;autocompleteEl=null;inputEl=null;scrollers=null;persistOutputDebounced;inputFocusHandler;inputResizeHandler;inputBlurHandler;resizeFn;constructor(C,L,V,e,t,n,h,S,s,m){this.ngZone=C,this.elementRef=L,this.i18n=V,this.common=e,this.socket=t,this.redisParser=n,this.cmd=h,this.state=S,this.cheatsheet=s,this.cdr=m,this.strings=this.i18n.strings}ngOnInit(){this.searchControl.valueChanges.subscribe(C=>{this.searchText=C||``,this.autoResizeTextarea();let L=this.state.commands(),V=this.state.commandsMeta(),e=(C||``).trim().split(/\s+/)[0]?.toUpperCase();if(e&&V[e]?.syntax?this.currentHint=e+` `+V[e].syntax:this.currentHint=``,C&&C.length>0&&L?.length>0){let t=C.toUpperCase(),n=L.filter(S=>S.toUpperCase().includes(t)).slice(0,20),h=new Map;for(let S of n){let s=V[S.toUpperCase()],m=s?.group||`Other`,b=s?.syntax||``;h.has(m)||h.set(m,[]),h.get(m).push({name:S,syntax:b})}this.filteredCommands=Array.from(h.entries()).map(([S,s])=>({group:S,commands:s}))}else this.filteredCommands=[]})}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>this.initJQuery())}ngOnDestroy(){this.elementRef.nativeElement.classList.remove(`p3xr-console-embedded-collapsed`),this.persistOutputDebounced?.flush?this.persistOutputDebounced.flush():this.persistConsoleOutputNow(),this.inputEl&&(this.inputFocusHandler&&this.inputEl.removeEventListener(`focus`,this.inputFocusHandler),this.inputBlurHandler&&this.inputEl.removeEventListener(`blur`,this.inputBlurHandler),this.inputResizeHandler&&(this.inputEl.removeEventListener(`focus`,this.inputResizeHandler),this.inputEl.removeEventListener(`blur`,this.inputResizeHandler))),window.removeEventListener(`resize`,this.resizeFn),this.unsubs.forEach(C=>C())}emitToAngularJS(C,L){switch(C){case`p3xr-console-activate`:this.cmd.consoleActivate$.next();break;case`p3xr-console-deactivate`:this.cmd.consoleDeactivate$.next();break;case`p3xr-console-embedded-resize`:this.cmd.consoleEmbeddedResize$.next();break;default:break}}isAiGloballyEnabled(){return this.state.cfg()?.aiEnabled!==!1}activate(){this.embedded&&(this.emitToAngularJS(`p3xr-console-activate`),this.forceScrollToBottom())}onContentMouseDown(C){this.contentClicked=!0,setTimeout(()=>{this.contentClicked=!1},500)}aiExecuting=!1;actionEnter(){return L(this,null,function*(){let C=(this.searchText||``).trim();if(C&&!this.aiLoading)try{let L=C.split(`
`).map(t=>t.trim()).filter(t=>t.length>0);if(L.length===0)return;let V=L[0].split(/\s+/)[0].toUpperCase();if(L.length===1||V===`EVAL`||V===`EVALSHA`)yield this.executeSingleLine(C);else for(let t of L)yield this.executeSingleLine(t)}finally{this.updateCommandHistory(C),this.currentHint=``,this.aiCommandPending?this.aiCommandPending=!1:(this.searchText=``,this.searchControl.setValue(``),setTimeout(()=>this.autoResizeTextarea(),0)),this.forceScrollToBottom(),(this.type===`quick`||this.embedded)&&this.cmd.refresh({withoutParent:!0}),this.inputEl?.focus()}})}executeSingleLine(C){return L(this,null,function*(){let L=C.trim();if(L){if(this.state.cfg()?.aiEnabled!==!1&&/^ai:\s*/i.test(L)){let V=L.replace(/^ai:\s*/i,``).trim();V&&(yield this.handleAiQuery(V,L));return}try{let V=yield this.socket.request({action:`redis/console`,payload:{command:L}}),e=(0,P.htmlEncode)(String(this.redisParser.consoleParse(V.result)));this.aiExecuting?e.replace(/&nbsp;/g,``).trim().length>0&&this.outputEl&&(this.outputEl.insertAdjacentHTML(`beforeend`,`<span data-index="${this.index++}" class="p3xr-console-ai-result"><pre>${e}</pre><br/></span>`),this.persistOutputDebounced?.()):this.outputAppend(`<strong>${(0,P.htmlEncode)(L)}</strong><br/><pre>${e}</pre>`),V.hasOwnProperty(`database`)&&(this.state.currentDatabase.set(V.database),this.state.redisChanged.set(!0),this.socket.stateChanged$.next())}catch(V){console.error(V);let e=V.message||``;if(this.state.cfg()?.aiEnabled!==!1&&this.aiAutoDetect&&this.looksLikeNaturalLanguage(L,e)){if(yield this.handleAiQuery(L,L))return;this.outputAppend(`<strong>${(0,P.htmlEncode)(L)}</strong><br/><pre style="color: var(--p3xr-btn-warn-bg);">${this.i18n.strings().code?.[e]||e}</pre>`);return}this.outputAppend(`<strong>${(0,P.htmlEncode)(L)}</strong><br/><pre style="color: var(--p3xr-btn-warn-bg);">${this.i18n.strings().code?.[e]||e}</pre>`)}}})}looksLikeNaturalLanguage(C,L){if(!/unknown command|wrong number of arguments|ERR unknown|not_connected/i.test(L))return!1;let e=C.trim().split(/\s+/)[0].toUpperCase();return!this.state.commands()?.includes(e)}handleAiQuery(C,L$2){return L(this,null,function*(){if(C.length>4096)return this.common.toast(this.i18n.strings()?.error?.aiPromptTooLong),!1;let V=++this.aiRequestSeq;this.aiLoading=!0,this.cdr.markForCheck(),this.inputEl?.focus();try{let e=[];try{e=(yield this.socket.request({action:`search/list`,payload:{}})).data||[]}catch(k){}let t=this.state.info()||{},n=t.server||{},h=t.clients||{},S=t.memory||{},s=t.keyspace||{},m={indexes:e};n.redis_version&&(m.redisVersion=n.redis_version),n.redis_mode&&(m.redisMode=n.redis_mode),n.os&&(m.os=n.os),h.connected_clients&&(m.connectedClients=h.connected_clients),S.used_memory_human&&(m.usedMemory=S.used_memory_human);let b=Object.keys(s).filter(k=>/^db\d+$/.test(k));b.length>0&&(m.databases=b.map(k=>`${k}: ${s[k]}`)),this.state.modules()?.length>0&&(m.modules=this.state.modules()),m.uiLanguage=this.i18n.currentLang(),m.connectionState=this.state.connectionState(),m.currentPage=this.state.currentPage();let E=this.state.connection();E?.name&&(m.connectionName=E.name);let j=this.state.currentDatabase();j!==void 0&&(m.currentDatabase=j);let D=yield this.socket.request({action:`ai/redis-query`,payload:{prompt:C,context:m}});if(V!==this.aiRequestSeq)return!1;let R=D.command||``,_=D.explanation||``,I=Array.isArray(D.toolTrail)?D.toolTrail:[];this.outputAppend(`<strong>${(0,P.htmlEncode)(L$2)}</strong>`),this.updateCommandHistory(L$2);for(let k of I){let l1=k.args&&Object.keys(k.args).length?`(`+Object.entries(k.args).map(([Y,w])=>`${Y}=${JSON.stringify(w)}`).join(`, `)+`)`:`()`,x1=`<span style="opacity: 0.85;"><strong>tool:</strong> <code>${(0,P.htmlEncode)(k.name+l1)}</code> <span style="opacity: 0.6;">${k.ms??0}ms</span></span>`;if(k.ok){let Y=String(k.result??``).split(`
`).slice(0,12).join(`
`);this.outputAppend(`${x1}<br/><pre style="opacity: 0.85; margin: 2px 0 6px 0;">${(0,P.htmlEncode)(Y)}</pre>`)}else this.outputAppend(`${x1}<br/><span style="color: var(--p3xr-btn-warn-bg);">${(0,P.htmlEncode)(k.error||`tool error`)}</span>`)}let J=I.length>0;if(R){let k=`<strong style="color: var(--p3xr-btn-primary-bg);">AI &rarr;</strong> <code>${(0,P.htmlEncode)(R)}</code>`;_&&(k+=`<pre>${(0,P.htmlEncode)(_)}</pre>`),this.outputAppend(k),J||(this.searchText=R,this.searchControl.setValue(R,{emitEvent:!1}),this.filteredCommands=[],this.aiCommandPending=!0,setTimeout(()=>this.autoResizeTextarea(),0))}else _&&this.outputAppend(`<pre>${(0,P.htmlEncode)(_)}</pre>`);return!0}catch(e){if(V!==this.aiRequestSeq)return!1;console.error(`ai-redis-query failed`,e);let t=e.message||String(e);return this.outputAppend(`<span style="color: var(--p3xr-btn-warn-bg);">AI error: ${(0,P.htmlEncode)(t)}</span>`),t.includes(`429`)||t.includes(`rate_limit`)||t.includes(`Rate limit`)?this.common.toast(this.i18n.strings().page?.key?.label?.aiRateLimited):this.common.toast(this.i18n.strings().page?.key?.label?.aiError+`: `+t),!1}finally{V===this.aiRequestSeq&&(this.aiLoading=!1,this.cdr.markForCheck(),this.forceScrollToBottom(),this.inputEl?.focus())}})}stopAi(){this.aiRequestSeq++,this.aiLoading=!1,this.searchText=``,this.searchControl.setValue(``,{emitEvent:!1}),this.filteredCommands=[],this.cdr.markForCheck(),setTimeout(()=>{this.autoResizeTextarea(),this.inputEl?.focus()},0)}onKeyDown(C){if(C.key===`Enter`){if(C.shiftKey){setTimeout(()=>this.autoResizeTextarea(),0);return}C.preventDefault(),this.actionEnter();return}if(this.filteredCommands.length>0&&(C.key===`ArrowDown`||C.key===`ArrowUp`))return;if(C.key!==`ArrowUp`&&C.key!==`ArrowDown`){F=-1;return}if(!C.shiftKey)return;let L=this.getActionHistory();if(L.length<1)return;C.preventDefault(),C.stopPropagation(),C.key===`ArrowDown`?(F===-1&&(F=L.length),F--,F<0&&(F=L.length-1)):(F++,F>=L.length&&(F=0));let V=L[F]??``;this.searchText=V,this.searchControl.setValue(V,{emitEvent:!1}),setTimeout(()=>{let e=this.inputEl;e&&(e.blur(),e.focus()),this.autoResizeTextarea()},0)}onAutocompleteSelected(C){this.searchText=C.option.value}clearConsole(){if(!this.outputEl)return;this.outputEl.innerHTML=``;let C=this.i18n.strings();this.outputAppend(`<strong>`+(C?.label?.welcomeConsole??`Welcome to the Redis Console`)+`</strong>`),this.outputAppend((C?.label?.welcomeConsoleInfo??`SHIFT + Cursor UP or DOWN history is enabled`)+`<br/>`),this.persistConsoleOutputNow(),this.forceScrollToBottom(),this.inputEl?.focus()}openCommands(C){return L(this,null,function*(){let L=yield this.cheatsheet.show();L&&(this.searchText=L,this.searchControl.setValue(L,{emitEvent:!1}),setTimeout(()=>{this.inputEl?.focus(),this.autoResizeTextarea()},0))})}closeConsole(){this.emitToAngularJS(`p3xr-quick-console-quit`)}dragStart(){this.embedded||this.emitToAngularJS(`p3xr-quick-console`,{start:!0})}dragEnd(){this.embedded||this.emitToAngularJS(`p3xr-quick-console`,{start:!1})}initJQuery(){let C=this.elementRef.nativeElement;this.containerEl=C.querySelector(`#p3xr-console-content`),this.headerEl=document.getElementById(`p3xr-layout-header-container`),this.footerEl=document.getElementById(`p3xr-layout-footer-container`),this.consoleHeaderEl=C.querySelector(`#p3xr-console-header`),this.outputEl=C.querySelector(`#p3xr-console-content-output`),this.autocompleteEl=C.querySelector(`#p3xr-console-autocomplete`),this.scrollers=this.containerEl,this.resizeFn=()=>this.rawResize(),window.addEventListener(`resize`,this.resizeFn),this.rawResize(),this.persistOutputDebounced=NA(()=>this.persistConsoleOutputNow(),100);let L=this.cmd.consoleEmbeddedResize$.subscribe(()=>{this.embedded&&this.rawResize()});this.unsubs.push(()=>L.unsubscribe()),setTimeout(()=>{this.inputEl=C.querySelector(`#p3xr-console-input`),this.setInputTheme(),this.restoreConsoleOutput()?this.forceScrollToBottom():this.clearConsole(),this.rawResize(),this.inputEl?.addEventListener(`paste`,()=>{setTimeout(()=>this.autoResizeTextarea(),0)}),this.inputResizeHandler=()=>setTimeout(()=>this.autoResizeTextarea(),0),this.inputEl?.addEventListener(`focus`,this.inputResizeHandler),this.inputEl?.addEventListener(`blur`,this.inputResizeHandler),this.embedded&&(this.inputFocusHandler=()=>{this.emitToAngularJS(`p3xr-console-activate`)},this.inputBlurHandler=()=>{setTimeout(()=>{if(this.contentClicked)return;let V=document.activeElement;if(V?.id===`p3xr-console-input`)return;let e=this.elementRef.nativeElement;if(e&&V&&e.contains(V))return;let t=window.getSelection();if(t&&t.toString().length>0){let n=t.getRangeAt?.(0);if(n&&e?.contains(n.commonAncestorContainer))return}this.emitToAngularJS(`p3xr-console-deactivate`)},0)},this.inputEl?.addEventListener(`focus`,this.inputFocusHandler),this.inputEl?.addEventListener(`blur`,this.inputBlurHandler))})}setInputTheme(){this.inputEl&&(this.inputEl.style.borderColor=`var(--p3xr-input-border-color, var(--p3xr-border-color))`,this.inputEl.style.backgroundColor=`var(--p3xr-input-bg)`,this.inputEl.style.color=`var(--p3xr-input-color)`)}rawResize(){if(!this.containerEl)return;if(this.embedded){let t=this.elementRef.nativeElement,h=t?.getBoundingClientRect()?.height||Math.floor(window.innerHeight*.33),S=this.consoleHeaderEl?.offsetHeight||0,s=this.autocompleteEl?.offsetHeight||44,m=h<=120;t.classList.toggle(`p3xr-console-embedded-collapsed`,m);let b=m?0:Math.max(h-S-s,0);this.containerEl.style.height=b+`px`,this.containerEl.style.maxHeight=b+`px`,this.containerEl.style.overflow=m?`hidden`:`auto`,this.containerEl.style.display=m?`none`:`block`,this.outputEl&&(this.outputEl.style.display=m?`none`:`block`);return}let C=this.containerEl.getBoundingClientRect().top,L=this.footerEl?.getBoundingClientRect().top??window.innerHeight,V=this.autocompleteEl?.offsetHeight||28,e=Math.max(L-C-V,0);this.containerEl.style.height=e+`px`,this.containerEl.style.maxHeight=e+`px`}autoResizeTextarea(){let C=this.inputEl;if(!C)return;if(this.singleLineHeight||(this.singleLineHeight=C.offsetHeight),!(document.activeElement===C)&&(C.value||``).includes(`
`)){C.style.height=this.singleLineHeight+`px`,C.style.overflowY=`hidden`,this.rawResize();return}if(C.style.height=this.singleLineHeight+`px`,C.style.overflowY=`hidden`,(C.value||``).includes(`
`)&&C.scrollHeight>C.clientHeight){let V=this.singleLineHeight*3,e=C.offsetHeight-C.clientHeight,t=C.scrollHeight+e;t>V?(C.style.height=V+`px`,C.style.overflowY=`auto`):C.style.height=t+`px`}this.rawResize()}outputAppend(C){!this.outputEl||!(C||``).replace(/<[^>]*>/g,``).replace(/&[a-z]+;/g,``).trim()||(this.outputEl.insertAdjacentHTML(`beforeend`,`<span data-index="${this.index++}" class="p3xr-console-content-output-item">${C}<br/></span>`),this.trimOutputToLimit(J1),this.persistOutputDebounced?.(),this.scrollOutputToBottom())}scrollOutputToBottom(){setTimeout(()=>{if(!this.scrollers)return;this.scrollers.scrollHeight-this.scrollers.scrollTop-this.scrollers.clientHeight<100&&(this.scrollers.scrollTop=this.scrollers.scrollHeight,this.outputEl&&(this.outputEl.scrollTop=this.outputEl.scrollHeight))},0)}forceScrollToBottom(){let C=()=>{this.scrollers&&(this.scrollers.scrollTop=this.scrollers.scrollHeight,this.outputEl&&(this.outputEl.scrollTop=this.outputEl.scrollHeight))};requestAnimationFrame(()=>{requestAnimationFrame(C)}),setTimeout(C,120)}trimOutputToLimit(C){if(!this.outputEl)return;let L=this.outputEl.innerHTML||``;for(;this.getByteSize(L)>C&&this.dropOldestOutputChunk();)L=this.outputEl.innerHTML||``}dropOldestOutputChunk(){if(!this.outputEl)return!1;let C=this.outputEl.querySelectorAll(`.p3xr-console-content-output-item`);if(C.length<1)return!1;let L=Math.max(Math.floor(C.length*.1),1);for(let V=0;V<L;V++)C[V].remove();return!0}getByteSize(C){try{return new Blob([C||``]).size}catch(L){return(C||``).length}}persistConsoleOutputNow(){if(this.outputEl)for(this.trimOutputToLimit(J1);;){let C=this.outputEl.innerHTML||``;try{localStorage.setItem(X1,C);return}catch(L){if(!this.dropOldestOutputChunk()){try{localStorage.removeItem(X1)}catch(V){}return}}}}restoreConsoleOutput(){if(!this.outputEl)return!1;let C=``;try{C=localStorage.getItem(X1)||``}catch(e){C=``}if(!C)return!1;this.outputEl.innerHTML=C,this.trimOutputToLimit(J1),this.persistConsoleOutputNow();let L=this.outputEl.querySelectorAll(`.p3xr-console-content-output-item`),V=L.length>0?L[L.length-1]:null;if(V){let e=Number(V.getAttribute(`data-index`));Number.isFinite(e)&&(this.index=e+1)}return!0}getActionHistory(){try{return JSON.parse(localStorage.getItem(`console-history`)||`[]`)}catch(C){return[]}}updateCommandHistory(C){let L=this.getActionHistory(),V=L.indexOf(C);V>-1&&L.splice(V,1),L.unshift(C),L.length>20&&(L=L.slice(0,20)),localStorage.setItem(`console-history`,JSON.stringify(L)),F=-1}static ɵfac=function(L){return new(L||H)(Qe(O),Qe(q),Qe(YQ),Qe(It),Qe(bi),Qe(Pe),Qe(P$2),Qe(Q),Qe(H3),Qe(mc))};static ɵcmp=Ee({type:H,selectors:[[`p3xr-console`]],inputs:{type:`type`,embedded:`embedded`,showCloseButton:`showCloseButton`},outputs:{closeRequest:`closeRequest`},decls:18,vars:29,consts:[[`auto`,`matAutocomplete`],[1,`p3xr-console-root`,3,`click`],[`id`,`p3xr-console-header`,1,`p3xr-console-toolbar`,`p3xr-accordion-toolbar`],[1,`p3xr-console-toolbar-tools`],[`id`,`p3xr-console-content`,3,`click`,`mousedown`],[2,`display`,`flex`,`flex-direction`,`row`,`align-items`,`stretch`,`min-height`,`100%`],[`id`,`p3xr-console-content-resizer`],[`id`,`p3xr-console-content-output`,2,`flex-grow`,`1`],[`id`,`p3xr-console-content-output`],[`id`,`p3xr-console-autocomplete`],[1,`p3xr-console-hint`],[`id`,`p3xr-console-input`,`rows`,`1`,`autocomplete`,`off`,1,`p3xr-input`,3,`keydown`,`formControl`,`matAutocomplete`,`readonly`,`placeholder`],[`type`,`button`,1,`p3xr-console-stop`,3,`matTooltip`],[`position`,`above`,1,`p3xr-console-autocomplete-panel`,3,`optionSelected`],[3,`label`],[1,`material-icons`,2,`margin-right`,`6px`],[1,`p3xr-console-title`],[1,`p3xr-toolbar-spacer`],[1,`p3xr-console-toolbar-actions`],[1,`p3xr-console-ai-toggle`],[`mdIcon`,`menu_book`,3,`click`,`label`],[`mdIcon`,`backspace`,3,`click`,`label`],[1,`p3xr-console-ai-toggle`,3,`click`],[1,`material-icons`],[`mdIcon`,`close`,3,`label`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,1,`p3xr-console-drawer-close`,3,`matTooltip`],[`mdIcon`,`close`,3,`click`,`label`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,1,`p3xr-console-drawer-close`,3,`click`,`matTooltip`],[`id`,`p3xr-console-content-resizer`,3,`mousedown`,`mouseup`],[`type`,`button`,1,`p3xr-console-stop`,3,`click`,`matTooltip`],[3,`value`],[1,`p3xr-autocomplete-cmd`],[1,`p3xr-autocomplete-syntax`]],template:function(L,V){if(L&1&&(Wa(0,`div`,1),Sy(`click`,function(){return V.activate()}),Wa(1,`mat-toolbar`,2)(2,`div`,3),co(3,c3,9,4)(4,g3,11,6),wf()(),Wa(5,`div`,4),Sy(`click`,function(t){return t.stopPropagation()})(`mousedown`,function(t){return V.onContentMouseDown(t)}),Wa(6,`div`,5),co(7,f3,1,0,`div`,6),_y(8,`div`,7),wf(),co(9,k3,1,0,`div`,8),wf(),Wa(10,`div`,9),co(11,b3,2,1,`div`,10),Wa(12,`textarea`,11),Sy(`keydown`,function(t){return V.onKeyDown(t)}),wf(),WC(),co(13,w3,3,1,`button`,12),Wa(14,`mat-autocomplete`,13,0),Sy(`optionSelected`,function(t){return V.onAutocompleteSelected(t)}),oT(16,B3,3,1,`mat-optgroup`,14,Z3),wf()()()),L&2){let e=_T(15);vt(`p3xr-console-root-embedded`,V.embedded),Sn(3),lo(V.type!==`quick`?3:4),Sn(2),vt(`p3xr-content-border-fixed`,V.type!==`quick`)(`layout-padding`,V.type!==`quick`),Sn(2),lo(V.type===`quick`&&!V.embedded?7:-1),Sn(2),lo(V.type!==`quick`?9:-1),Sn(),vt(`p3xr-console-autocomplete-quick`,V.type===`quick`)(`p3xr-console-autocomplete-embedded`,V.embedded),Sn(),lo(V.currentHint?11:-1),Sn(),uc(`background`,`var(--p3xr-input-bg)`)(`color`,`var(--p3xr-input-color)`)(`border-color`,V.aiLoading?`var(--mat-sys-primary, var(--p3xr-input-border-color))`:`var(--p3xr-input-border-color, var(--p3xr-border-color))`)(`padding-right`,V.aiLoading?`40px`:null),vt(`p3xr-input-ai-loading`,V.aiLoading),by(`formControl`,V.searchControl)(`matAutocomplete`,e)(`readonly`,V.aiLoading)(`placeholder`,V.aiLoading?V.strings().label?.aiTranslating:``),qC(),Sn(),lo(V.aiLoading?13:-1),Sn(3),iT(V.filteredCommands)}},dependencies:[Eb,Gn,He,xn,Bn,un,ae,se,Qt,gt,mi,di,q$1,dt,bt,Oe,Qt$1,$Y,G0,yt,wt,lt$1],styles:[`p3xr-console{display:block;width:100%;height:100%}.p3xr-console-root{display:flex;flex-direction:column;width:100%;height:100%}.p3xr-console-root-embedded{overflow:hidden}.p3xr-console-root-embedded #p3xr-console-content{flex:1 1 auto;min-height:0}p3xr-console .mat-toolbar{min-height:48px;height:48px;position:relative;z-index:2;padding:0}p3xr-console .mat-toolbar *{color:inherit}p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base){color:inherit!important;letter-spacing:.1px!important;text-transform:uppercase!important;height:36px!important;min-height:36px!important;min-width:auto!important;padding:0 8px!important;margin:0 8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base):hover{background-color:#00000014!important}p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base) *,p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base) .mdc-button__label{color:inherit!important;letter-spacing:.1px!important}p3xr-console .mat-toolbar mat-icon,p3xr-console .mat-toolbar .material-icons{font-size:24px;width:24px;height:24px}.p3xr-console-toolbar-tools{display:flex;align-items:center;width:100%;height:100%;padding:0 3px}.p3xr-console-toolbar-actions{display:inline-flex;align-items:center}p3xr-console .mat-toolbar .p3xr-console-ai-toggle{display:inline-flex;align-items:center;gap:2px;margin:0 8px;padding:0 8px;height:36px;cursor:pointer;color:inherit!important;font-size:13px;letter-spacing:.1px;text-transform:uppercase;border-radius:4px;-webkit-user-select:none;user-select:none}p3xr-console .mat-toolbar .p3xr-console-ai-toggle:hover{background-color:#00000014}p3xr-console .mat-toolbar .p3xr-console-ai-toggle .material-icons{font-size:20px;width:20px;height:20px}.p3xr-console-title{font-size:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p3xr-toolbar-spacer{flex:1 1 auto}#p3xr-console-content{font-family:Roboto Mono,monospace;font-size:13px;text-align:center;padding-left:4px}#p3xr-console-content #p3xr-console-content-resizer{cursor:ew-resize;position:relative;left:-10px;width:20px!important}#p3xr-console-content #p3xr-console-content-output{min-width:calc(100% - 20px);text-align:left;overflow:auto}#p3xr-console-content #p3xr-console-content-output pre{font-family:Roboto Mono,monospace;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.p3xr-console-content-output-item:before{content:"> ";opacity:.5}.p3xr-console-ai-result{display:block}#p3xr-console-autocomplete{position:relative;overflow:hidden;width:100%}.p3xr-input-ai-loading{opacity:.55;cursor:not-allowed!important}.p3xr-console-stop{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:transparent;border:none;padding:2px;margin:0;cursor:pointer;color:var(--%NS%p3xr-btn-primary-bg);display:flex;align-items:center;justify-content:center;z-index:3;line-height:1}.p3xr-console-stop:hover{opacity:.8}.p3xr-console-stop mat-icon,.p3xr-console-stop .mat-icon{color:var(--%NS%p3xr-btn-primary-bg)!important;font-size:24px;width:24px;height:24px;line-height:24px}#p3xr-console-autocomplete.p3xr-console-autocomplete-embedded{position:relative;width:100%;min-width:0;overflow-x:hidden}#p3xr-console-autocomplete.p3xr-console-autocomplete-embedded #p3xr-console-input{min-width:100%;width:100%;position:relative;box-sizing:border-box;overflow:hidden}p3xr-console.p3xr-console-embedded-collapsed #p3xr-console-autocomplete.p3xr-console-autocomplete-embedded #p3xr-console-input{min-width:calc(100% - 1px);width:calc(100% - 1px)}p3xr-console.p3xr-console-embedded-collapsed .p3xr-console-hint{display:none}#p3xr-console-input{display:block;width:100%;box-sizing:border-box;padding:3px;border-style:solid;border-width:3px;margin:0;font-family:Roboto Mono,monospace;resize:none;overflow-y:hidden;outline:none;max-height:90px}.p3xr-console-hint{font-family:Roboto Mono,monospace;font-size:12px;padding:2px 6px;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p3xr-console-autocomplete-panel.mat-mdc-autocomplete-panel{font-family:Roboto Mono,monospace;font-size:13px;max-height:350px}.p3xr-console-autocomplete-panel.mat-mdc-autocomplete-panel .mat-mdc-optgroup-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;min-height:28px;opacity:.7}.p3xr-console-autocomplete-panel.mat-mdc-autocomplete-panel .mat-mdc-option{min-height:32px;font-size:13px;font-family:Roboto Mono,monospace}.p3xr-autocomplete-cmd{font-weight:700;margin-right:8px}.p3xr-autocomplete-syntax{opacity:.5;font-size:11px}@media(max-width:959px){.p3xr-console-root-embedded #p3xr-console-content-output{overflow-x:hidden}.p3xr-console-root-embedded #p3xr-console-content-output pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}}
`],encapsulation:2})}return H})();var L3=(()=>{class H{i18n;state;cdr;static HEIGHT_KEY=`p3xr-console-drawer-height`;static MIN_VH=15;static MAX_VH=66;static FOOTER_HEIGHT=48;strings;isOpen=Mf(()=>this.state.consoleDrawerOpen());isConnected=Mf(()=>this.state.connectionState()===`connected`);isConnecting=Mf(()=>this.state.connectionState()===`connecting`);connectionName=Mf(()=>this.state.connection()?.name??``);resizeClicked=xe(!1);drawerResizeObserver;constructor(C,L,V){this.i18n=C,this.state=L,this.cdr=V,this.strings=this.i18n.strings}ngAfterViewInit(){document.addEventListener(`mousedown`,this.boundResizeClick),document.addEventListener(`mouseup`,this.boundResizeClick),document.addEventListener(`mousemove`,this.boundDocumentMousemove);let C=document.getElementById(`p3xr-console-drawer`);C&&typeof ResizeObserver<`u`&&(this.drawerResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(new Event(`resize`))}),this.drawerResizeObserver.observe(C))}ngOnDestroy(){document.removeEventListener(`mousedown`,this.boundResizeClick),document.removeEventListener(`mouseup`,this.boundResizeClick),document.removeEventListener(`mousemove`,this.boundDocumentMousemove),this.drawerResizeObserver?.disconnect()}close(){this.state.setConsoleDrawerOpen(!1),this.cdr.markForCheck()}computeBounds(){return{minPx:H.MIN_VH/100*window.innerHeight,maxPx:H.MAX_VH/100*window.innerHeight}}boundResizeClick=C=>this.resizeClick(C);boundDocumentMousemove=C=>this.documentMousemove(C);resizeClick(C){let L=C.target;if(C.type===`mousedown`){if(!L||L.id!==`p3xr-console-drawer-sizer`)return;this.resizeClicked.set(!0),this.applyBoundCursor(!1),document.body.classList.add(`p3xr-not-selectable`),document.documentElement.classList.add(`p3xr-console-drawer-resizing`),C.stopPropagation(),C.preventDefault()}else if(C.type===`mouseup`){if(!this.resizeClicked())return;this.resizeClicked.set(!1),this.clearBoundCursor(),document.body.classList.remove(`p3xr-not-selectable`),document.documentElement.classList.remove(`p3xr-console-drawer-resizing`);let V=document.documentElement.style.getPropertyValue(`--p3xr-console-drawer-height`);V&&V.endsWith(`px`)&&localStorage.setItem(H.HEIGHT_KEY,V),C.stopPropagation()}}documentMousemove(C){if(!this.resizeClicked())return;let{minPx:L,maxPx:V}=this.computeBounds(),e=window.innerHeight-C.clientY-H.FOOTER_HEIGHT,t=e<L||e>V;e<L&&(e=L),e>V&&(e=V),this.applyBoundCursor(t),document.documentElement.style.setProperty(`--p3xr-console-drawer-height`,`${Math.round(e)}px`)}applyBoundCursor(C){let L=document.getElementById(`p3xr-console-drawer-sizer`);C?(document.documentElement.style.setProperty(`cursor`,`not-allowed`,`important`),document.body.style.setProperty(`cursor`,`not-allowed`,`important`),L?.style.setProperty(`cursor`,`not-allowed`,`important`)):(document.documentElement.style.setProperty(`cursor`,`ns-resize`,`important`),document.body.style.setProperty(`cursor`,`ns-resize`,`important`),L?.style.removeProperty(`cursor`))}clearBoundCursor(){let C=document.getElementById(`p3xr-console-drawer-sizer`);document.documentElement.style.removeProperty(`cursor`),document.body.style.removeProperty(`cursor`),C?.style.removeProperty(`cursor`)}static ɵfac=function(L){return new(L||H)(Qe(YQ),Qe(Q),Qe(mc))};static ɵcmp=Ee({type:H,selectors:[[`p3xr-console-drawer`]],decls:4,vars:6,consts:[[`id`,`p3xr-console-drawer`],[`id`,`p3xr-console-drawer-sizer`,`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize console drawer`],[`id`,`p3xr-console-drawer-body`],[`type`,`quick`,3,`closeRequest`,`embedded`,`showCloseButton`]],template:function(L,V){L&1&&(Wa(0,`div`,0),_y(1,`div`,1),Wa(2,`div`,2)(3,`p3xr-console`,3),Sy(`closeRequest`,function(){return V.close()}),wf()()()),L&2&&(vt(`p3xr-drawer-open`,V.isOpen()),Sn(),vt(`p3xr-resizer-active`,V.resizeClicked()),Sn(2),by(`embedded`,!0)(`showCloseButton`,!0))},dependencies:[Eb,V3],styles:[`:root{--%NS%p3xr-console-drawer-height: 30vh}#p3xr-console-drawer{position:fixed;left:5px;right:calc(5px + var(--%NS%p3xr-scroll-gutter, 0px));bottom:var(--%NS%p3xr-layout-footer-height, 48px);height:0;overflow:hidden;background:var(--%NS%p3xr-content-bg, var(--%NS%mat-app-background-color));color:var(--%NS%mat-app-text-color, inherit);border:0 solid var(--%NS%p3xr-accordion-bg);border-radius:4px 4px 0 0;z-index:8;transition:height .15s ease-out;display:flex;flex-direction:column}#p3xr-console-drawer.p3xr-drawer-open{height:var(--%NS%p3xr-console-drawer-height);border-width:1px}#p3xr-console-drawer-sizer{position:absolute;top:0;left:0;right:0;height:5px;cursor:ns-resize;z-index:3;background-color:transparent;transition:background-color .15s ease,filter .15s ease}#p3xr-console-drawer-sizer:hover,#p3xr-console-drawer-sizer.p3xr-resizer-active{background-color:var(--%NS%p3xr-accordion-bg)}body.p3xr-theme-dark #p3xr-console-drawer-sizer:hover{filter:brightness(1.5)}body.p3xr-theme-dark #p3xr-console-drawer-sizer.p3xr-resizer-active{filter:brightness(2)}body.p3xr-theme-light #p3xr-console-drawer-sizer:hover{filter:brightness(.75)}body.p3xr-theme-light #p3xr-console-drawer-sizer.p3xr-resizer-active{filter:brightness(.5)}html.p3xr-console-drawer-resizing #p3xr-console-drawer.p3xr-drawer-open{transition:none}#p3xr-console-drawer-body{flex:1 1 auto;min-height:0;overflow:hidden;position:relative}#p3xr-console-drawer-body p3xr-console{display:block;height:100%;width:100%}.p3xr-console-drawer-empty{padding:16px 20px;font-size:13px;line-height:1.6;display:flex;flex-direction:column;gap:6px}.p3xr-console-drawer-empty .p3xr-console-drawer-empty-row{white-space:pre-wrap}.p3xr-console-drawer-empty .p3xr-console-drawer-empty-title{font-size:15px;font-weight:500;margin-bottom:4px}.p3xr-console-drawer-empty .p3xr-console-drawer-empty-hint{opacity:.7;font-size:12px}html.p3xr-console-drawer-open{--%NS%p3xr-console-drawer-height-active: var(--%NS%p3xr-console-drawer-height)}html:not(.p3xr-console-drawer-open){--%NS%p3xr-console-drawer-height-active: 0px}
`],encapsulation:2})}return H})();var M3=!1;function P3(){if(M3)return;M3=!0;let H=document.createElement(`style`);H.setAttribute(`data-p3xr-overlay-scroll`,``),H.textContent=`
        .p3xr-os-viewport { scrollbar-width: none !important; -ms-overflow-style: none !important; }
        .p3xr-os-viewport::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none !important; }
        .p3xr-os-thumb {
            position: fixed;
            width: 8px;
            border-radius: 4px;
            background-color: rgba(128, 128, 128, 0.5);
            opacity: 0;
            transition: opacity 0.25s ease, background-color 0.15s ease;
            pointer-events: auto;
            z-index: 2147483647;
            /* will-change was creating a GPU layer that composited BEHIND
               Angular Material cdk-overlay-container subtree on some themes,
               even though the thumb z-index is higher than the container.
               Without it, the thumb paints in normal document order and
               respects z-index. Removed. */
            isolation: isolate;
        }
        .p3xr-os-thumb:hover { background-color: rgba(128, 128, 128, 0.75); }
        body.p3xr-theme-dark .p3xr-os-thumb { background-color: rgba(255, 255, 255, 0.35); }
        body.p3xr-theme-dark .p3xr-os-thumb:hover { background-color: rgba(255, 255, 255, 0.6); }
        body.p3xr-theme-light .p3xr-os-thumb { background-color: rgba(0, 0, 0, 0.35); }
        body.p3xr-theme-light .p3xr-os-thumb:hover { background-color: rgba(0, 0, 0, 0.6); }
    `,document.head.appendChild(H)}function F3(H){P3(),H.classList.add(`p3xr-os-viewport`);let r=document.createElement(`div`);r.className=`p3xr-os-thumb`;let C=H.closest(`.mat-mdc-dialog-surface, .mat-mdc-menu-panel, .mat-mdc-autocomplete-panel, .mat-mdc-select-panel`),L=H.closest(`.cdk-overlay-container`);(C||L||document.body).appendChild(r);let V=null,e=!1,t=0,n=0,h=30,S=C?16:10,s=()=>{r.style.opacity=`1`,V&&clearTimeout(V),V=setTimeout(()=>{e||(r.style.opacity=`0`)},1200)},m=4,b=()=>{let w=H.getBoundingClientRect(),{scrollTop:W,scrollHeight:N,clientHeight:$}=H;if(N<=$+1){r.style.display=`none`;return}r.style.display=`block`,h=Math.max(30,$/N*$);let o1=N-$,E1=$-h-m*2,a3=o1>0?W/o1*E1:0;r.style.left=`${w.right-S}px`,r.style.top=`${w.top+m+a3}px`,r.style.height=`${h}px`},E=()=>{b(),s()},j=()=>s(),D=w=>{w.preventDefault(),e=!0,t=w.clientY,n=H.scrollTop,document.addEventListener(`mousemove`,R),document.addEventListener(`mouseup`,_)},R=w=>{if(!e)return;let{scrollHeight:W,clientHeight:N}=H,$=W-N,o1=N-h,E1=w.clientY-t;H.scrollTop=n+(o1>0?E1/o1:0)*$,s()},_=()=>{e=!1,document.removeEventListener(`mousemove`,R),document.removeEventListener(`mouseup`,_),s()};H.addEventListener(`scroll`,E,{passive:!0}),H.addEventListener(`mousemove`,j),r.addEventListener(`mousedown`,D);let I=new ResizeObserver(b);I.observe(H);for(let w of Array.from(H.children))I.observe(w);let J=new MutationObserver(w=>{for(let W of w)W.addedNodes.forEach(N=>{N.nodeType===1&&I.observe(N)});b()});J.observe(H,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`,`hidden`]}),window.addEventListener(`resize`,b);let k=!1,l1=0,x1=w=>{if(l1=Date.now()+w,k)return;k=!0;let W=()=>{b(),Date.now()<l1?requestAnimationFrame(W):k=!1};requestAnimationFrame(W)},Y=w=>{(w.target===H||w.target===H.parentElement)&&x1(250)};return window.addEventListener(`transitionrun`,Y),b(),{destroy(){H.removeEventListener(`scroll`,E),H.removeEventListener(`mousemove`,j),r.removeEventListener(`mousedown`,D),document.removeEventListener(`mousemove`,R),document.removeEventListener(`mouseup`,_),window.removeEventListener(`resize`,b),window.removeEventListener(`transitionrun`,Y),I.disconnect(),J.disconnect(),V&&clearTimeout(V),r.remove(),H.classList.remove(`p3xr-os-viewport`)},update:b}}var R3=[`.cm-scroller`,`.xterm-viewport`,`.monaco-scrollable-element`];function _3(H){let r=getComputedStyle(H),C=r.overflowY,L=r.overflowX;return!(!(C===`auto`||C===`scroll`||L===`auto`||L===`scroll`)||H.clientHeight===0&&H.clientWidth===0)}function E3(H){if(H.classList.contains(`p3xr-os-viewport`))return!0;for(let r of R3)if(H.matches(r)||H.closest(r))return!0;return!1}function e3(){let H=new Map,r=t=>{H.has(t)||E3(t)||_3(t)&&H.set(t,F3(t))},C=t=>{r(t),t.querySelectorAll(`*`).forEach(r)},L=()=>{for(let[t,n]of H)t.isConnected||(n.destroy(),H.delete(t))};C(document.body);let V=new MutationObserver(t=>{let n=!1,h=[];for(let S of t)S.addedNodes.forEach(s=>{if(s.nodeType===1){let m=s;C(m),h.push(m)}}),S.removedNodes.length>0&&(n=!0),S.type===`attributes`&&S.target.nodeType===1&&r(S.target);if(n&&L(),h.length>0){let S=()=>{for(let s of h)s.isConnected&&C(s)};requestAnimationFrame(S),setTimeout(S,150),setTimeout(S,350)}});V.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`class`]});let e=setInterval(()=>{L(),C(document.body)},1e3);return()=>{V.disconnect(),clearInterval(e);for(let t of H.values())t.destroy();H.clear()}}var D3=[`languageSearchInput`];var I3=[`languageMenuTrigger`];var N3=(H,r)=>r.name;var W3=(H,r)=>r.id;function z3(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);let V=gT();return bm(V.navigateTo(V.currentConnection?`database.statistics`:`settings`))}),_y(1,`i`,23),Wa(2,`span`),HT(3),wf()()}if(H&2){let C=gT();Sn(3),jy(C.i18n.strings().title?.name)}}function G3(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);let V=gT();return bm(V.navigateTo(V.currentConnection?`database.statistics`:`settings`))}),Wa(1,`mat-icon`,25),_y(2,`i`,26),wf()()}if(H&2){let C=gT();by(`matTooltip`,(C.i18n.strings().title?.name??``)+(C.state.version()?` `+C.state.version():``))}}function Q3(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`database.statistics`))}),Wa(1,`mat-icon`),HT(2,`storage`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`database`)),Sn(4),jy(C.i18n.strings().intention?.main)}}function U3(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`database.statistics`))}),Wa(1,`mat-icon`),HT(2,`storage`),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`database`)),by(`matTooltip`,C.i18n.strings().intention?.main??``)}}function K3(H,r){if(H&1&&co(0,Q3,5,3,`button`,27)(1,U3,3,3,`button`,28),H&2)lo(gT(2).isWide?0:1)}function q3(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`monitoring`))}),Wa(1,`mat-icon`),HT(2,`monitor_heart`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`monitoring`)),Sn(4),jy(C.i18n.strings().page?.monitor?.title)}}function j3(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`monitoring`))}),Wa(1,`mat-icon`),HT(2,`monitor_heart`),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`monitoring`)),by(`matTooltip`,C.i18n.strings().page?.monitor?.title??`Monitoring`)}}function $3(H,r){if(H&1&&co(0,q3,5,3,`button`,27)(1,j3,3,3,`button`,28),H&2)lo(gT(2).isWide?0:1)}function X3(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`search`))}),Wa(1,`mat-icon`),HT(2,`search`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`search`)),Sn(4),jy(C.i18n.strings().page?.search?.title)}}function J3(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT(3).navigateTo(`search`))}),Wa(1,`mat-icon`),HT(2,`search`),wf()()}if(H&2){let C=gT(3);vt(`p3xr-nav-active`,C.isActivePage(`search`)),by(`matTooltip`,C.i18n.strings().page?.search?.title??`Search`)}}function Y3(H,r){if(H&1&&co(0,X3,5,3,`button`,27)(1,J3,3,3,`button`,28),H&2)lo(gT(2).isWide?0:1)}function C0(H,r){if(H&1&&(co(0,K3,2,1),co(1,$3,2,1),co(2,Y3,2,1)),H&2){let C=gT();lo(C.currentConnection?0:-1),Sn(),lo(C.currentConnection?1:-1),Sn(),lo(C.currentConnection&&C.hasRediSearch?2:-1)}}function H0(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(2).navigateTo(`info`))}),Wa(1,`mat-icon`),HT(2,`info`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.isActivePage(`info`)),Sn(4),jy(C.i18n.strings().intention?.info)}}function V0(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT(2).navigateTo(`info`))}),Wa(1,`mat-icon`),HT(2,`info`),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.isActivePage(`info`)),by(`matTooltip`,C.i18n.strings().intention?.info??`Info`)}}function L0(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(2).navigateTo(`settings`))}),Wa(1,`mat-icon`),HT(2,`settings`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.isActivePage(`settings`)),Sn(4),jy(C.i18n.strings().intention?.settings)}}function M0(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT(2).navigateTo(`settings`))}),Wa(1,`mat-icon`),HT(2,`settings`),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.isActivePage(`settings`)),by(`matTooltip`,C.i18n.strings().intention?.settings??``)}}function e0(H,r){if(H&1&&(co(0,H0,5,3,`button`,27)(1,V0,3,3,`button`,28),co(2,L0,5,3,`button`,27)(3,M0,3,3,`button`,28)),H&2){let C=gT();lo(C.isWide?0:1),Sn(2),lo(C.isWide?2:3)}}function r0(H,r){if(H&1){let C=dT();Wa(0,`button`,24),Sy(`click`,function(){ym(C);return bm(gT().logout())}),Wa(1,`mat-icon`),HT(2,`logout`),wf()()}if(H&2)by(`matTooltip`,gT().i18n.strings().intention?.logout)}function t0(H,r){if(H&1&&(Wa(0,`div`,11),HT(1),wf()),H&2){let C=gT();Sn(),Nf(` `,C.currentVersion,` `)}}function i0(H,r){if(H&1&&(Wa(0,`button`,13)(1,`mat-icon`),HT(2,`power`),wf(),Wa(3,`span`),HT(4),wf()()),H&2){gT();let C=_T(3),L=gT(2);by(`matMenuTriggerFor`,C),Sn(4),jy(L.connectionName)}}function o0(H,r){if(H&1&&(Wa(0,`button`,14)(1,`mat-icon`),HT(2,`power`),wf()()),H&2){gT();let C=_T(3),L=gT(2);by(`matMenuTriggerFor`,C)(`matTooltip`,L.connectionName)}}function a0(H,r){if(H&1&&(Wa(0,`div`,29),HT(1),wf()),H&2){let C=gT().$implicit,L=gT(3);Sn(),Nf(` `,C.name||L.i18n.strings().label?.ungrouped,` `)}}function A0(H,r){if(H&1){let C=dT();Wa(0,`button`,18),Sy(`click`,function(){let V=ym(C).$implicit;return bm(gT(4).connect(V))}),HT(1),wf()}if(H&2){let C=r.$implicit;vt(`p3xr-mat-menu-item-selected`,gT(4).currentConnection?.id===C.id),Sn(),Nf(` `,C.name,` `)}}function n0(H,r){H&1&&_y(0,`mat-divider`)}function d0(H,r){if(H&1&&(co(0,a0,2,1,`div`,29),oT(1,A0,2,3,`button`,20,W3),co(3,n0,1,0,`mat-divider`)),H&2){let C=r.$implicit,L=r.$index,V=r.$count,e=gT(3);lo(e.groupedConnectionsList.length>1?0:-1),Sn(),iT(C.connections),Sn(2),lo(L!==V-1&&e.groupedConnectionsList.length>1?3:-1)}}function m0(H,r){if(H&1&&(co(0,i0,5,2,`button`,13)(1,o0,3,2,`button`,14),Wa(2,`mat-menu`,null,4),oT(4,d0,4,2,null,null,N3),wf()),H&2){let C=gT(2);lo(C.isWide?0:1),Sn(4),iT(C.groupedConnectionsList)}}function p0(H,r){if(H&1){let C=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(C);return bm(gT(3).disconnect())}),_y(1,`i`,31),Wa(2,`span`),HT(3),wf()()}if(H&2){let C=gT(3);Sn(3),jy(C.i18n.strings().intention?.disconnect)}}function l0(H,r){if(H&1){let C=dT();Wa(0,`button`,32),Sy(`click`,function(){ym(C);return bm(gT(3).disconnect())}),_y(1,`i`,31),wf()}if(H&2)by(`matTooltip`,gT(3).i18n.strings().intention?.disconnect??``)}function x0(H,r){if(H&1&&co(0,p0,4,1,`button`,8)(1,l0,2,1,`button`,30),H&2)lo(gT(2).isGtSm?0:1)}function v0(H,r){if(H&1&&(co(0,m0,6,1),co(1,x0,2,1)),H&2){let C=gT();lo(C.connectionsList.length>0?0:-1),Sn(),lo(C.currentConnection?1:-1)}}function Z0(H,r){if(H&1){let C=dT();Wa(0,`button`,35),Sy(`click`,function(){ym(C);return bm(gT(2).toggleConsoleDrawer())}),Wa(1,`mat-icon`),HT(2,`terminal`),wf(),Wa(3,`span`),HT(4),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.state.consoleDrawerOpen()),by(`matTooltip`,C.i18n.strings().label?.consoleDrawer?.toggleTooltip??``),xi(`aria-pressed`,C.state.consoleDrawerOpen()),Sn(4),jy(C.i18n.strings().intention?.console)}}function u0(H,r){if(H&1){let C=dT();Wa(0,`button`,32),Sy(`click`,function(){ym(C);return bm(gT(2).toggleConsoleDrawer())}),Wa(1,`mat-icon`),HT(2,`terminal`),wf()()}if(H&2){let C=gT(2);vt(`p3xr-nav-active`,C.state.consoleDrawerOpen()),by(`matTooltip`,(C.i18n.strings().intention?.console??``)+`  —  `+(C.i18n.strings().label?.consoleDrawer?.toggleTooltip??``)),xi(`aria-pressed`,C.state.consoleDrawerOpen())}}function s0(H,r){if(H&1&&co(0,Z0,5,5,`button`,33)(1,u0,3,4,`button`,34),H&2)lo(gT().isWide?0:1)}function c0(H,r){if(H&1){let C=dT();Wa(0,`button`,36,5),Sy(`menuOpened`,function(){ym(C);return bm(gT().onLanguageMenuOpened())}),Wa(2,`mat-icon`),HT(3,`language`),wf(),Wa(4,`span`),HT(5),wf()()}if(H&2){let C=gT();by(`matMenuTriggerFor`,_T(17)),Sn(5),jy(C.i18n.strings().intention?.language)}}function S0(H,r){if(H&1){let C=dT();Wa(0,`button`,37,5),Sy(`menuOpened`,function(){ym(C);return bm(gT().onLanguageMenuOpened())}),Wa(2,`mat-icon`),HT(3,`language`),wf()()}if(H&2){let C=gT();by(`matMenuTriggerFor`,_T(17))(`matTooltip`,C.i18n.strings().intention?.language??``)}}function h0(H,r){if(H&1){let C=dT();Wa(0,`button`,18),Sy(`click`,function(){let V=ym(C).$implicit;return bm(gT().setLanguage(V))}),HT(1),wf()}if(H&2){let C=r.$implicit,L=r.$index,V=gT();vt(`p3xr-mat-menu-item-selected`,!V.i18n.isAuto()&&V.i18n.currentLang()===C)(`p3xr-language-highlighted`,L===V.highlightedLanguageIndex),Sn(),Nf(` `,V.languageLabel(C),` `)}}function O0(H,r){if(H&1&&(Wa(0,`button`,13)(1,`mat-icon`),HT(2,`color_lens`),wf(),Wa(3,`span`),HT(4),wf()()),H&2){let C=gT();by(`matMenuTriggerFor`,_T(29)),Sn(4),jy(C.i18n.strings().intention?.theme)}}function g0(H,r){if(H&1&&(Wa(0,`button`,14)(1,`mat-icon`),HT(2,`color_lens`),wf()()),H&2){let C=gT();by(`matMenuTriggerFor`,_T(29))(`matTooltip`,C.i18n.strings().intention?.theme??``)}}function f0(H,r){if(H&1){let C=dT();Wa(0,`button`,18),Sy(`click`,function(){let V=ym(C).$implicit;return bm(gT().setTheme(V))}),HT(1),wf()}if(H&2){let C=r.$implicit,L=gT();vt(`p3xr-mat-menu-item-selected`,!L.theme.isAuto()&&L.themeSelectedKey===C),Sn(),Nf(` `,L.themeLabel(C),` `)}}function k0(H,r){if(H&1&&(Wa(0,`button`,13),_y(1,`i`,38),Wa(2,`span`),HT(3),wf()()),H&2){let C=gT();by(`matMenuTriggerFor`,_T(38)),Sn(3),jy(C.i18n.strings().intention?.github)}}function b0(H,r){if(H&1&&(Wa(0,`button`,14),_y(1,`i`,38),wf()),H&2){let C=gT();by(`matMenuTriggerFor`,_T(38))(`matTooltip`,C.i18n.strings().intention?.github??``)}}function w0(H,r){H&1&&_y(0,`p3xr-login`)}function y0(H,r){H&1&&_y(0,`router-outlet`)}function T0(H,r){H&1&&_y(0,`p3xr-console-drawer`)}var r3=(()=>{class H{ngZone;breakpointObserver;theme;i18n;state;socket;common;authDialog;nav;router;cmd;cdr;shortcuts;overlay;settings;auth;isWide=!0;isGtXs=!0;isGtSm=!0;isElectron=!1;isElectronInitialized=!1;unsubFns=[];constructor(C,L,V,e,t,n,h,S,s,m,b,E,j,D,R,_,I){this.ngZone=C,this.breakpointObserver=L,this.theme=V,this.i18n=e,this.state=t,this.socket=n,this.common=h,this.authDialog=S,this.nav=s,this.router=m,this.cmd=b,this.cdr=E,this.shortcuts=j,this.overlay=D,this.settings=R,this.auth=_,I.registerAll(),cr(()=>{let J=this.state.consoleDrawerOpen(),k=this.state.connectionState()===`connected`;J&&k?document.documentElement.classList.add(`p3xr-console-drawer-open`):document.documentElement.classList.remove(`p3xr-console-drawer-open`)})}onKeydown(C){if(C.key==="`"&&(C.ctrlKey||C.metaKey)&&!C.altKey&&!C.shiftKey){C.preventDefault(),this.toggleConsoleDrawer();return}this.shortcuts.handleKeydown(C)}toggleConsoleDrawer(){this.state.toggleConsoleDrawer(),this.cdr.markForCheck()}ngOnInit(){this.auth.checkAuthStatus().then(()=>{if(this.cdr.markForCheck(),this.auth.isAuthenticated()){let n=this.readConnectionFromStorage();n&&this.connect(n)}}),this.filterLanguages(),setTimeout(()=>{for(let n of[`/react/`,`/vue/`])fetch(n).then(h=>h.text()).then(h=>{new DOMParser().parseFromString(h,`text/html`).querySelectorAll(`script[src], link[rel="stylesheet"]`).forEach(s=>{let m=s.src||s.href;m&&fetch(m).catch(()=>{})})}).catch(()=>{})},3e3);let C=this.breakpointObserver.observe(`(min-width: 720px)`).subscribe(n=>{this.isWide=n.matches,this.cdr.markForCheck()}),L=this.breakpointObserver.observe(`(min-width: 600px)`).subscribe(n=>{this.isGtXs=n.matches,this.cdr.markForCheck()}),V=this.breakpointObserver.observe(`(min-width: 960px)`).subscribe(n=>{this.isGtSm=n.matches,this.cdr.markForCheck()});this.unsubFns.push(()=>{C.unsubscribe(),L.unsubscribe(),V.unsubscribe()}),this.isElectron=/electron/i.test(navigator.userAgent),this.subscribeSocketEvents(),this.setupRouteTracking();let e=this.cmd.connectRequest$.subscribe(n=>{this.connect(n.connection)}),t=this.cmd.disconnectRequest$.subscribe(()=>{this.disconnect()});if(this.unsubFns.push(()=>{e.unsubscribe(),t.unsubscribe()}),setTimeout(()=>this.setupElectronBridge(),3e3),window.location.hostname===`p3x.redis.patrikx3.com`){let n=0,h=()=>{let b=n%3!==1?this.i18n.strings()?.promoMeeting:this.i18n.strings()?.promo;if(b?.toastMessage){let E=b.toastMessage+(b.disclaimer?` · `+b.disclaimer:``);this.common.toast({message:E,hideDelay:3e4})}n++},S=setTimeout(h,5e3),s=setInterval(h,420*1e3);this.unsubFns.push(()=>{clearTimeout(S),clearInterval(s)})}this.uninstallOverlayScrolls=e3()}uninstallOverlayScrolls=null;ngOnDestroy(){this.unsubFns.forEach(C=>C()),this.uninstallOverlayScrolls?.()}get connectionName(){let C=this.state.connection(),L=this.i18n.strings();if(C){let V=L?.label?.connected;return typeof V==`function`?V({name:C.name}):C.name??``}return L?.intention?.connect??`Connect`}sortedThemeKeys=[`light`,`enterprise`,`dark`,`darkNeu`,`darkoBluo`,`matrix`,`redis`];get themeSelectedKey(){let C=this.theme.currentTheme();if(!C.startsWith(`p3xrTheme`))return``;let L=C.slice(9);return L.charAt(0).toLowerCase()+L.slice(1)}get showLogin(){return this.auth.authChecked()&&this.auth.authRequired()&&!this.auth.isAuthenticated()}get hasRediSearch(){return!!this.state.hasRediSearch()}get reducedFunctions(){return!!this.state.reducedFunctions()}get currentVersion(){return this.state.version()}get connectionsList(){return this.state.connections()?.list??[]}get groupedConnectionsList(){let C=this.connectionsList,L=!1;try{L=localStorage.getItem(`p3xr-connection-group-mode`)===`true`}catch(t){}if(!L)return[{name:``,connections:C}];let V=new Map;for(let t of C){let n=t.group?.trim()||``;V.has(n)||V.set(n,[]),V.get(n).push(t)}let e=[];for(let[t,n]of V)e.push({name:t,connections:n});return e}get currentConnection(){return this.state.connection()}languageSearchInput;languageMenuTrigger;languageSearch=``;filteredLanguages=[];highlightedLanguageIndex=0;get availableLanguages(){return Object.keys(this.i18n.strings()?.language??{})}onLanguageSearchInput(C){this.languageSearch=C,this.filterLanguages(),this.highlightedLanguageIndex=this.findCurrentLanguageIndex(),this.cdr.markForCheck()}onLanguageMenuOpened(){this.highlightedLanguageIndex=this.findCurrentLanguageIndex(),setTimeout(()=>{this.languageSearchInput?.nativeElement?.focus(),this.scrollHighlightedLanguageIntoView()})}findCurrentLanguageIndex(){let C=this.filteredLanguages.indexOf(this.i18n.currentLang());return C>=0?C:0}onLanguageMenuClosed(){this.languageSearch=``,this.filterLanguages()}onLanguageSearchKeydown(C){if(C.key===`Escape`){this.languageMenuTrigger.closeMenu();return}if(C.key===`Enter`){C.preventDefault(),this.onLanguageSearchEnter();return}if(C.key===`ArrowDown`||C.key===`ArrowUp`){C.preventDefault();let L=this.filteredLanguages.length;if(L===0)return;C.key===`ArrowDown`?this.highlightedLanguageIndex=(this.highlightedLanguageIndex+1)%L:this.highlightedLanguageIndex=(this.highlightedLanguageIndex-1+L)%L,this.scrollHighlightedLanguageIntoView(),this.cdr.markForCheck();return}C.stopPropagation()}onLanguageSearchEnter(){this.filteredLanguages.length>0&&(this.setLanguage(this.filteredLanguages[this.highlightedLanguageIndex]),this.languageMenuTrigger.closeMenu())}scrollHighlightedLanguageIntoView(){setTimeout(()=>{let C=document.querySelector(`.p3xr-language-menu .mat-mdc-menu-content`);if(!C)return;C.querySelectorAll(`.mat-mdc-menu-item`)[this.highlightedLanguageIndex]?.scrollIntoView({block:`nearest`})})}filterLanguages(){let C=this.availableLanguages,L=this.languageSearch.trim().toLowerCase();if(!L){this.filteredLanguages=C;return}this.filteredLanguages=C.filter(V=>this.languageLabel(V).toLowerCase().includes(L)||V.toLowerCase().includes(L))}themeLabel(C){return this.i18n.strings()?.label?.theme?.[C]??C}languageLabel(C){return this.i18n.strings()?.language?.[C]??C}isActivePage(C){let L=this.nav.currentUrl;switch(C){case`database`:return L.startsWith(`/database`);case`search`:return L===`/search`;case`monitoring`:return L.startsWith(`/monitoring`);case`info`:return L===`/info`;case`settings`:return L===`/settings`;default:return!1}}navigateTo(C,L){this.nav.navigateTo(C,L)}reloadPage(){location.href=`/ng/`}logout(){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings()?.intention?.logout}),this.auth.logout()}catch(C){}})}setTheme(C){this.theme.setTheme(this.theme.generateThemeName(C))}setThemeAuto(){this.theme.setTheme(`auto`)}setLanguage(C){return L(this,null,function*(){try{this.i18n.setLanguage(C),this.isElectron&&(yield this.socket.request({action:`settings/language`,payload:{key:C}}),this.isElectronInitialized=!0),this.filterLanguages(),this.cdr.markForCheck()}catch(L){this.common.generalHandleError(L)}})}connect(C){return L(this,null,function*(){console.time(`connect`),C=this.cloneConnection(C);try{let L=this.settings.getStorageKeyCurrentDatabase(C.id),V=this.getStorageString(L);if(C.askAuth===!0){let m=yield this.authDialog.show();C.username=m.username||void 0,C.password=m.password||void 0}let e=this.i18n.strings();this.overlay.show({message:e?.title?.connectingRedis??`Connecting...`}),this.state.connectionState.set(`connecting`);let t=yield this.socket.request({action:`connection/connect`,payload:{connection:C,db:V}});this.state.page.set(1),this.state.monitor.set(!1),this.state.dbsize.set(t.dbsize);let n=[],h=0;for(;h<t.databases;)n.push(h++);this.state.databaseIndexes.set(n),this.state.connection.set(C);let S=[];Object.keys(t.commands??{}).forEach(m=>{S.push(t.commands[m][0])}),S.sort(),this.state.commands.set(S),this.state.commandsMeta.set(t.commandsMeta??{});let s=Array.isArray(t.modules)?t.modules:[];this.state.modules.set(s),this.state.hasReJSON.set(s.some(m=>m.name===`ReJSON`)),this.state.hasRediSearch.set(s.some(m=>m.name===`search`)),this.state.hasTimeSeries.set(s.some(m=>m.name===`timeseries`||m.name===`Timeseries`)),this.state.hasBloom.set(s.some(m=>m.name===`bf`)),yield this.common.loadRedisInfoResponse({response:t}),this.socket.stateChanged$.next(),this.setStorageObject(this.settings.connectInfoStorageKey,C),this.state.connectionState.set(`connected`)}catch(L){this.removeStorageItem(this.settings.connectInfoStorageKey),this.state.connection.set(void 0),this.state.connectionState.set(`none`),this.common.generalHandleError(L)}finally{this.overlay.hide(),this.cdr.markForCheck()}console.timeEnd(`connect`)})}disconnect(){return L(this,null,function*(){yield this.cmd.disconnect(),this.cdr.markForCheck()})}reducedFunctionality(){let L=this.i18n.strings()?.label?.tooManyKeys,V=typeof L==`function`?L({count:this.state.keysRaw()?.length??0,maxLightKeysCount:this.settings.maxLightKeysCount}):``;this.common.confirm({disableCancel:!0,message:V}).catch(()=>{})}openLink(C){window.open({github:`https://github.com/patrikx3/redis-ui`,githubRelease:`https://github.com/patrikx3/redis-ui/releases`,githubChangelog:`https://github.com/patrikx3/redis-ui/blob/master/change-log.md#change-log`,donate:`https://www.paypal.me/patrikx3`}[C],`_blank`)}cloneConnection(C){return structuredClone(C)}readConnectionFromStorage(){return this.getStorageObject(this.settings.connectInfoStorageKey)}getStorageString(C){if(C)try{return localStorage.getItem(C)??void 0}catch(L){return}}getStorageObject(C){let L=this.getStorageString(C);if(L)try{return JSON.parse(L)}catch(V){return}}setStorageObject(C,L){if(C)try{localStorage.setItem(C,JSON.stringify(L))}catch(V){}}removeStorageItem(C){if(C)try{localStorage.removeItem(C)}catch(L){}}subscribeSocketEvents(){let C=this.socket.redisDisconnected$.subscribe(()=>{this.state.connection.set(void 0),this.state.connectionState.set(`none`),this.nav.navigateTo(`settings`),this.cdr.markForCheck()}),L=this.socket.socketError$.subscribe(()=>{this.cdr.markForCheck()}),V=this.socket.connections$.subscribe(()=>{this.cdr.markForCheck()}),e=this.socket.configuration$.subscribe(()=>{this.cdr.markForCheck()});this.unsubFns.push(()=>{C.unsubscribe(),L.unsubscribe(),V.unsubscribe(),e.unsubscribe()})}setupRouteTracking(){let C=this.router.events.pipe(_e(L=>L instanceof $)).subscribe(L=>{if(this.state.currentPage.set(this.urlToPage(L.urlAfterRedirects)),!/spider|bot|yahoo|bing|google|yandex|crawl|slurp|curl/i.test(navigator.userAgent))try{let V=L.urlAfterRedirects.toLowerCase().startsWith(`/database/key/`)?`/database/key`:L.urlAfterRedirects;globalThis.gtag?.(`config`,this.settings.googleAnalytics,{page_path:V})}catch(V){}});this.unsubFns.push(()=>C.unsubscribe())}urlToPage(C){let L=C.toLowerCase();return L.startsWith(`/database`)?`database`:L.startsWith(`/monitoring/profiler`)?`profiler`:L.startsWith(`/monitoring/pubsub`)?`pubsub`:L.startsWith(`/monitoring/memory-analysis`)||L.startsWith(`/monitoring/analysis`)?`analysis`:L.startsWith(`/monitoring`)?`pulse`:L.startsWith(`/search`)?`search`:L.startsWith(`/timeseries`)?`timeseries`:L.startsWith(`/info`)?`info`:L.startsWith(`/settings`)?`settings`:`unknown`}setupElectronBridge(){this.isElectron&&window.addEventListener(`message`,C=>{let L$3=C.data;!L$3||typeof L$3.type!=`string`||(L$3.type===`p3x-set-language`&&typeof L$3.translation==`string`?this.ngZone.run(()=>L(this,null,function*(){try{yield this.setLanguage(L$3.translation)}catch(V){console.warn(`[LayoutComponent] p3x-set-language failed`,V)}})):L$3.type===`p3x-menu`&&typeof L$3.action==`string`&&this.ngZone.run(()=>{try{this.nav.navigateTo(L$3.action)}catch(V){console.warn(`[LayoutComponent] p3x-menu failed`,V)}}))})}static ɵfac=function(L){return new(L||H)(Qe(O),Qe(cp),Qe(T),Qe(YQ),Qe(Q),Qe(bi),Qe(It),Qe(u$1),Qe(b),Qe(X),Qe(P$2),Qe(mc),Qe(D),Qe(_t),Qe(x),Qe(_1),Qe(X5))};static ɵcmp=Ee({type:H,selectors:[[`p3xr-layout`]],viewQuery:function(L,V){if(L&1&&lc(D3,5)(I3,5),L&2){let e;Cf(e=xf())&&(V.languageSearchInput=e.first),Cf(e=xf())&&(V.languageMenuTrigger=e.first)}},hostBindings:function(L,V){L&1&&Sy(`keydown`,function(t){return V.onKeydown(t)},yS)},decls:49,vars:23,consts:[[`languageMenu`,``],[`languageSearchInput`,``],[`themeMenu`,``],[`githubMenu`,``],[`connectionMenu`,``],[`languageMenuTrigger`,`matMenuTrigger`],[`id`,`p3xr-layout-header-container`],[1,`p3xr-mat-layout`],[`mat-button`,``],[`mat-icon-button`,``,`matTooltipPosition`,`below`,3,`matTooltip`],[1,`p3xr-layout-spacer`],[`id`,`p3xr-layout-header-version`],[`id`,`p3xr-layout-footer-container`],[`mat-button`,``,3,`matMenuTriggerFor`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,3,`matMenuTriggerFor`,`matTooltip`],[1,`p3xr-language-menu`,3,`closed`],[1,`p3xr-language-search-container`,3,`click`,`keydown`],[`autocomplete`,`off`,1,`p3xr-language-search-input`,3,`input`,`placeholder`,`value`],[`mat-menu-item`,``,3,`click`],[`mat-menu-item`,``,3,`p3xr-mat-menu-item-selected`,`p3xr-language-highlighted`],[`mat-menu-item`,``,3,`p3xr-mat-menu-item-selected`],[1,`p3xr-layout-content`],[`mat-button`,``,3,`click`],[1,`fas`,`fa-database`],[`mat-icon-button`,``,`matTooltipPosition`,`below`,3,`click`,`matTooltip`],[2,`display`,`flex`,`align-items`,`center`,`justify-content`,`center`],[1,`fas`,`fa-database`,2,`font-size`,`20px`],[`mat-button`,``,3,`p3xr-nav-active`],[`mat-icon-button`,``,`matTooltipPosition`,`below`,3,`p3xr-nav-active`,`matTooltip`],[1,`p3xr-connection-menu-group-label`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,3,`matTooltip`],[1,`fa`,`fa-power-off`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,3,`click`,`matTooltip`],[`mat-button`,``,`matTooltipPosition`,`above`,3,`p3xr-nav-active`,`matTooltip`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,3,`p3xr-nav-active`,`matTooltip`],[`mat-button`,``,`matTooltipPosition`,`above`,3,`click`,`matTooltip`],[`mat-button`,``,3,`menuOpened`,`matMenuTriggerFor`],[`mat-icon-button`,``,`matTooltipPosition`,`above`,3,`menuOpened`,`matMenuTriggerFor`,`matTooltip`],[1,`fab`,`fa-github`]],template:function(L,V){if(L&1){let e=dT();Wa(0,`div`,6)(1,`mat-toolbar`,7),co(2,z3,4,1,`button`,8)(3,G3,3,1,`button`,9),co(4,C0,3,3),_y(5,`span`,10),co(6,e0,4,2),co(7,r0,3,1,`button`,9),wf()(),co(8,t0,2,1,`div`,11),Wa(9,`div`,12)(10,`mat-toolbar`,7),co(11,v0,2,2),_y(12,`span`,10),co(13,s0,2,1),co(14,c0,6,2,`button`,13)(15,S0,4,2,`button`,14),Wa(16,`mat-menu`,15,0),Sy(`closed`,function(){return V.onLanguageMenuClosed()}),Wa(18,`div`,16),Sy(`click`,function(n){return n.stopPropagation()})(`keydown`,function(n){return V.onLanguageSearchKeydown(n)}),Wa(19,`input`,17,1),Sy(`input`,function(){ym(e);let n=_T(20);return bm(V.onLanguageSearchInput(n.value))}),wf()(),Wa(21,`button`,18),Sy(`click`,function(){return V.setLanguage(`auto`)}),HT(22),wf(),_y(23,`mat-divider`),oT(24,h0,2,5,`button`,19,rT),wf(),co(26,O0,5,2,`button`,13)(27,g0,3,2,`button`,14),Wa(28,`mat-menu`,null,2)(30,`button`,18),Sy(`click`,function(){return V.setThemeAuto()}),HT(31),wf(),_y(32,`mat-divider`),oT(33,f0,2,3,`button`,20,rT),wf(),co(35,k0,4,2,`button`,13)(36,b0,2,2,`button`,14),Wa(37,`mat-menu`,null,3)(39,`button`,18),Sy(`click`,function(){return V.openLink(`github`)}),HT(40),wf(),Wa(41,`button`,18),Sy(`click`,function(){return V.openLink(`githubRelease`)}),HT(42),wf(),Wa(43,`button`,18),Sy(`click`,function(){return V.openLink(`githubChangelog`)}),HT(44),wf()()()(),Wa(45,`div`,21),co(46,w0,1,0,`p3xr-login`)(47,y0,1,0,`router-outlet`),wf(),co(48,T0,1,0,`p3xr-console-drawer`)}L&2&&(Sn(2),lo(V.isWide?2:3),Sn(2),lo(V.showLogin?-1:4),Sn(2),lo(V.showLogin?-1:6),Sn(),lo(V.auth.authRequired()&&V.auth.isAuthenticated()?7:-1),Sn(),lo(V.currentVersion&&V.isWide?8:-1),Sn(3),lo(V.showLogin?-1:11),Sn(2),lo(V.state.connectionState()===`connected`?13:-1),Sn(),lo(V.isGtSm?14:15),Sn(5),by(`placeholder`,V.i18n.strings().label?.searchLanguage)(`value`,V.languageSearch),Sn(2),vt(`p3xr-mat-menu-item-selected`,V.i18n.isAuto()),Sn(),Nf(` `,V.i18n.strings().label?.languageAuto,` `),Sn(2),iT(V.filteredLanguages),Sn(2),lo(V.isGtXs?26:27),Sn(4),vt(`p3xr-mat-menu-item-selected`,V.theme.isAuto()),Sn(),Nf(` `,V.i18n.strings().label?.themeAuto,` `),Sn(2),iT(V.sortedThemeKeys),Sn(2),lo(V.isGtSm?35:36),Sn(5),Nf(` `,V.i18n.strings().intention?.githubRepo,` `),Sn(2),Nf(` `,V.i18n.strings().intention?.githubRelease,` `),Sn(2),Nf(` `,V.i18n.strings().intention?.githubChangelog,` `),Sn(2),lo(V.showLogin?46:47),Sn(2),lo(!V.showLogin&&V.state.connectionState()===`connected`?48:-1))},dependencies:[Eb,qo,gr,ae,se,$Y,HY,G0,yt,wt,Lt,I,G,Bt,f,u,Qt,gt,C3,L3],styles:[`:host{display:block}.p3xr-layout-spacer{flex:1 1 auto}.p3xr-layout-content,.p3xr-layout-content-electron{position:fixed;top:48px;left:0;right:0;bottom:calc(48px + var(--%NS%p3xr-console-drawer-height-active, 0px));overflow-y:auto;overflow-x:hidden;transition:bottom .15s ease-out}#p3xr-layout-header-version{position:fixed;top:35px;left:20px;width:120px;text-align:right;z-index:3;font-size:10px;line-height:1;opacity:.7;pointer-events:none}.p3xr-layout-content{padding:5px;padding-bottom:4px!important}.p3xr-layout-content:has(p3xr-monitoring-shell){padding-bottom:0!important}.p3xr-nav-active.mat-mdc-button{background-color:#ffffff1a!important}body.p3xr-mat-theme-matrix .p3xr-nav-active.mat-mdc-button{background-color:#00000026!important}.mat-toolbar .mat-mdc-icon-button{border-radius:4px!important}.mat-toolbar .mat-mdc-icon-button .mat-icon{margin:0!important}.mat-toolbar .mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:4px!important}.p3xr-nav-active{background-color:#ffffff1a!important;border-radius:4px!important}body.p3xr-mat-theme-matrix .p3xr-nav-active{background-color:#00000026!important}#p3xr-layout-header-container{top:0}#p3xr-layout-footer-container{bottom:0}#p3xr-layout-header-container,#p3xr-layout-footer-container{position:fixed;z-index:2;left:0;width:100%}.p3xr-connection-menu-group-label{padding:6px 16px 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.6;pointer-events:none}.p3xr-kbd{display:inline-block;padding:2px 8px;font-family:Roboto Mono,monospace;font-size:12px;border:1px solid var(--%NS%p3xr-list-border, rgba(0, 0, 0, .12));border-radius:4px;background:var(--%NS%p3xr-input-bg, #f5f5f5);color:var(--%NS%p3xr-input-color, #333);min-width:70px;text-align:center;white-space:nowrap}.p3xr-kbd-small{min-width:50px;font-size:11px}
`],encapsulation:2})}return H})();var B0=`p3xr-console-drawer-height`;var p1=null;function t3(H){p1||(p1=document.createElement(`style`),p1.setAttribute(`data-p3xr-console-drawer-height-bootstrap`,``),document.head.appendChild(p1)),p1.textContent=`:root { --p3xr-console-drawer-height: ${H}px; }`,document.documentElement.style.setProperty(`--p3xr-console-drawer-height`,`${H}px`)}function i3(){return{minPx:15/100*window.innerHeight,maxPx:66/100*window.innerHeight}}function P0(){let H=localStorage.getItem(B0);if(!H)return null;let r=parseInt(H,10);return Number.isFinite(r)?r:null}function o3(){let H=P0();if(H===null)return;let{minPx:r,maxPx:C}=i3();t3(Math.max(r,Math.min(C,H))),window.addEventListener(`resize`,()=>{let L=document.documentElement.style.getPropertyValue(`--p3xr-console-drawer-height`);if(!L||!L.endsWith(`px`))return;let V=parseInt(L,10);if(!Number.isFinite(V))return;let{minPx:e,maxPx:t}=i3(),n=Math.max(e,Math.min(t,V));n!==V&&t3(n)})}o3();gM(r3,{providers:[rm(qo.forRoot(j2),ht,zt),{provide:Be,useValue:{appearance:`fill`}},{provide:lt,useValue:{position:`above`}}]}).then(H=>{globalThis.__p3xr_snackbar=H.injector.get(U);let r=H.injector.get(Q),C=H.injector.get(x);globalThis.__p3xr_test={state:r,settings:C},console.info(`Angular bootstrap complete`)}).catch(H=>{console.error(`Angular bootstrap error:`,H)});