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
185 lines • 158 kB
JavaScript
import{a as F,d as L,i as E,r as C,u as K}from"./main-OCJB5534.js";import{Bi as ym,Cn as _T,D as Ey,Di as wf,Dn as _y,Dr as lo$1,Dt as Qe,E as En$1,F as HY,Fi as xi$1,Gn as dT,Gt as UY,Hr as nn$1,Ht as Tf,In as by,It as Sn$1,J as Je,Jn as et,Kr as oT,Lt as Sy,P as HT,Pi as xf,Pn as bm,Pr as mc,Pt as Rm,Qn as fp,Qr as qC,Rn as co$1,T as Ee,Vn as cr$1,W as J,Wi as ze,Wn as d0,Wr as o0,Xt as Uy,Zr as q,_ as Cf,b as Cy,ct as N,ei as qT,er as gT,gi as u0,gn as Z,gr as jf,gt as O,h as By,hi as tt,ii as rT,in as Wa,ir as h,k as G0,l as Am,lr as hy,mi as te,mn as YQ,pt as Nf,qr as oe,ri as rN,rn as WC,s as $y,t as $Y,un as XT,ur as iT,vi as uc,vr as jy,vt as P,w as Eb,wi as vt,wr as lc,xi as v,yn as ZN,yt as P0,zn as cp}from"./chunk-CHqDEyfr.js";import{n as u,t as f}from"./chunk-DolM25Wu.js";import"./chunk-CPClUPec.js";import"./chunk-BRxf0Wo1.js";import{n as x,t as Q}from"./chunk-CyniViPG.js";import{n as bi$1,t as _t}from"./chunk-DjVJBOYc.js";import{t as h$1}from"./chunk-CWEwaFv9.js";import{n as Le}from"./chunk-CyaMV1f5.js";import{t as It}from"./chunk-BM0xjj91.js";import{C as xn$1,a as He,f as an$1,i as Gn$1,y as on$1}from"./chunk-B_FU7ynV.js";import{r as gt,t as Qt}from"./chunk-CNSP-oVC.js";import{n as wt,r as yt}from"./chunk-CGgWGJ3E.js";import"./chunk-CFyh5uM7.js";import{d as qe,i as Qt$1,n as G,o as U}from"./chunk-CLjqwtZV.js";import{i as ze$1,n as Q$1,r as ye,t as Oe}from"./chunk-BYtjyP-K.js";import{t as Wt}from"./chunk-DvzfNneG.js";import"./chunk-DxgAwx0L.js";import{n as bt,r as nt,t as Dt}from"./chunk-B33NAFLi.js";import{n as S,t as U$1}from"./chunk-DDuYYYPc.js";import{t as lt}from"./chunk-Cc4dc3EH2.js";import{t as X}from"./chunk-BfFSlGI12.js";import"./chunk-CaLi_qYn2.js";import{n as Yt$1,r as Zt$1,t as Xt$1}from"./chunk-C73tB7I62.js";import{n as J$1}from"./chunk-CARSOUZ02.js";import{t as h$2}from"./chunk-DzI3IEeY2.js";import{t as T}from"./chunk-CWVY7TNb.js";import{l as q$1}from"./chunk-CMQBeVtl.js";import{n as Nt,r as Pt}from"./chunk-BGkKuku6.js";import{n as b,t as P$1}from"./chunk-BTZfv3-Q.js";import{n as u$1,r as y,t as w}from"./chunk-BtOEuhJm.js";import{n as we,t as te$1}from"./chunk-C3kuP7Oy.js";var bi=[`determinateSpinner`];function ki(i,r){if(i&1&&(Am(),Wa(0,`svg`,11),_y(1,`circle`,12),wf()),i&2){let e=gT();xi$1(`viewBox`,e._viewBox()),Sn$1(),uc(`stroke-dasharray`,e._strokeCircumference(),`px`)(`stroke-dashoffset`,e._strokeCircumference()/2,`px`)(`stroke-width`,e._circleStrokeWidth(),`%`),xi$1(`r`,e._circleRadius())}}var wi=new v(`mat-progress-spinner-default-options`,{providedIn:`root`,factory:()=>({diameter:Zt})});var Zt=100;var Si=10;var Xt=(()=>{class i{_elementRef=h(q);_noopAnimations;get color(){return this._color||this._defaultColor}set color(e){this._color=e}_color;_defaultColor=`primary`;_determinateCircle;constructor(){let e=h(wi),n=P0(),t=this._elementRef.nativeElement;this._noopAnimations=n===`di-disabled`&&!!e&&!e._forceAnimations,this.mode=t.nodeName.toLowerCase()===`mat-spinner`?`indeterminate`:`determinate`,!this._noopAnimations&&n===`reduced-motion`&&t.classList.add(`mat-progress-spinner-reduced-motion`),e&&(e.color&&(this.color=this._defaultColor=e.color),e.diameter&&(this.diameter=e.diameter),e.strokeWidth&&(this.strokeWidth=e.strokeWidth))}mode;get value(){return this.mode===`determinate`?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,e||0))}_value=0;get diameter(){return this._diameter}set diameter(e){this._diameter=e||0}_diameter=Zt;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=e||0}_strokeWidth;_circleRadius(){return(this.diameter-Si)/2}_viewBox(){let e=this._circleRadius()*2+this.strokeWidth;return`0 0 ${e} ${e}`}_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 ɵfac=function(n){return new(n||i)};static ɵcmp=Ee({type:i,selectors:[[`mat-progress-spinner`],[`mat-spinner`]],viewQuery:function(n,t){if(n&1&&lc(bi,5),n&2){let s;Cf(s=xf())&&(t._determinateCircle=s.first)}},hostAttrs:[`role`,`progressbar`,`tabindex`,`-1`,1,`mat-mdc-progress-spinner`,`mdc-circular-progress`],hostVars:18,hostBindings:function(n,t){n&2&&(xi$1(`aria-valuemin`,0)(`aria-valuemax`,100)(`aria-valuenow`,t.mode===`determinate`?t.value:null)(`mode`,t.mode),Tf(`mat-`+t.color),uc(`width`,t.diameter,`px`)(`height`,t.diameter,`px`)(`--%NS%mat-progress-spinner-size`,t.diameter+`px`)(`--%NS%mat-progress-spinner-active-indicator-width`,t.diameter+`px`),vt(`_mat-animation-noopable`,t._noopAnimations)(`mdc-circular-progress--indeterminate`,t.mode===`indeterminate`))},inputs:{color:`color`,mode:`mode`,value:[2,`value`,`value`,jf],diameter:[2,`diameter`,`diameter`,jf],strokeWidth:[2,`strokeWidth`,`strokeWidth`,jf]},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(n,t){if(n&1&&(hy(0,ki,2,8,`ng-template`,null,0,rN),Wa(2,`div`,2,1),Am(),Wa(4,`svg`,3),_y(5,`circle`,4),wf()(),Rm(),Wa(6,`div`,5)(7,`div`,6)(8,`div`,7),Ey(9,8),wf(),Wa(10,`div`,9),Ey(11,8),wf(),Wa(12,`div`,10),Ey(13,8),wf()()()),n&2){let s=_T(1);Sn$1(4),xi$1(`viewBox`,t._viewBox()),Sn$1(),uc(`stroke-dasharray`,t._strokeCircumference(),`px`)(`stroke-dashoffset`,t._strokeDashOffset(),`px`)(`stroke-width`,t._circleStrokeWidth(),`%`),xi$1(`r`,t._circleRadius()),Sn$1(4),by(`ngTemplateOutlet`,s),Sn$1(2),by(`ngTemplateOutlet`,s),Sn$1(2),by(`ngTemplateOutlet`,s)}},dependencies:[ZN],styles:[`.mat-mdc-progress-spinner {
--%NS%mat-progress-spinner-animation-multiplier: 1;
display: block;
overflow: hidden;
line-height: 0;
position: relative;
direction: ltr;
transition: opacity 250ms cubic-bezier(0.4, 0, 0.6, 1);
}
.mat-mdc-progress-spinner circle {
stroke-width: var(--%NS%mat-progress-spinner-active-indicator-width, 4px);
}
.mat-mdc-progress-spinner._mat-animation-noopable, .mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle {
transition: none !important;
}
.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,
.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,
.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container {
animation: none !important;
}
.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle {
stroke-dasharray: 0 !important;
}
@media (forced-colors: active) {
.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,
.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle {
stroke: currentColor;
stroke: CanvasText;
}
}
.mat-progress-spinner-reduced-motion {
--%NS%mat-progress-spinner-animation-multiplier: 1.25;
}
.mdc-circular-progress__determinate-container,
.mdc-circular-progress__indeterminate-circle-graphic,
.mdc-circular-progress__indeterminate-container,
.mdc-circular-progress__spinner-layer {
position: absolute;
width: 100%;
height: 100%;
}
.mdc-circular-progress__determinate-container {
transform: rotate(-90deg);
}
.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container {
opacity: 0;
}
.mdc-circular-progress__indeterminate-container {
font-size: 0;
letter-spacing: 0;
white-space: nowrap;
opacity: 0;
}
.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container {
opacity: 1;
animation: mdc-circular-progress-container-rotate calc(1568.2352941176ms * var(--%NS%mat-progress-spinner-animation-multiplier)) linear infinite;
}
.mdc-circular-progress__determinate-circle-graphic,
.mdc-circular-progress__indeterminate-circle-graphic {
fill: transparent;
}
.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,
.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic {
stroke: var(--%NS%mat-progress-spinner-active-indicator-color, var(--%NS%mat-sys-primary));
}
@media (forced-colors: active) {
.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,
.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic {
stroke: CanvasText;
}
}
.mdc-circular-progress__determinate-circle {
transition: stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);
}
.mdc-circular-progress__gap-patch {
position: absolute;
top: 0;
left: 47.5%;
box-sizing: border-box;
width: 5%;
height: 100%;
overflow: hidden;
}
.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic {
left: -900%;
width: 2000%;
transform: rotate(180deg);
}
.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic {
width: 200%;
}
.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic {
left: -100%;
}
.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic {
animation: mdc-circular-progress-left-spin calc(1333ms * var(--%NS%mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}
.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic {
animation: mdc-circular-progress-right-spin calc(1333ms * var(--%NS%mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}
.mdc-circular-progress__circle-clipper {
display: inline-flex;
position: relative;
width: 50%;
height: 100%;
overflow: hidden;
}
.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer {
animation: mdc-circular-progress-spinner-layer-rotate calc(5332ms * var(--%NS%mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}
@keyframes mdc-circular-progress-container-rotate {
to {
transform: rotate(360deg);
}
}
@keyframes mdc-circular-progress-spinner-layer-rotate {
12.5% {
transform: rotate(135deg);
}
25% {
transform: rotate(270deg);
}
37.5% {
transform: rotate(405deg);
}
50% {
transform: rotate(540deg);
}
62.5% {
transform: rotate(675deg);
}
75% {
transform: rotate(810deg);
}
87.5% {
transform: rotate(945deg);
}
100% {
transform: rotate(1080deg);
}
}
@keyframes mdc-circular-progress-left-spin {
from {
transform: rotate(265deg);
}
50% {
transform: rotate(130deg);
}
to {
transform: rotate(265deg);
}
}
@keyframes mdc-circular-progress-right-spin {
from {
transform: rotate(-265deg);
}
50% {
transform: rotate(-130deg);
}
to {
transform: rotate(-265deg);
}
}
`],encapsulation:2})}return i})();var Yt=(()=>{class i{static ɵfac=function(n){return new(n||i)};static ɵmod=oe({type:i});static ɵinj=te({imports:[nn$1]})}return i})();var Ye=(()=>{class i{dialog;constructor(e){this.dialog=e}show(e){return L(this,null,function*(){let{TtlDialogComponent:n}=yield import(`./chunk-QB3ia2QV2.js`),t=this.dialog.open(n,h$1({data:{model:e.model}}));return new Promise((s,p)=>{t.afterClosed().subscribe(C=>{C?s(C):p()})})})}static ɵfac=function(n){return new(n||i)(N(Le))};static ɵprov=P({token:i,factory:i.ɵfac,providedIn:`root`})}return i})();function ei(i){let r=i instanceof Uint8Array?i:new Uint8Array(i);if(r.length<4)return{ext:`bin`,mime:`application/octet-stream`};if(r[0]===137&&r[1]===80&&r[2]===78&&r[3]===71)return{ext:`png`,mime:`image/png`};if(r[0]===255&&r[1]===216&&r[2]===255)return{ext:`jpg`,mime:`image/jpeg`};if(r[0]===71&&r[1]===73&&r[2]===70&&r[3]===56)return{ext:`gif`,mime:`image/gif`};if(r[0]===66&&r[1]===77)return{ext:`bmp`,mime:`image/bmp`};if(r[0]===82&&r[1]===73&&r[2]===70&&r[3]===70&&r.length>=12&&r[8]===87&&r[9]===69&&r[10]===66&&r[11]===80)return{ext:`webp`,mime:`image/webp`};if(r[0]===73&&r[1]===73&&r[2]===42&&r[3]===0||r[0]===77&&r[1]===77&&r[2]===0&&r[3]===42)return{ext:`tiff`,mime:`image/tiff`};if(r[0]===0&&r[1]===0&&r[2]===1&&r[3]===0)return{ext:`ico`,mime:`image/x-icon`};if(r[0]===37&&r[1]===80&&r[2]===68&&r[3]===70)return{ext:`pdf`,mime:`application/pdf`};if(r[0]===80&&r[1]===75&&r[2]===3&&r[3]===4)return{ext:`zip`,mime:`application/zip`};if(r[0]===31&&r[1]===139)return{ext:`gz`,mime:`application/gzip`};if(r[0]===66&&r[1]===90&&r[2]===104)return{ext:`bz2`,mime:`application/x-bzip2`};if(r[0]===253&&r[1]===55&&r[2]===122&&r[3]===88&&r.length>=6&&r[4]===90&&r[5]===0)return{ext:`xz`,mime:`application/x-xz`};if(r[0]===40&&r[1]===181&&r[2]===47&&r[3]===253)return{ext:`zst`,mime:`application/zstd`};if(r[0]===4&&r[1]===34&&r[2]===77&&r[3]===24)return{ext:`lz4`,mime:`application/x-lz4`};if(r[0]===55&&r[1]===122&&r[2]===188&&r[3]===175&&r.length>=6&&r[4]===39&&r[5]===28)return{ext:`7z`,mime:`application/x-7z-compressed`};if(r[0]===82&&r[1]===97&&r[2]===114&&r[3]===33)return{ext:`rar`,mime:`application/x-rar-compressed`};if(r[0]===82&&r[1]===73&&r[2]===70&&r[3]===70&&r.length>=12&&r[8]===87&&r[9]===65&&r[10]===86&&r[11]===69)return{ext:`wav`,mime:`audio/wav`};if(r[0]===82&&r[1]===73&&r[2]===70&&r[3]===70&&r.length>=12&&r[8]===65&&r[9]===86&&r[10]===73&&r[11]===32)return{ext:`avi`,mime:`video/x-msvideo`};if(r[0]===255&&(r[1]===251||r[1]===243||r[1]===242)||r[0]===73&&r[1]===68&&r[2]===51)return{ext:`mp3`,mime:`audio/mpeg`};if(r[0]===102&&r[1]===76&&r[2]===97&&r[3]===67)return{ext:`flac`,mime:`audio/flac`};if(r[0]===79&&r[1]===103&&r[2]===103&&r[3]===83)return{ext:`ogg`,mime:`audio/ogg`};if(r[0]===26&&r[1]===69&&r[2]===223&&r[3]===163)return{ext:`webm`,mime:`video/webm`};if(r.length>=8&&r[4]===102&&r[5]===116&&r[6]===121&&r[7]===112)return{ext:`mp4`,mime:`video/mp4`};if(r[0]===0&&r[1]===97&&r[2]===115&&r[3]===109)return{ext:`wasm`,mime:`application/wasm`};if(r[0]===127&&r[1]===69&&r[2]===76&&r[3]===70)return{ext:`elf`,mime:`application/x-elf`};if(r.length>=6&&r[0]===83&&r[1]===81&&r[2]===76&&r[3]===105&&r[4]===116&&r[5]===101)return{ext:`sqlite`,mime:`application/x-sqlite3`};if(r[0]===56&&r[1]===66&&r[2]===80&&r[3]===83)return{ext:`psd`,mime:`image/vnd.adobe.photoshop`};return Vi(r)||{ext:`bin`,mime:`application/octet-stream`}}function Vi(i){let r=i[0];if(r===123||r===91)return{ext:`json`,mime:`application/json`};if(r===60){let e=new TextDecoder(`utf-8`,{fatal:!1}).decode(i.slice(0,Math.min(i.length,256))).toLowerCase();if(e.includes(`<svg`))return{ext:`svg`,mime:`image/svg+xml`};if(e.includes(`<!doctype html`)||e.includes(`<html`))return{ext:`html`,mime:`text/html`};if(e.includes(`<?xml`))return{ext:`xml`,mime:`application/xml`}}if(i[0]===239&&i[1]===187&&i[2]===191){if(i.length>3){if(i[3]===123||i[3]===91)return{ext:`json`,mime:`application/json`};if(i[3]===60)return{ext:`xml`,mime:`application/xml`}}return{ext:`txt`,mime:`text/plain`}}return null}var ie=(()=>{class i{i18n;socket;common;jsonViewDialog;keyNewOrSetDialog;breakpointObserver;cmd;cdr;redisState;settingsService;p3xrResponse;p3xrValue;p3xrValueBuffer;p3xrKey=``;isGtSm=window.innerWidth>=960;valueFormat=`raw`;unsubFns=[];constructor(e,n,t,s,p,C,b,S,E,T){this.i18n=e,this.socket=n,this.common=t,this.jsonViewDialog=s,this.keyNewOrSetDialog=p,this.breakpointObserver=C,this.cmd=b,this.cdr=S,this.redisState=E,this.settingsService=T;let ee=this.breakpointObserver.observe(`(min-width: 960px)`).subscribe(M=>{this.isGtSm=M.matches,this.cdr.markForCheck()});this.unsubFns.push(()=>ee.unsubscribe())}destroyBase(){this.unsubFns.forEach(e=>e())}get strings(){return this.i18n.strings()}get isReadonly(){return this.redisState.connection()?.readonly===!0}get maxValueDisplay(){return this.settingsService.maxValueDisplay()??1024}get maxValueAsBuffer(){return this.settingsService.maxValueAsBuffer}copy(e){return L(this,null,function*(){yield this.settingsService.clipboard(e),this.common.toast(this.strings?.status?.dataCopied)})}downloadBuffer(e,n){let t=e instanceof Uint8Array?e:new Uint8Array(e),{ext:s,mime:p}=ei(t),C=new Blob([t],{type:p}),b=URL.createObjectURL(C),S=document.createElement(`a`);S.href=b,S.download=`${n||this.p3xrKey}.${s}`,S.click(),URL.revokeObjectURL(b)}showJson(e,n){return L(this,null,function*(){try{yield this.jsonViewDialog.show({value:e,$event:n})}catch(t){}})}refreshKey(){this.cmd.refreshKey$.next()}gtag(e){try{typeof window.gtag==`function`&&window.gtag(`config`,this.settingsService.googleAnalytics,{page_path:e})}catch(n){}}truncateDisplay(e){if(e==null)return``;let n=String(e);return this.maxValueDisplay<=0?n:n.length>this.maxValueDisplay?n.substring(0,this.maxValueDisplay):n}isTruncated(e){return e==null||this.maxValueDisplay<=0?!1:String(e).length>this.maxValueDisplay}formatValue(e){if(e==null)return``;let n=String(e);switch(this.valueFormat){case`json`:try{return JSON.stringify(JSON.parse(n),null,2)}catch(t){return n}case`base64`:{let t=new TextEncoder().encode(n),s=``;for(let p=0;p<t.length;p++)s+=String.fromCharCode(t[p]);return btoa(s)}default:return n}}isBufferValue(e){return typeof e==`object`&&e!==null&&e.byteLength!==void 0}prettyBytes(e){return this.settingsService.prettyBytes(e)??`${e} bytes`}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵdir=Z({type:i,inputs:{p3xrResponse:`p3xrResponse`,p3xrValue:`p3xrValue`,p3xrValueBuffer:`p3xrValueBuffer`,p3xrKey:`p3xrKey`,valueFormat:`valueFormat`}})}return i})();var Ii=[`hexContent`];var Ei=[`hexScrollbar`];var Ki=(i,r)=>r.addr;function Mi(i,r){if(i&1&&(Je(0,`div`,4)(1,`span`,7),HT(2),et(),Je(3,`span`,8),HT(4),Je(5,`span`,9),HT(6),et()(),Je(7,`span`,10),HT(8),Je(9,`span`,9),HT(10),et()()()),i&2){let e=r.$implicit;Sn$1(2),jy(e.addr),Sn$1(2),jy(e.hexReal),Sn$1(2),jy(e.hexPad),Sn$1(2),jy(e.asciiReal),Sn$1(2),jy(e.asciiPad)}}var pe=(()=>{class i{cdr;lines=[];contentScrollWidth=0;truncated=!1;contentRef;scrollbarRef;_value=``;resizeObs=null;viewReady=!1;constructor(e){this.cdr=e}set value(e){this._value=e??``,this.lines=i.parseHexLines(this._value),this.viewReady&&requestAnimationFrame(()=>this.measure())}get value(){return this._value}ngAfterViewInit(){this.viewReady=!0,this.measure(),this.resizeObs=new ResizeObserver(()=>{this.measure(),this.cdr.detectChanges()}),this.contentRef?.nativeElement&&this.resizeObs.observe(this.contentRef.nativeElement)}ngOnDestroy(){this.resizeObs?.disconnect()}syncScroll(){this.contentRef?.nativeElement&&this.scrollbarRef?.nativeElement&&(this.contentRef.nativeElement.scrollLeft=this.scrollbarRef.nativeElement.scrollLeft)}measure(){let e=this.contentRef?.nativeElement;e&&(this.contentScrollWidth=e.scrollWidth)}static parseHexLines(e){if(!e)return[];let n=new TextEncoder().encode(e),t=[];for(let s=0;s<n.length;s+=16){let p=n.slice(s,s+16),C=p.length,b=s.toString(16).padStart(8,`0`),S=new Uint8Array(16);S.set(p);let E=Array.from(S.slice(0,8)).map(M=>M.toString(16).padStart(2,`0`)).join(` `),T=Array.from(S.slice(8)).map(M=>M.toString(16).padStart(2,`0`)).join(` `),ee=E+` `+T;if(C===16){let M=Array.from(S).map(re=>re>=32&&re<=126?String.fromCharCode(re):`.`).join(``);t.push({addr:b,hexReal:ee,hexPad:``,asciiReal:M,asciiPad:``})}else{let M=C<=8?3*C-1:25+3*(C-8)-1,re=Array.from(S).map(We=>We>=32&&We<=126?String.fromCharCode(We):`.`).join(``);t.push({addr:b,hexReal:ee.substring(0,M),hexPad:ee.substring(M),asciiReal:re.substring(0,C),asciiPad:re.substring(C)})}}return t}static ɵfac=function(n){return new(n||i)(Qe(mc))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-hex-monitor`]],viewQuery:function(n,t){if(n&1&&lc(Ii,5)(Ei,5),n&2){let s;Cf(s=xf())&&(t.contentRef=s.first),Cf(s=xf())&&(t.scrollbarRef=s.first)}},inputs:{truncated:`truncated`,value:`value`},decls:8,vars:2,consts:[[`hexContent`,``],[`hexScrollbar`,``],[2,`font-family`,`'Roboto Mono', monospace`,`font-size`,`16px`,`line-height`,`22px`],[2,`overflow`,`hidden`],[2,`display`,`flex`,`white-space`,`nowrap`],[2,`overflow-x`,`auto`,`overflow-y`,`hidden`,`position`,`sticky`,`bottom`,`0`,3,`scroll`],[2,`height`,`1px`],[2,`opacity`,`0.5`,`padding-right`,`12px`,`flex-shrink`,`0`],[2,`padding-right`,`12px`,`flex-shrink`,`0`,`white-space`,`pre`],[2,`opacity`,`0.5`],[2,`border-left`,`1px solid var(--p3xr-fieldset-border, rgba(255,255,255,0.25))`,`padding-left`,`12px`,`flex-shrink`,`0`]],template:function(n,t){n&1&&(Je(0,`div`,2)(1,`div`,3,0),oT(3,Mi,11,5,`div`,4,Ki),et(),Je(5,`div`,5,1),Cy(`scroll`,function(){return t.syncScroll()}),tt(7,`div`,6),et()()),n&2&&(Sn$1(3),iT(t.lines),Sn$1(4),uc(`width`,t.contentScrollWidth,`px`))},styles:[`:host{display:block}
`],encapsulation:2,changeDetection:1})}return i})();var ti=i=>({maxValueAsBuffer:i});function Di(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(3).setBufferUpload())}),Wa(1,`mat-icon`),HT(2,`upload`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings?.intention?.setBuffer)}}function Fi(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(3).setBufferUpload())}),Wa(1,`mat-icon`),HT(2,`upload`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings?.intention?.setBuffer??`Upload`)}function Bi(i,r){if(i&1&&co$1(0,Di,5,1,`button`,6)(1,Fi,3,1,`button`,7),i&2)lo$1(gT(2).isGtSm?0:1)}function Pi(i,r){if(i&1){let e=dT();Wa(0,`button`,10),Sy(`click`,function(){ym(e);return bm(gT(2).downloadBufferFile())}),Wa(1,`mat-icon`),HT(2,`download`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.downloadBuffer)}}function ji(i,r){if(i&1){let e=dT();Wa(0,`button`,11),Sy(`click`,function(){ym(e);return bm(gT(2).downloadBufferFile())}),Wa(1,`mat-icon`),HT(2,`download`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.downloadBuffer??`Download`)}function Ri(i,r){if(i&1){let e=dT();Wa(0,`button`,10),Sy(`click`,function(t){ym(e);return bm(gT(2).jsonViewer(t))}),Wa(1,`mat-icon`),HT(2,`account_tree`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.jsonViewShow)}}function Ai(i,r){if(i&1){let e=dT();Wa(0,`button`,11),Sy(`click`,function(t){ym(e);return bm(gT(2).jsonViewer(t))}),Wa(1,`mat-icon`),HT(2,`account_tree`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.jsonViewShow??`JSON`)}function Oi(i,r){if(i&1){let e=dT();Wa(0,`button`,10),Sy(`click`,function(){ym(e);return bm(gT(2).copyValue())}),Wa(1,`mat-icon`),HT(2,`content_copy`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.copy)}}function Ni(i,r){if(i&1){let e=dT();Wa(0,`button`,11),Sy(`click`,function(){ym(e);return bm(gT(2).copyValue())}),Wa(1,`mat-icon`),HT(2,`content_copy`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.copy??`Copy`)}function Li(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(3).formatJson())}),Wa(1,`mat-icon`),HT(2,`format_line_spacing`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings?.intention?.formatJson)}}function Ji(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(3).formatJson())}),Wa(1,`mat-icon`),HT(2,`format_line_spacing`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings?.intention?.formatJson??`Format JSON`)}function $i(i,r){if(i&1&&co$1(0,Li,5,1,`button`,6)(1,Ji,3,1,`button`,7),i&2)lo$1(gT(2).isGtSm?0:1)}function Wi(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(2).jsonEditor())}),Wa(1,`mat-icon`),HT(2,`description`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.jsonViewEditor)}}function Hi(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(2).jsonEditor())}),Wa(1,`mat-icon`),HT(2,`description`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.jsonViewEditor??`JSON Editor`)}function zi(i,r){if(i&1){let e=dT();Wa(0,`button`,10),Sy(`click`,function(){ym(e);return bm(gT(3).showDigest())}),Wa(1,`mat-icon`),HT(2,`numbers`),wf(),Wa(3,`span`),HT(4,`Digest`),wf()()}}function qi(i,r){if(i&1){let e=dT();Wa(0,`button`,13),Sy(`click`,function(){ym(e);return bm(gT(3).showDigest())}),Wa(1,`mat-icon`),HT(2,`numbers`),wf()()}}function Ui(i,r){if(i&1&&co$1(0,zi,5,0,`button`,4)(1,qi,3,0,`button`,12),i&2)lo$1(gT(2).isGtSm?0:1)}function Gi(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(3).edit())}),Wa(1,`mat-icon`),HT(2,`edit`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings?.intention?.edit)}}function Qi(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(3).edit())}),Wa(1,`mat-icon`),HT(2,`edit`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings?.intention?.edit??`Edit`)}function Zi(i,r){if(i&1&&co$1(0,Gi,5,1,`button`,6)(1,Qi,3,1,`button`,7),i&2)lo$1(gT(2).isGtSm?0:1)}function Xi(i,r){if(i&1&&(Wa(0,`div`,0),co$1(1,Bi,2,1),co$1(2,Pi,5,1,`button`,4)(3,ji,3,1,`button`,5),co$1(4,Ri,5,1,`button`,4)(5,Ai,3,1,`button`,5),co$1(6,Oi,5,1,`button`,4)(7,Ni,3,1,`button`,5),co$1(8,$i,2,1),co$1(9,Wi,5,1,`button`,6)(10,Hi,3,1,`button`,7),co$1(11,Ui,2,1),co$1(12,Zi,2,1),wf()),i&2){let e=gT();Sn$1(),lo$1(e.isReadonly?-1:1),Sn$1(),lo$1(e.isGtSm?2:3),Sn$1(2),lo$1(e.isGtSm?4:5),Sn$1(2),lo$1(e.isGtSm?6:7),Sn$1(2),lo$1(e.isReadonly?-1:8),Sn$1(),lo$1(e.isGtSm?9:10),Sn$1(2),lo$1(e.redisState.redisVersion().isAtLeast(8,4)?11:-1),Sn$1(),lo$1(e.isReadonly?-1:12)}}function Yi(i,r){if(i&1){let e=dT();Wa(0,`mat-slide-toggle`,17),$y(`ngModelChange`,function(t){ym(e);let s=gT(2);return qT(s.validateJson,t)||(s.validateJson=t),bm(t)}),HT(1),wf(),WC()}if(i&2){let e=gT(2);Uy(`ngModel`,e.validateJson),qC(),Sn$1(),Nf(` `,e.strings?.label?.validateJson,` `)}}function en(i,r){if(i&1){let e=dT();Wa(0,`button`,18),Sy(`click`,function(){ym(e);return bm(gT(2).cancelEdit())}),Wa(1,`mat-icon`),HT(2,`cancel`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.cancel)}}function tn(i,r){if(i&1){let e=dT();Wa(0,`button`,19),Sy(`click`,function(){ym(e);return bm(gT(2).cancelEdit())}),Wa(1,`mat-icon`),HT(2,`cancel`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.cancel??`Cancel`)}function nn(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(3).setBufferUpload())}),Wa(1,`mat-icon`),HT(2,`upload`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings?.intention?.setBuffer)}}function on(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(3).setBufferUpload())}),Wa(1,`mat-icon`),HT(2,`upload`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings?.intention?.setBuffer??`Upload`)}function rn(i,r){if(i&1&&co$1(0,nn,5,1,`button`,6)(1,on,3,1,`button`,7),i&2)lo$1(gT(2).isGtSm?0:1)}function an(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(){ym(e);return bm(gT(3).save())}),Wa(1,`mat-icon`),HT(2,`save`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings?.intention?.save)}}function sn(i,r){if(i&1){let e=dT();Wa(0,`button`,9),Sy(`click`,function(){ym(e);return bm(gT(3).save())}),Wa(1,`mat-icon`),HT(2,`save`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings?.intention?.save??`Save`)}function ln(i,r){if(i&1&&co$1(0,an,5,1,`button`,6)(1,sn,3,1,`button`,7),i&2)lo$1(gT(2).isGtSm?0:1)}function cn(i,r){if(i&1&&(Wa(0,`div`,0),co$1(1,Yi,2,2,`mat-slide-toggle`,14),co$1(2,en,5,1,`button`,15)(3,tn,3,1,`button`,16),co$1(4,rn,2,1),co$1(5,ln,2,1),wf()),i&2){let e=gT();Sn$1(),lo$1(e.isReadonly?-1:1),Sn$1(),lo$1(e.isGtSm?2:3),Sn$1(2),lo$1(e.isReadonly?-1:4),Sn$1(),lo$1(e.isReadonly?-1:5)}}function mn(i,r){if(i&1&&(Wa(0,`div`,20),HT(1),wf()),i&2){let e=gT(2);Sn$1(),By(` `,e.strings?.label?.isBuffer?.(XT(2,ti,e.prettyBytes(e.maxValueAsBuffer))),` `,e.bufferDisplay(),` `)}}function pn(i,r){if(i&1){let e=dT();Wa(0,`div`,20),HT(1),wf(),Wa(2,`textarea`,22),$y(`ngModelChange`,function(t){ym(e);let s=gT(2);return qT(s.p3xrValueBuffer,t)||(s.p3xrValueBuffer=t),bm(t)}),wf(),WC()}if(i&2){let e=gT(2);Sn$1(),By(` `,e.strings?.label?.isBuffer?.(XT(3,ti,e.prettyBytes(e.maxValueAsBuffer))),` `,e.bufferDisplay(),` `),Sn$1(),Uy(`ngModel`,e.p3xrValueBuffer),qC()}}function dn(i,r){if(i&1){let e=dT();Wa(0,`textarea`,22),$y(`ngModelChange`,function(t){ym(e);let s=gT(2);return qT(s.p3xrValue,t)||(s.p3xrValue=t),bm(t)}),wf(),WC()}if(i&2)Uy(`ngModel`,gT(2).p3xrValue),qC()}function un(i,r){if(i&1&&(Wa(0,`mat-form-field`,2),co$1(1,mn,2,4,`div`,20),co$1(2,pn,3,5)(3,dn,1,1,`textarea`,21),wf()),i&2){let e=gT();Sn$1(),lo$1(e.p3xrValue&&e.p3xrValue.toString()===`[object ArrayBuffer]`?1:-1),Sn$1(),lo$1(e.buffer?2:3)}}function _n(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,24),i&2){let e=gT(2);by(`value`,e.truncateDisplay(e.p3xrValue))(`truncated`,e.isTruncated(e.p3xrValue))}}function xn(i,r){i&1&&(Wa(0,`span`,26),HT(1,`...`),wf())}function gn(i,r){if(i&1&&(Wa(0,`span`,25),HT(1),co$1(2,xn,2,0,`span`,26),wf()),i&2){let e=gT(2);Sn$1(),jy(e.truncateDisplay(e.formatValue(e.p3xrValue))),Sn$1(),lo$1(e.isTruncated(e.p3xrValue)?2:-1)}}function fn(i,r){if(i&1){let e=dT();Wa(0,`div`,23),Sy(`click`,function(){ym(e);return bm(gT().edit())}),co$1(1,_n,1,2,`p3xr-hex-monitor`,24)(2,gn,3,2,`span`,25),wf()}if(i&2){let e=gT();uc(`overflow`,e.valueFormat===`hex`?`visible`:`auto`),Sn$1(),lo$1(e.valueFormat===`hex`?1:2)}}var ii=(()=>{class i extends ie{jsonEditorDialog;overlay;diffDialog;editable=!1;buffer=!1;validateJson=!1;originalValue;constructor(e,n,t,s,p,C,b,S,E,T,ee,M,re){super(e,n,t,s,p,C,b,E,T,ee),this.jsonEditorDialog=S,this.overlay=M,this.diffDialog=re}ngOnInit(){}showDigest(){return L(this,null,function*(){try{let e=yield this.socket.request({action:`key/string-digest`,payload:{key:this.p3xrKey}});this.common.toast(e.digest||`No digest`)}catch(e){this.common.generalHandleError(e)}})}edit(){let e=this.p3xrValue;typeof e==`string`&&e.length>=this.maxValueAsBuffer?(this.buffer=!0,this.originalValue=structuredClone(this.p3xrValueBuffer)):(this.buffer=!1,this.originalValue=structuredClone(this.p3xrValue)),this.editable=!0}cancelEdit(){this.buffer?this.p3xrValueBuffer=this.originalValue:this.p3xrValue=this.originalValue,this.editable=!1,this.buffer=!1}save(){return L(this,null,function*(){let e=this.buffer?this.p3xrValueBuffer:this.p3xrValue,n=this.originalValue;try{if(this.validateJson&&JSON.parse(e),n!==void 0&&!(yield this.diffDialog.show({keyName:this.p3xrKey,oldValue:n,newValue:e})))return;this.overlay.show({message:this.strings?.intention?.save??`Saving...`}),yield this.socket.request({action:`key/set`,payload:{type:this.p3xrResponse?.type,key:this.p3xrKey,value:e}}),this.gtag(`/key-set`),this.editable=!1,this.buffer=!1,this.refreshKey(),this.overlay.hide(),this.settingsService.undoEnabled()&&n!==void 0&&n!==e&&(yield this.common.toastWithUndo(this.strings?.status?.saved))&&(this.overlay.show({message:`Undo...`}),yield this.socket.request({action:`key/set`,payload:{type:this.p3xrResponse?.type,key:this.p3xrKey,value:n}}),this.refreshKey(),this.overlay.hide(),this.common.toast(this.strings?.status?.reverted))}catch(t){this.common.generalHandleError(t),this.overlay.hide()}})}setBufferUpload(){return L(this,null,function*(){let e=document.createElement(`input`);e.type=`file`,e.onchange=()=>L(this,null,function*(){let n=e.files?.[0];if(!n)return;let t=new FileReader;t.onerror=s=>{this.common.generalHandleError(s)},t.onload=s=>L(this,null,function*(){let p=s.target.result;try{if(this.editable){yield this.common.confirm({message:this.i18n.strings().confirm?.uploadBuffer}),this.buffer?this.p3xrValueBuffer=p:this.p3xrValue=p,this.common.toast(this.i18n.strings().confirm?.uploadBufferDone);return}yield this.common.confirm({message:this.i18n.strings().confirm?.uploadBuffer}),this.overlay.show(),yield this.socket.request({action:`key/set`,payload:{type:this.p3xrResponse?.type,value:p,key:this.p3xrKey}}),this.common.toast(this.i18n.strings().confirm?.uploadBufferDoneAndSave),this.gtag(`/key-set`),this.refreshKey()}catch(C){this.common.generalHandleError(C)}finally{this.overlay.hide()}}),t.readAsArrayBuffer(n)}),e.click()})}jsonViewer(e){return L(this,null,function*(){yield this.showJson(this.p3xrValue,e)})}jsonEditor(){return L(this,null,function*(){try{let e=this.p3xrValue,n=yield this.jsonEditorDialog.show({value:this.p3xrValue});this.originalValue=void 0,this.overlay.show({message:this.strings?.intention?.save??`Saving...`}),yield this.socket.request({action:`key/set`,payload:{type:this.p3xrResponse?.type,key:this.p3xrKey,value:n.obj}}),this.p3xrValue=n.obj,this.editable=!1,this.buffer=!1,this.refreshKey(),this.overlay.hide(),this.settingsService.undoEnabled()&&e!==void 0&&e!==n.obj&&(yield this.common.toastWithUndo(this.strings?.status?.saved))&&(this.overlay.show({message:`Undo...`}),yield this.socket.request({action:`key/set`,payload:{type:this.p3xrResponse?.type,key:this.p3xrKey,value:e}}),this.refreshKey(),this.overlay.hide(),this.common.toast(this.strings?.status?.reverted))}catch(e){}})}formatJson(){return L(this,null,function*(){try{this.p3xrValue=JSON.stringify(JSON.parse(this.p3xrValue),null,this.settingsService.jsonFormat()??2),yield this.save()}catch(e){this.common.toast(this.strings?.label?.jsonViewNotParsable??`Not valid JSON`)}})}copyValue(){this.copy(this.p3xrValue)}downloadBufferFile(){this.downloadBuffer(this.p3xrValueBuffer)}bufferDisplay(){return this.p3xrValueBuffer?.byteLength!==void 0?`(`+this.prettyBytes(this.p3xrValueBuffer.byteLength)+`)`:``}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(y),Qe(mc),Qe(Q),Qe(x),Qe(_t),Qe(w))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-string`]],features:[ze],decls:5,vars:3,consts:[[1,`p3xr-key-type-actions`],[1,`p3xr-key-type-content`],[`appearance`,`fill`,1,`p3xr-key-type-editor`],[1,`p3xr-key-type-display`,2,`cursor`,`pointer`,`max-width`,`100%`,3,`overflow`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`click`,`matTooltip`],[`mat-mini-fab`,``,`type`,`button`,`matTooltip`,`Digest`,`matTooltipPosition`,`above`,1,`btn-accent`],[`mat-mini-fab`,``,`type`,`button`,`matTooltip`,`Digest`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`click`],[1,`btn-accent`,2,`margin-right`,`8px`,3,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-warn`,3,`matTooltip`],[1,`btn-accent`,2,`margin-right`,`8px`,3,`ngModelChange`,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-warn`,3,`click`,`matTooltip`],[1,`p3xr-key-type-buffer-info`],[`matInput`,``,`cdkTextareaAutosize`,``,`cdkAutosizeMinRows`,`4`,3,`ngModel`],[`matInput`,``,`cdkTextareaAutosize`,``,`cdkAutosizeMinRows`,`4`,3,`ngModelChange`,`ngModel`],[1,`p3xr-key-type-display`,2,`cursor`,`pointer`,`max-width`,`100%`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-pre`,2,`word-break`,`break-all`,`white-space`,`pre-wrap`],[2,`opacity`,`0.5`]],template:function(n,t){n&1&&(co$1(0,Xi,13,8,`div`,0),co$1(1,cn,6,4,`div`,0),Wa(2,`div`,1),co$1(3,un,4,2,`mat-form-field`,2)(4,fn,3,3,`div`,3),wf()),n&2&&(lo$1(t.editable?-1:0),Sn$1(),lo$1(t.editable?1:-1),Sn$1(2),lo$1(t.editable?3:4))},dependencies:[Eb,Gn$1,He,xn$1,on$1,$Y,HY,UY,yt,wt,Qt,gt,we,te$1,Oe,ze$1,qe,ye,Qt$1,Q$1,pe],encapsulation:2,changeDetection:1})}return i})();var se=class{page=1;pages=1;zsetMode;settingsService;constructor(r){this.zsetMode=r?.zsetMode??!1,this.settingsService=r?.settingsService}figurePaging(r){let e=this.settingsService?.keyPageCount()??50,n=this.zsetMode?Math.ceil(r/2):r;this.pages=Math.max(Math.ceil(n/e),1),this.page>this.pages?this.page=this.pages:this.page<1&&(this.page=1)}get pageCount(){return this.settingsService?.keyPageCount()??50}get startIndex(){return this.pageCount*(this.page-1)}get endIndex(){return this.startIndex+this.pageCount}pager(r){switch(r){case`first`:this.page=1;break;case`prev`:this.page>1&&this.page--;break;case`next`:this.page<this.pages&&this.page++;break;case`last`:this.page=this.pages;break}}pageChange(){this.page<1&&(this.page=1),this.page>this.pages&&(this.page=this.pages)}};function yn(i,r){if(i&1){let e=dT();Wa(0,`div`,0)(1,`button`,1),Sy(`click`,function(){ym(e);let t=gT();return t.paging.pager(`first`),bm(t.pageChanged.emit())}),Wa(2,`span`,2),HT(3,`skip_previous`),wf()(),Wa(4,`button`,1),Sy(`click`,function(){ym(e);let t=gT();return t.paging.pager(`prev`),bm(t.pageChanged.emit())}),Wa(5,`span`,2),HT(6,`keyboard_arrow_left`),wf()(),Wa(7,`p3xr-ng-input`,3),Sy(`ngModelChange`,function(t){ym(e);return bm(gT().onPageChange(t))}),wf(),WC(),Wa(8,`span`,4),HT(9),wf(),Wa(10,`button`,1),Sy(`click`,function(){ym(e);let t=gT();return t.paging.pager(`next`),bm(t.pageChanged.emit())}),Wa(11,`span`,2),HT(12,`keyboard_arrow_right`),wf()(),Wa(13,`button`,1),Sy(`click`,function(){ym(e);let t=gT();return t.paging.pager(`last`),bm(t.pageChanged.emit())}),Wa(14,`span`,2),HT(15,`skip_next`),wf()()()}if(i&2){let e=gT();Sn$1(),by(`matTooltip`,e.strings?.page?.treeControls?.pager?.first??`First`),Sn$1(3),by(`matTooltip`,e.strings?.page?.treeControls?.pager?.prev??`Previous`),Sn$1(3),by(`max`,``+e.paging.pages)(`ngModel`,e.paging.page),qC(),Sn$1(2),Nf(`/ `,e.paging.pages),Sn$1(),by(`matTooltip`,e.strings?.page?.treeControls?.pager?.next??`Next`),Sn$1(3),by(`matTooltip`,e.strings?.page?.treeControls?.pager?.last??`Last`)}}var de=(()=>{class i{i18n;paging;pageChanged=new J;constructor(e){this.i18n=e}get strings(){return this.i18n.strings()}onPageChange(e){this.paging.page=e,this.paging.pageChange(),this.pageChanged.emit()}static ɵfac=function(n){return new(n||i)(Qe(YQ))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-pager-inline`]],inputs:{paging:`paging`},outputs:{pageChanged:`pageChanged`},decls:1,vars:1,consts:[[1,`p3xr-key-pager-inline`],[`type`,`button`,1,`p3xr-key-pager-btn`,3,`click`,`matTooltip`],[1,`material-icons`],[`type`,`number`,`step`,`1`,`min`,`1`,1,`p3xr-key-pager-input`,3,`ngModelChange`,`max`,`ngModel`],[1,`p3xr-key-pager-text`]],template:function(n,t){n&1&&co$1(0,yn,16,7,`div`,0),n&2&&lo$1(t.paging.pages>1?0:-1)},dependencies:[Eb,Gn$1,xn$1,on$1,Qt,gt,S],styles:[`.p3xr-key-pager-inline[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:4px 0}.p3xr-key-pager-btn[_ngcontent-%COMP%]{background:none;border:none;color:var(--%NS%p3xr-input-border-color, var(--%NS%p3xr-border-color));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:28px;width:28px;margin:0;padding:0}.p3xr-key-pager-btn[_ngcontent-%COMP%]:focus{outline:none}.p3xr-key-pager-btn[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:24px}[_nghost-%COMP%] p3xr-ng-input.p3xr-key-pager-input{vertical-align:middle!important;width:64px;margin:0 4px}.p3xr-key-pager-text[_ngcontent-%COMP%]{margin:0 4px;color:var(--%NS%p3xr-input-color, inherit)}`],changeDetection:1})}return i})();var ni=K(U$1());var hn=(i,r)=>r.key;function Cn(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(t){ym(e);return bm(gT().addHash(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function vn(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,11),i&2){let e=gT().$implicit,n=gT();by(`value`,n.truncateDisplay(e.value))(`truncated`,n.isTruncated(e.value))}}function bn(i,r){i&1&&(Wa(0,`span`,19),HT(1,`...`),wf())}function kn(i,r){if(i&1&&(HT(0),co$1(1,bn,2,0,`span`,19)),i&2){let e=gT().$implicit,n=gT();jy(n.truncateDisplay(n.formatValue(e.value))),Sn$1(),lo$1(n.isTruncated(e.value)?1:-1)}}function wn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,20),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().setFieldTtl(s.key,t))}),HT(1,`schedule`),wf()}if(i&2){let e=gT().$implicit,n=gT();uc(`color`,n.getFieldTtlColor(e.key)||null)(`opacity`,n.hasFieldTtl(e.key)?.7:.3),vt(`p3xr-tree-ttl-pulse`,n.isFieldTtlPulsing(e.key)),by(`matTooltip`,n.hasFieldTtl(e.key)?`TTL: `+n.formatFieldTtl(e.key):n.strings?.intention?.ttl)}}function Sn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,21),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteHashKey(s.key,t))}),HT(1,`delete`),wf()}}function Tn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,22),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().editValue(s.key,s.value,t))}),HT(1,`edit`),wf()}}function Vn(i,r){if(i&1){let e=dT();Wa(0,`div`,7)(1,`span`,9),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.key,s.value,t))}),HT(2),wf(),Wa(3,`span`,10),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.key,s.value,t))}),co$1(4,vn,1,2,`p3xr-hex-monitor`,11)(5,kn,2,2),wf(),Wa(6,`span`,12),co$1(7,wn,2,7,`mat-icon`,13),co$1(8,Sn,2,0,`mat-icon`,14),Wa(9,`mat-icon`,15),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().showJsonItem(s.value,t))}),HT(10,`account_tree`),wf(),Wa(11,`mat-icon`,16),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyItem(t.value))}),HT(12,`content_copy`),wf(),Wa(13,`mat-icon`,17),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadItem(t.key))}),HT(14,`download`),wf(),co$1(15,Tn,2,0,`mat-icon`,18),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(2),jy(e.key),Sn$1(),vt(`p3xr-pre`,n.valueFormat!==`hex`),Sn$1(),lo$1(n.valueFormat===`hex`?4:5),Sn$1(3),lo$1(!n.isReadonly&&n.redisState.redisVersion().isAtLeast(8,0)?7:-1),Sn$1(),lo$1(n.isReadonly?-1:8),Sn$1(7),lo$1(n.isReadonly?-1:15)}}var oi=(()=>{class i extends ie{ttlDialog;paging;pagedItems=[];fieldTtls={};fieldTtlsFetchedAt=0;ttlCountdownInterval=null;constructor(e,n,t,s,p,C,b,S,E,T,ee){super(e,n,t,s,p,C,b,S,E,T),this.ttlDialog=ee,this.paging=new se({settingsService:T})}ngOnInit(){this.updatePaging(),this.loadFieldTtls()}ngOnChanges(e){e.p3xrValue&&(this.updatePaging(),this.loadFieldTtls())}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(Object.keys(this.p3xrValue).length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue){this.pagedItems=[];return}let e=Object.keys(this.p3xrValue);this.pagedItems=e.slice(this.paging.startIndex,this.paging.endIndex).map(n=>({key:n,value:this.p3xrValue[n]}))}addHash(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`hash`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteHashKey(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteHashKey}),yield this.socket.request({action:`key/hash-delete-field`,payload:{key:this.p3xrKey,hashKey:e}}),this.common.toast(this.i18n.strings().status?.deletedHashKey),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}editValue(e,n,t){return L(this,null,function*(){try{let s=typeof n==`string`&&n.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[e]:n;yield this.keyNewOrSetDialog.show({$event:t,type:`edit`,model:{type:`hash`,key:this.p3xrKey,hashKey:e,value:s}}),this.refreshKey()}catch(s){this.common.generalHandleError(s)}})}ngOnDestroy(){this.clearTtlCountdown()}clearTtlCountdown(){this.ttlCountdownInterval&&(clearInterval(this.ttlCountdownInterval),this.ttlCountdownInterval=null)}startTtlCountdown(){this.clearTtlCountdown(),Object.values(this.fieldTtls).some(n=>n>0)&&(this.ttlCountdownInterval=setInterval(()=>{if(Object.keys(this.fieldTtls).some(t=>{let s=this.fieldTtls[t];if(!s||s<=0)return!1;return s-Math.floor((Date.now()-this.fieldTtlsFetchedAt)/1e3)<=0})){this.clearTtlCountdown(),this.refreshKey();return}this.cdr.markForCheck()},1e3))}getRemainingFieldTtl(e){let n=this.fieldTtls[e];if(!n||n<=0)return-1;let s=n-Math.floor((Date.now()-this.fieldTtlsFetchedAt)/1e3);return s>0?s:-1}loadFieldTtls(){return L(this,null,function*(){if(!(!this.redisState.redisVersion().isAtLeast(8,0)||!this.pagedItems.length))try{let e=this.pagedItems.map(t=>t.key);if(e.length===0)return;let n=yield this.socket.request({action:`hash-field/ttls`,payload:{key:this.p3xrKey,fields:e}});this.fieldTtls=n.fieldTtls||{},this.fieldTtlsFetchedAt=Date.now(),this.startTtlCountdown(),this.cdr.markForCheck()}catch(e){this.fieldTtls={}}})}getFieldTtlColor(e){let n=this.getRemainingFieldTtl(e);return n<=0?``:n<300?`var(--mat-sys-error, #f44336)`:n<3600?`var(--mat-sys-tertiary, #ff9800)`:`#4caf50`}isFieldTtlPulsing(e){let n=this.getRemainingFieldTtl(e);return n>0&&n<30}hasFieldTtl(e){return this.getRemainingFieldTtl(e)>0}formatFieldTtl(e){let n=this.getRemainingFieldTtl(e);if(n<=0)return``;let t=this.settingsService.getHumanizeDurationOptions();return(0,ni.default)(n*1e3,F(E({},t),{largest:2,round:!0,delimiter:` `}))}setFieldTtl(e,n){return L(this,null,function*(){try{let s=(yield this.socket.request({action:`hash-field/ttl-get`,payload:{key:this.p3xrKey,field:e}})).ttl??-1,p=yield this.ttlDialog.show({$event:n,model:{ttl:s}});yield this.socket.request({action:`hash-field/ttl`,payload:{key:this.p3xrKey,field:e,ttl:p.model.ttl}}),this.common.toast(`${e}: TTL ${p.model.ttl===-1?`removed`:p.model.ttl+`s`}`),this.loadFieldTtls()}catch(t){t!==void 0&&this.common.generalHandleError(t)}})}copyItem(e){this.copy(e)}showJsonItem(e,n){this.showJson(e,n)}downloadItem(e){this.downloadBuffer(this.p3xrValueBuffer[e],`${this.p3xrKey}-${e}`)}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x),Qe(Ye))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-hash`]],features:[ze,En$1],decls:11,vars:4,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`20%`],[2,`flex`,`60%`],[2,`flex`,`20%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-key-col`,2,`flex`,`20%`,`cursor`,`pointer`,3,`click`],[1,`p3xr-value-col`,2,`flex`,`60%`,`cursor`,`pointer`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-key-type-row-actions`,2,`flex`,`20%`,`text-align`,`right`],[3,`color`,`opacity`,`p3xr-tree-ttl-pulse`,`matTooltip`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`JSON`,1,`icon-accent`,3,`click`],[`matTooltip`,`Copy`,1,`icon-accent`,3,`click`],[`matTooltip`,`Download`,1,`icon-accent`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`],[2,`opacity`,`0.5`],[3,`click`,`matTooltip`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems(),t.loadFieldTtls()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),HT(6),wf(),Wa(7,`span`,5),co$1(8,Cn,3,0,`button`,6),wf()(),oT(9,Vn,16,7,`div`,7,hn),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.hash?.table?.hashkey),Sn$1(2),jy(t.strings?.page?.key?.hash?.table?.value),Sn$1(2),lo$1(t.isReadonly?-1:8),Sn$1(),iT(t.pagedItems))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();var In=(i,r)=>r.key;function En(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(t){ym(e);return bm(gT().addArray(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function Kn(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,11),i&2){let e=gT().$implicit,n=gT();by(`value`,n.truncateDisplay(e.value))(`truncated`,n.isTruncated(e.value))}}function Mn(i,r){i&1&&(Wa(0,`span`,18),HT(1,`...`),wf())}function Dn(i,r){if(i&1&&(HT(0),co$1(1,Mn,2,0,`span`,18)),i&2){let e=gT().$implicit,n=gT();jy(n.truncateDisplay(n.formatValue(e.value))),Sn$1(),lo$1(n.isTruncated(e.value)?1:-1)}}function Fn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,19),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteArrayIndex(s.key,t))}),HT(1,`delete`),wf()}}function Bn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,20),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().editValue(s.key,s.value,t))}),HT(1,`edit`),wf()}}function Pn(i,r){if(i&1){let e=dT();Wa(0,`div`,7)(1,`span`,9),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.key,s.value,t))}),HT(2),wf(),Wa(3,`span`,10),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.key,s.value,t))}),co$1(4,Kn,1,2,`p3xr-hex-monitor`,11)(5,Dn,2,2),wf(),Wa(6,`span`,12),co$1(7,Fn,2,0,`mat-icon`,13),Wa(8,`mat-icon`,14),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().showJsonItem(s.value,t))}),HT(9,`account_tree`),wf(),Wa(10,`mat-icon`,15),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyItem(t.value))}),HT(11,`content_copy`),wf(),Wa(12,`mat-icon`,16),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadItem(t.key))}),HT(13,`download`),wf(),co$1(14,Bn,2,0,`mat-icon`,17),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(2),jy(e.key),Sn$1(),vt(`p3xr-pre`,n.valueFormat!==`hex`),Sn$1(),lo$1(n.valueFormat===`hex`?4:5),Sn$1(3),lo$1(n.isReadonly?-1:7),Sn$1(7),lo$1(n.isReadonly?-1:14)}}var ri=(()=>{class i extends ie{paging;pagedItems=[];constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T),this.paging=new se({settingsService:T})}ngOnInit(){this.updatePaging()}ngOnChanges(e){e.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(Object.keys(this.p3xrValue).length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue){this.pagedItems=[];return}let e=Object.keys(this.p3xrValue).sort((n,t)=>Number(n)-Number(t));this.pagedItems=e.slice(this.paging.startIndex,this.paging.endIndex).map(n=>({key:n,value:this.p3xrValue[n]}))}addArray(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`array`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteArrayIndex(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteArrayIndex}),yield this.socket.request({action:`key/array-delete-index`,payload:{key:this.p3xrKey,index:e}}),this.common.toast(this.i18n.strings().status?.deletedArrayIndex),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}editValue(e,n,t){return L(this,null,function*(){try{let s=typeof n==`string`&&n.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[e]:n;yield this.keyNewOrSetDialog.show({$event:t,type:`edit`,model:{type:`array`,key:this.p3xrKey,index:e,value:s}}),this.refreshKey()}catch(s){this.common.generalHandleError(s)}})}copyItem(e){this.copy(e)}showJsonItem(e,n){this.showJson(e,n)}downloadItem(e){this.downloadBuffer(this.p3xrValueBuffer[e],`${this.p3xrKey}-${e}`)}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-array`]],features:[ze,En$1],decls:11,vars:4,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`20%`],[2,`flex`,`60%`],[2,`flex`,`20%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-key-col`,2,`flex`,`20%`,`cursor`,`pointer`,3,`click`],[1,`p3xr-value-col`,2,`flex`,`60%`,`cursor`,`pointer`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-key-type-row-actions`,2,`flex`,`20%`,`text-align`,`right`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`JSON`,1,`icon-accent`,3,`click`],[`matTooltip`,`Copy`,1,`icon-accent`,3,`click`],[`matTooltip`,`Download`,1,`icon-accent`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`],[2,`opacity`,`0.5`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),HT(6),wf(),Wa(7,`span`,5),co$1(8,En,3,0,`button`,6),wf()(),oT(9,Pn,15,6,`div`,7,In),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.array?.table?.index),Sn$1(2),jy(t.strings?.page?.key?.array?.table?.value),Sn$1(2),lo$1(t.isReadonly?-1:8),Sn$1(),iT(t.pagedItems))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();var jn=(i,r)=>r.index;function Rn(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(t){ym(e);return bm(gT().appendValue(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function An(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,11),i&2){let e=gT().$implicit,n=gT();by(`value`,n.truncateDisplay(e.value))(`truncated`,n.isTruncated(e.value))}}function On(i,r){i&1&&(Wa(0,`span`,18),HT(1,`...`),wf())}function Nn(i,r){if(i&1&&(HT(0),co$1(1,On,2,0,`span`,18)),i&2){let e=gT().$implicit,n=gT();jy(n.truncateDisplay(n.formatValue(e.value))),Sn$1(),lo$1(n.isTruncated(e.value)?1:-1)}}function Ln(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,19),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteListElement(s.index,t))}),HT(1,`delete`),wf()}}function Jn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,20),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().editValue(s.index,s.value,t))}),HT(1,`edit`),wf()}}function $n(i,r){if(i&1){let e=dT();Wa(0,`div`,7)(1,`span`,9),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.index,s.value,t))}),HT(2),wf(),Wa(3,`span`,10),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.index,s.value,t))}),co$1(4,An,1,2,`p3xr-hex-monitor`,11)(5,Nn,2,2),wf(),Wa(6,`span`,12),co$1(7,Ln,2,0,`mat-icon`,13),Wa(8,`mat-icon`,14),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().showJsonItem(s.value,t))}),HT(9,`account_tree`),wf(),Wa(10,`mat-icon`,15),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyItem(t.value))}),HT(11,`content_copy`),wf(),Wa(12,`mat-icon`,16),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadItem(t.index))}),HT(13,`download`),wf(),co$1(14,Jn,2,0,`mat-icon`,17),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(2),jy(e.index),Sn$1(),vt(`p3xr-pre`,n.valueFormat!==`hex`),Sn$1(),lo$1(n.valueFormat===`hex`?4:5),Sn$1(3),lo$1(n.isReadonly?-1:7),Sn$1(7),lo$1(n.isReadonly?-1:14)}}var ai=(()=>{class i extends ie{paging;pagedItems=[];constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T),this.paging=new se({settingsService:T})}ngOnInit(){this.updatePaging()}ngOnChanges(e){e.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue){this.pagedItems=[];return}this.pagedItems=this.p3xrValue.slice(this.paging.startIndex,this.paging.endIndex).map((e,n)=>({index:this.paging.startIndex+n,value:e}))}appendValue(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`list`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteListElement(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteListItem??this.i18n.strings().confirm?.areYouSure??`Are you sure?`}),yield this.socket.request({action:`key/list-delete-index`,payload:{key:this.p3xrKey,index:e}}),this.common.toast(this.i18n.strings().status?.deletedListElement),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}editValue(e,n,t){return L(this,null,function*(){try{let s=typeof n==`string`&&n.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[e]:n;yield this.keyNewOrSetDialog.show({$event:t,type:`edit`,model:{type:`list`,key:this.p3xrKey,index:e,value:s}}),this.refreshKey()}catch(s){this.common.generalHandleError(s)}})}copyItem(e){this.copy(e)}showJsonItem(e,n){this.showJson(e,n)}downloadItem(e){this.downloadBuffer(this.p3xrValueBuffer[e])}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-list`]],features:[ze,En$1],decls:11,vars:4,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`20%`],[2,`flex`,`60%`],[2,`flex`,`20%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-key-col`,2,`flex`,`20%`,`cursor`,`pointer`,3,`click`],[1,`p3xr-value-col`,2,`flex`,`60%`,`cursor`,`pointer`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-key-type-row-actions`,2,`flex`,`20%`,`text-align`,`right`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`JSON`,1,`icon-accent`,3,`click`],[`matTooltip`,`Copy`,1,`icon-accent`,3,`click`],[`matTooltip`,`Download`,1,`icon-accent`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`],[2,`opacity`,`0.5`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),HT(6),wf(),Wa(7,`span`,5),co$1(8,Rn,3,0,`button`,6),wf()(),oT(9,$n,15,6,`div`,7,jn),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.list?.table?.index),Sn$1(2),jy(t.strings?.page?.key?.list?.table?.value),Sn$1(2),lo$1(t.isReadonly?-1:8),Sn$1(),iT(t.pagedItems))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();var Wn=(i,r)=>r.index;function Hn(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(t){ym(e);return bm(gT().addSet(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function zn(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,9),i&2){let e=gT().$implicit,n=gT();by(`value`,n.truncateDisplay(e.value))(`truncated`,n.isTruncated(e.value))}}function qn(i,r){i&1&&(Wa(0,`span`,16),HT(1,`...`),wf())}function Un(i,r){if(i&1&&(HT(0),co$1(1,qn,2,0,`span`,16)),i&2){let e=gT().$implicit,n=gT();jy(n.truncateDisplay(n.formatValue(e.value))),Sn$1(),lo$1(n.isTruncated(e.value)?1:-1)}}function Gn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,17),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteSetMember(s.index,t))}),HT(1,`delete`),wf()}}function Qn(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,18),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().editValue(s.index,s.value,t))}),HT(1,`edit`),wf()}}function Zn(i,r){if(i&1){let e=dT();Wa(0,`div`,6)(1,`span`,8),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s.index,s.value,t))}),co$1(2,zn,1,2,`p3xr-hex-monitor`,9)(3,Un,2,2),wf(),Wa(4,`span`,10),co$1(5,Gn,2,0,`mat-icon`,11),Wa(6,`mat-icon`,12),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().showJsonItem(s.value,t))}),HT(7,`account_tree`),wf(),Wa(8,`mat-icon`,13),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyItem(t.value))}),HT(9,`content_copy`),wf(),Wa(10,`mat-icon`,14),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadItem(t.index))}),HT(11,`download`),wf(),co$1(12,Qn,2,0,`mat-icon`,15),wf()()}if(i&2){let e=gT();Sn$1(),vt(`p3xr-pre`,e.valueFormat!==`hex`),Sn$1(),lo$1(e.valueFormat===`hex`?2:3),Sn$1(3),lo$1(e.isReadonly?-1:5),Sn$1(7),lo$1(e.isReadonly?-1:12)}}var si=(()=>{class i extends ie{paging;pagedItems=[];constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T),this.paging=new se({settingsService:T})}ngOnInit(){this.updatePaging()}ngOnChanges(e){e.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue){this.pagedItems=[];return}this.pagedItems=this.p3xrValue.slice(this.paging.startIndex,this.paging.endIndex).map((e,n)=>({index:this.paging.startIndex+n,value:e}))}addSet(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`set`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteSetMember(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteSetMember}),yield this.socket.request({action:`key/set-delete-member`,payload:{key:this.p3xrKey,value:this.p3xrValueBuffer[e]}}),this.common.toast(this.i18n.strings().status?.deletedSetMember),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}editValue(e,n,t){return L(this,null,function*(){try{let s=typeof n==`string`&&n.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[e]:n;yield this.keyNewOrSetDialog.show({$event:t,type:`edit`,model:{type:`set`,key:this.p3xrKey,value:s}}),this.refreshKey()}catch(s){this.common.generalHandleError(s)}})}copyItem(e){this.copy(e)}showJsonItem(e,n){this.showJson(e,n)}downloadItem(e){this.downloadBuffer(this.p3xrValueBuffer[e])}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-set`]],features:[ze,En$1],decls:9,vars:3,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`95%`],[2,`flex`,`5%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-value-col`,2,`flex`,`95%`,`cursor`,`pointer`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-key-type-row-actions`,2,`flex`,`5%`,`text-align`,`right`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`JSON`,1,`icon-accent`,3,`click`],[`matTooltip`,`Copy`,1,`icon-accent`,3,`click`],[`matTooltip`,`Download`,1,`icon-accent`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`],[2,`opacity`,`0.5`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),co$1(6,Hn,3,0,`button`,5),wf()(),oT(7,Zn,13,5,`div`,6,Wn),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.set?.table?.value),Sn$1(2),lo$1(t.isReadonly?-1:6),Sn$1(),iT(t.pagedItems))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();var Xn=(i,r)=>r.index;function Yn(i,r){if(i&1){let e=dT();Wa(0,`button`,8),Sy(`click`,function(t){ym(e);return bm(gT().addZSet(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function eo(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,11),i&2){let e=gT().$implicit,n=gT();by(`value`,n.truncateDisplay(e.member))(`truncated`,n.isTruncated(e.member))}}function to(i,r){i&1&&(Wa(0,`span`,18),HT(1,`...`),wf())}function io(i,r){if(i&1&&(HT(0),co$1(1,to,2,0,`span`,18)),i&2){let e=gT().$implicit,n=gT();jy(n.truncateDisplay(n.formatValue(e.member))),Sn$1(),lo$1(n.isTruncated(e.member)?1:-1)}}function no(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,19),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteZSet(s,t))}),HT(1,`delete`),wf()}}function oo(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,20),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().editValue(s,t))}),HT(1,`edit`),wf()}}function ro(i,r){if(i&1){let e=dT();Wa(0,`div`,7)(1,`span`,9),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s,t))}),HT(2),wf(),Wa(3,`span`,10),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().editValue(s,t))}),co$1(4,eo,1,2,`p3xr-hex-monitor`,11)(5,io,2,2),wf(),Wa(6,`span`,12),co$1(7,no,2,0,`mat-icon`,13),Wa(8,`mat-icon`,14),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().showJsonItem(s.member,t))}),HT(9,`account_tree`),wf(),Wa(10,`mat-icon`,15),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyItem(t.member))}),HT(11,`content_copy`),wf(),Wa(12,`mat-icon`,16),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadItem(t.index))}),HT(13,`download`),wf(),co$1(14,oo,2,0,`mat-icon`,17),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(2),jy(e.score),Sn$1(),vt(`p3xr-pre`,n.valueFormat!==`hex`),Sn$1(),lo$1(n.valueFormat===`hex`?4:5),Sn$1(3),lo$1(n.isReadonly?-1:7),Sn$1(7),lo$1(n.isReadonly?-1:14)}}var li=(()=>{class i extends ie{paging;pagedItems=[];constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T),this.paging=new se({zsetMode:!0,settingsService:T})}ngOnInit(){this.updatePaging()}ngOnChanges(e){e.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue){this.pagedItems=[];return}let e=[];for(let n=0;n<this.p3xrValue.length;n+=2)e.push({member:this.p3xrValue[n],score:this.p3xrValue[n+1],index:n/2});this.pagedItems=e.slice(this.paging.startIndex,this.paging.endIndex)}addZSet(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`zset`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteZSet(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteZSetMember}),yield this.socket.request({action:`key/zset-delete-member`,payload:{key:this.p3xrKey,value:this.p3xrValueBuffer[e.index*2]}}),this.common.toast(this.i18n.strings().status?.deletedZSetMember),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}editValue(e,n){return L(this,null,function*(){try{let t=typeof e.member==`string`&&e.member.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[e.index*2]:e.member;yield this.keyNewOrSetDialog.show({$event:n,type:`edit`,model:{type:`zset`,key:this.p3xrKey,value:t,score:e.score}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}})}copyItem(e){this.copy(e)}showJsonItem(e,n){this.showJson(e,n)}downloadItem(e){this.downloadBuffer(this.p3xrValueBuffer[e*2])}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-zset`]],features:[ze,En$1],decls:11,vars:4,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`20%`],[2,`flex`,`60%`],[2,`flex`,`20%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-key-col`,2,`flex`,`20%`,`cursor`,`pointer`,3,`click`],[1,`p3xr-value-col`,2,`flex`,`60%`,`cursor`,`pointer`,3,`click`],[3,`value`,`truncated`],[1,`p3xr-key-type-row-actions`,2,`flex`,`20%`,`text-align`,`right`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`JSON`,1,`icon-accent`,3,`click`],[`matTooltip`,`Copy`,1,`icon-accent`,3,`click`],[`matTooltip`,`Download`,1,`icon-accent`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`],[2,`opacity`,`0.5`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matTooltip`,`Edit`,1,`icon-primary`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),HT(6),wf(),Wa(7,`span`,5),co$1(8,Yn,3,0,`button`,6),wf()(),oT(9,ro,15,6,`div`,7,Xn),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.zset?.table?.score),Sn$1(2),jy(t.strings?.page?.key?.zset?.table?.value),Sn$1(2),lo$1(t.isReadonly?-1:8),Sn$1(),iT(t.pagedItems))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();var ao=(i,r)=>r.id;var so=(i,r)=>r[0];function lo(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(t){ym(e);return bm(gT().addStream(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}if(i&2)by(`matTooltip`,gT().strings?.intention?.add??`Add`)}function co(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,16),Sy(`click`,function(t){ym(e);let s=gT().$implicit;return bm(gT().deleteStreamTimestamp(s.id,t))}),HT(1,`delete`),wf()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.delete??`Delete`)}function mo(i,r){if(i&1&&_y(0,`p3xr-hex-monitor`,19),i&2){let e=gT().$implicit,n=gT(2);by(`value`,n.truncateDisplay(e[1]))(`truncated`,n.isTruncated(e[1]))}}function po(i,r){i&1&&(Wa(0,`span`,20),HT(1,`...`),wf())}function uo(i,r){if(i&1&&(HT(0),co$1(1,po,2,0,`span`,20)),i&2){let e=gT().$implicit,n=gT(2);jy(n.truncateDisplay(n.formatValue(e[1]))),Sn$1(),lo$1(n.isTruncated(e[1])?1:-1)}}function _o(i,r){if(i&1&&(Wa(0,`div`,15)(1,`span`,17),HT(2),wf(),Wa(3,`span`,18),co$1(4,mo,1,2,`p3xr-hex-monitor`,19)(5,uo,2,2),wf()()),i&2){let e=r.$implicit,n=gT(2);Sn$1(2),jy(e[0]),Sn$1(),vt(`p3xr-pre`,n.valueFormat!==`hex`),Sn$1(),lo$1(n.valueFormat===`hex`?4:5)}}function xo(i,r){if(i&1){let e=dT();Wa(0,`div`,6)(1,`div`,8)(2,`span`,9)(3,`strong`),HT(4),wf(),Wa(5,`span`,10),HT(6),wf()(),Wa(7,`span`,11),co$1(8,co,2,1,`mat-icon`,12),Wa(9,`mat-icon`,13),Sy(`click`,function(t){let s=ym(e).$implicit;return bm(gT().viewEntryJson(s,t))}),HT(10,`account_tree`),wf(),Wa(11,`mat-icon`,13),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().copyEntry(t))}),HT(12,`content_copy`),wf(),Wa(13,`mat-icon`,13),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().downloadEntry(t))}),HT(14,`download`),wf()()(),Wa(15,`div`,14),oT(16,_o,6,4,`div`,15,so),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(4),jy(e.id),Sn$1(2),jy(n.showTimestamp(e.id)),Sn$1(2),lo$1(n.isReadonly?-1:8),Sn$1(),by(`matTooltip`,n.strings?.json??`JSON`),Sn$1(2),by(`matTooltip`,n.strings?.intention?.copy??`Copy`),Sn$1(2),by(`matTooltip`,n.strings?.intention?.downloadBuffer??`Download`),Sn$1(3),iT(e.fields)}}var go={zn:`zh-CN`,no:`nb`,fil:`tl`};var ci=(()=>{class i extends ie{paging;pagedEntries=[];allEntries=[];constructor(e,n,t,s,p,C,b,S,E$1,T){super(e,n,t,s,p,C,b,S,E$1,T),this.paging=new se({settingsService:T}),cr$1(()=>{this.i18n.strings(),this.allEntries.length!==0&&(this.allEntries=this.allEntries.map(ee=>F(E({},ee),{displayData:this.toDisplayData(ee.data,ee.hasDuplicateFields)})),this.updatePagedItems(),this.cdr.markForCheck())})}ngOnInit(){this.updatePaging()}ngOnChanges(e){e.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.allEntries=this.p3xrValue.map(e=>{let n=e[0],t=e[1],s=[];for(let b=0;b<t.length;b+=2)s.push([t[b],t[b+1]]);let p=this.hasDuplicateFields(s),C=p?this.fieldsToArray(s):this.fieldsToObject(s);return{id:n,fields:s,data:C,displayData:this.toDisplayData(C,p),hasDuplicateFields:p}}),this.paging.figurePaging(this.allEntries.length),this.updatePagedItems())}updatePagedItems(){this.pagedEntries=this.allEntries.slice(this.paging.startIndex,this.paging.endIndex)}showTimestamp(e){try{let n=parseInt(e.slice(0,e.indexOf(`-`))),t=this.i18n.currentLang()||`en`,s=go[t]||t;return new Date(n).toLocaleString(s,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch(n){return e}}isJsonValue(e){if(!e||e.length<2)return!1;let n=e.charAt(0);if(n!==`{`&&n!==`[`)return!1;try{return JSON.parse(e),!0}catch(t){return!1}}formatJsonValue(e){try{return JSON.stringify(JSON.parse(e),null,this.settingsService.jsonFormat()??2)}catch(n){return e}}parseFieldValue(e){try{return JSON.parse(e)}catch(n){return e}}hasDuplicateFields(e){let n=new Set;for(let[t]of e){if(n.has(t))return!0;n.add(t)}return!1}fieldsToObject(e){let n={};for(let[t,s]of e)n[t]=this.parseFieldValue(s);return n}fieldsToArray(e){return e.map(([n,t])=>({field:n,value:this.parseFieldValue(t)}))}toDisplayData(e,n){if(!n)return e;let t=this.strings?.page?.key?.stream?.table?.field,s=this.strings?.page?.key?.stream?.table?.value;return e.map(p=>({[t]:p.field,[s]:p.value}))}entryToExport(e){return e.hasDuplicateFields?{id:e.id,fields:e.data}:E({id:e.id},e.data)}downloadEntry(e){let n=[e.id];for(let[b,S]of e.fields)n.push(b),n.push(S);let t=n.join(`
`),s=new Blob([t],{type:`text/plain`}),p=URL.createObjectURL(s),C=document.createElement(`a`);C.href=p,C.download=`${this.p3xrKey}-${e.id}.txt`,C.click(),URL.revokeObjectURL(p)}copyEntry(e){return L(this,null,function*(){let n=this.entryToExport(e);yield this.copy(JSON.stringify(n,null,2))})}viewEntryJson(e,n){return L(this,null,function*(){let t=this.entryToExport(e);yield this.showJson(JSON.stringify(t),n)})}viewFieldJson(e,n){return L(this,null,function*(){yield this.showJson(e,n)})}copyField(e){this.copy(e)}addStream(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({$event:e,type:`append`,model:{type:`stream`,key:this.p3xrKey}}),this.refreshKey()}catch(n){this.common.generalHandleError(n)}})}deleteStreamTimestamp(e,n){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.deleteStreamTimestamp}),yield this.socket.request({action:`key/stream-delete-timestamp`,payload:{key:this.p3xrKey,streamTimestamp:e}}),this.common.toast(this.i18n.strings().status?.deletedStreamTimestamp||this.i18n.strings().status?.deletedKey),this.refreshKey()}catch(t){t&&this.common.generalHandleError(t)}})}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-stream`]],features:[ze,En$1],decls:9,vars:3,consts:[[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`1`],[2,`text-align`,`right`],[`mat-icon-button`,``,3,`matTooltip`],[1,`p3xr-key-stream-entry-block`],[`mat-icon-button`,``,3,`click`,`matTooltip`],[1,`p3xr-key-stream-entry-header`],[1,`p3xr-key-stream-timestamp`],[1,`p3xr-key-stream-timestamp-human`],[1,`p3xr-key-type-row-actions`],[1,`icon-warn`,3,`matTooltip`],[1,`icon-accent`,3,`click`,`matTooltip`],[1,`p3xr-key-stream-data`],[2,`display`,`flex`,`gap`,`8px`,`padding`,`2px 0`],[1,`icon-warn`,3,`click`,`matTooltip`],[2,`min-width`,`120px`,`opacity`,`0.7`],[1,`p3xr-value-col`,2,`flex`,`1`,`max-height`,`200px`,`word-break`,`break-all`],[3,`value`,`truncated`],[2,`opacity`,`0.5`]],template:function(n,t){n&1&&(Wa(0,`p3xr-key-pager-inline`,0),Sy(`pageChanged`,function(){return t.updatePagedItems()}),wf(),Wa(1,`div`,1)(2,`div`,2)(3,`span`,3),HT(4),wf(),Wa(5,`span`,4),co$1(6,lo,3,1,`button`,5),wf()(),oT(7,xo,18,6,`div`,6,ao),wf()),n&2&&(by(`paging`,t.paging),Sn$1(4),jy(t.strings?.page?.key?.stream?.table?.timestamp),Sn$1(2),lo$1(t.isReadonly?-1:6),Sn$1(),iT(t.pagedEntries))},dependencies:[Eb,Gn$1,$Y,G0,yt,wt,Qt,gt,de,pe],encapsulation:2,changeDetection:1})}return i})();function fo(i,r){if(i&1){let e=dT();Wa(0,`button`,6),Sy(`click`,function(){ym(e);return bm(gT().copyValue())}),Wa(1,`mat-icon`),HT(2,`content_copy`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT();Sn$1(4),jy(e.strings?.intention?.copy)}}function yo(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(){ym(e);return bm(gT().copyValue())}),Wa(1,`mat-icon`),HT(2,`content_copy`),wf()()}if(i&2)by(`matTooltip`,gT().strings?.intention?.copy??`Copy`)}function ho(i,r){if(i&1){let e=dT();Wa(0,`button`,6),Sy(`click`,function(){ym(e);return bm(gT().downloadJsonFile())}),Wa(1,`mat-icon`),HT(2,`download`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT();Sn$1(4),jy(e.strings?.intention?.downloadJson)}}function Co(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(){ym(e);return bm(gT().downloadJsonFile())}),Wa(1,`mat-icon`),HT(2,`download`),wf()()}if(i&2)by(`matTooltip`,gT().strings?.intention?.downloadJson??`Download JSON`)}function vo(i,r){if(i&1){let e=dT();Wa(0,`button`,6),Sy(`click`,function(){ym(e);return bm(gT().expandAll())}),Wa(1,`mat-icon`),HT(2,`unfold_more`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT();Sn$1(4),jy(e.strings?.page?.treeControls?.expandAll)}}function bo(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(){ym(e);return bm(gT().expandAll())}),Wa(1,`mat-icon`),HT(2,`unfold_more`),wf()()}if(i&2)by(`matTooltip`,gT().strings?.page?.treeControls?.expandAll??`Expand All`)}function ko(i,r){if(i&1){let e=dT();Wa(0,`button`,6),Sy(`click`,function(){ym(e);return bm(gT().collapseAll())}),Wa(1,`mat-icon`),HT(2,`unfold_less`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT();Sn$1(4),jy(e.strings?.page?.treeControls?.collapseAll)}}function wo(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(){ym(e);return bm(gT().collapseAll())}),Wa(1,`mat-icon`),HT(2,`unfold_less`),wf()()}if(i&2)by(`matTooltip`,gT().strings?.page?.treeControls?.collapseAll??`Collapse All`)}function So(i,r){if(i&1){let e=dT();Wa(0,`button`,6),Sy(`click`,function(){ym(e);return bm(gT().toggleWrap())}),Wa(1,`mat-icon`),HT(2),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT();Sn$1(2),jy(e.treeWrap?`wrap_text`:`notes`),Sn$1(2),jy(e.treeWrap?e.strings?.intention?.unwrap:e.strings?.intention?.wrap)}}function To(i,r){if(i&1){let e=dT();Wa(0,`button`,7),Sy(`click`,function(){ym(e);return bm(gT().toggleWrap())}),Wa(1,`mat-icon`),HT(2),wf()()}if(i&2){let e=gT();by(`matTooltip`,e.treeWrap?e.strings?.intention?.unwrap??`Unwrap`:e.strings?.intention?.wrap??`Wrap`),Sn$1(2),jy(e.treeWrap?`wrap_text`:`notes`)}}function Vo(i,r){if(i&1){let e=dT();Wa(0,`button`,10),Sy(`click`,function(){ym(e);return bm(gT(2).jsonEditor())}),Wa(1,`mat-icon`),HT(2,`edit`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings?.intention?.jsonViewEditor)}}function Io(i,r){if(i&1){let e=dT();Wa(0,`button`,11),Sy(`click`,function(){ym(e);return bm(gT(2).jsonEditor())}),Wa(1,`mat-icon`),HT(2,`edit`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings?.intention?.jsonViewEditor??`Edit JSON`)}function Eo(i,r){if(i&1&&co$1(0,Vo,5,1,`button`,8)(1,Io,3,1,`button`,9),i&2)lo$1(gT().isGtSm?0:1)}function Ko(i,r){if(i&1&&_y(0,`p3xr-json-tree`,4),i&2){let e=gT();by(`data`,e.jsonObj)(`label`,e.strings?.label?.tree)(`expanded`,e.treeExpanded)(`wrap`,e.treeWrap)}}function Mo(i,r){if(i&1&&(Wa(0,`div`,5),HT(1),wf()),i&2){let e=gT();Sn$1(),jy(e.truncateDisplay(e.p3xrValue))}}var mi=(()=>{class i extends ie{jsonEditorDialog;overlay;diffDialog;jsonTree;jsonObj;treeExpanded=!0;treeWrap=!0;constructor(e,n,t,s,p,C,b,S,E,T,ee,M,re){super(e,n,t,s,p,C,S,E,T,ee),this.jsonEditorDialog=b,this.overlay=M,this.diffDialog=re}ngOnInit(){this.parseJson()}ngOnChanges(e){e.p3xrValue&&this.parseJson()}ngOnDestroy(){this.destroyBase()}parseJson(){try{this.jsonObj=JSON.parse(this.p3xrValue)}catch(e){this.jsonObj=void 0}}expandAll(){this.jsonTree?.treeControl.expandAll()}collapseAll(){this.jsonTree?.treeControl.collapseAll();let e=this.jsonTree?.treeControl.dataNodes?.[0];e&&this.jsonTree.treeControl.expand(e)}toggleWrap(){this.treeWrap=!this.treeWrap}copyValue(){return L(this,null,function*(){yield this.copy(this.p3xrValue)})}jsonEditor(){return L(this,null,function*(){try{let e=this.p3xrValue,n=yield this.jsonEditorDialog.show({value:this.p3xrValue,hideFormatSave:!0}),t=typeof n.obj==`string`?n.obj:JSON.stringify(n.obj);this.overlay.show(),yield this.socket.request({action:`key/json-set`,payload:{key:this.p3xrKey,path:`$`,value:t}}),this.gtag(`/key-json-set`),this.refreshKey(),this.overlay.hide(),this.settingsService.undoEnabled()&&e!==void 0&&e!==t&&(yield this.common.toastWithUndo(this.strings?.status?.set))&&(this.overlay.show({message:`Undo...`}),yield this.socket.request({action:`key/json-set`,payload:{key:this.p3xrKey,path:`$`,value:e}}),this.refreshKey(),this.overlay.hide(),this.common.toast(this.strings?.status?.reverted))}catch(e){e&&this.common.generalHandleError(e),this.overlay.hide()}})}downloadJsonFile(){let e=new Blob([this.p3xrValue],{type:`application/json`}),n=URL.createObjectURL(e),t=document.createElement(`a`);t.href=n,t.download=`${this.p3xrKey}.json`,t.click(),URL.revokeObjectURL(n)}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(y),Qe(P$1),Qe(mc),Qe(Q),Qe(x),Qe(_t),Qe(w))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-json`]],viewQuery:function(n,t){if(n&1&&lc(Wt,5),n&2){let s;Cf(s=xf())&&(t.jsonTree=s.first)}},features:[ze,En$1],decls:15,vars:7,consts:[[1,`p3xr-key-type-actions`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`matTooltip`],[1,`p3xr-key-type-content`,2,`overflow`,`auto`],[3,`data`,`label`,`expanded`,`wrap`],[1,`p3xr-pre`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`matTooltip`]],template:function(n,t){n&1&&(Wa(0,`div`,0),co$1(1,fo,5,1,`button`,1)(2,yo,3,1,`button`,2),co$1(3,ho,5,1,`button`,1)(4,Co,3,1,`button`,2),co$1(5,vo,5,1,`button`,1)(6,bo,3,1,`button`,2),co$1(7,ko,5,1,`button`,1)(8,wo,3,1,`button`,2),co$1(9,So,5,2,`button`,1)(10,To,3,2,`button`,2),co$1(11,Eo,2,1),wf(),Wa(12,`div`,3),co$1(13,Ko,1,4,`p3xr-json-tree`,4)(14,Mo,2,1,`div`,5),wf()),n&2&&(Sn$1(),lo$1(t.isGtSm?1:2),Sn$1(2),lo$1(t.isGtSm?3:4),Sn$1(2),lo$1(t.isGtSm?5:6),Sn$1(2),lo$1(t.isGtSm?7:8),Sn$1(2),lo$1(t.isGtSm?9:10),Sn$1(2),lo$1(t.isReadonly?-1:11),Sn$1(2),lo$1(t.jsonObj!==void 0?13:14))},dependencies:[Eb,$Y,HY,UY,yt,wt,Qt,gt,Wt],encapsulation:2,changeDetection:1})}return i})();var Do=[`tsChart`];var Fo=[`tsDataViewport`];var di=(i,r)=>r.key;var Bo=(i,r)=>r.destKey;function Po(i,r){if(i&1){let e=dT();Wa(0,`p3xr-ng-button`,26),Sy(`click`,function(t){return ym(e),gT().editAllDataPoints(t),bm(t.stopPropagation())}),wf()}if(i&2)by(`label`,gT().strings?.intention?.edit)(`breakpoint`,1280)}function jo(i,r){if(i&1){let e=dT();Wa(0,`p3xr-ng-button`,27),Sy(`click`,function(t){return ym(e),gT().loadRange(),bm(t.stopPropagation())}),wf()}if(i&2)by(`label`,gT().strings?.intention?.refresh)(`breakpoint`,1280)}function Ro(i,r){if(i&1&&(Wa(0,`mat-option`,16),HT(1),wf()),i&2){let e=r.$implicit;by(`value`,e),Sn$1(),jy(e)}}function Ao(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,11)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,28),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.aggregationBucket,t)||(s.aggregationBucket=t),bm(t)}),Sy(`ngModelChange`,function(){ym(e);return bm(gT().debouncedLoadRange())}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings?.page?.key?.timeseries?.timeBucket),Sn$1(),Uy(`ngModel`,e.aggregationBucket),qC()}}function Oo(i,r){if(i&1){let e=dT();Wa(0,`button`,33),Sy(`click`,function(){ym(e);return bm(gT(2).addDataPoint())}),Wa(1,`mat-icon`),HT(2,`add`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);by(`disabled`,!e.addValue),Sn$1(4),jy(e.strings?.intention?.add)}}function No(i,r){if(i&1){let e=dT();Wa(0,`button`,34),Sy(`click`,function(){ym(e);return bm(gT(2).addDataPoint())}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}if(i&2){let e=gT(2);by(`disabled`,!e.addValue)(`matTooltip`,e.strings?.intention?.add??`Add`)}}function Lo(i,r){if(i&1){let e=dT();Wa(0,`div`,22)(1,`mat-form-field`,11)(2,`mat-label`),HT(3),wf(),Wa(4,`input`,29),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.addTimestamp,t)||(s.addTimestamp=t),bm(t)}),wf(),WC(),wf(),Wa(5,`mat-form-field`,11)(6,`mat-label`),HT(7),wf(),Wa(8,`input`,30),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.addValue,t)||(s.addValue=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().addDataPoint())}),wf(),WC(),wf(),co$1(9,Oo,5,2,`button`,31)(10,No,3,2,`button`,32),wf()}if(i&2){let e=gT();Sn$1(3),jy(e.strings?.page?.key?.timeseries?.timestamp),Sn$1(),Uy(`ngModel`,e.addTimestamp),qC(),Sn$1(3),jy(e.strings?.page?.key?.timeseries?.value),Sn$1(),Uy(`ngModel`,e.addValue),qC(),Sn$1(),lo$1(e.isGtSm?9:10)}}function Jo(i,r){i&1&&_y(0,`span`,39)}function $o(i,r){if(i&1){let e=dT();Wa(0,`span`,43)(1,`mat-icon`,44),Sy(`click`,function(){ym(e);let t=gT().$implicit;return bm(gT(2).deleteDataPoint(t))}),HT(2,`delete`),wf(),Wa(3,`mat-icon`,45),Sy(`click`,function(){ym(e);let t=gT().$implicit;return bm(gT(2).editDataPoint(t))}),HT(4,`edit`),wf()()}if(i&2){let e=gT(3);Sn$1(),by(`matTooltip`,e.strings?.intention?.delete??`Delete`),Sn$1(2),by(`matTooltip`,e.strings?.intention?.edit??`Edit`)}}function Wo(i,r){if(i&1&&(Wa(0,`div`,42)(1,`span`,38),HT(2),wf(),Wa(3,`span`),HT(4),wf(),co$1(5,$o,5,2,`span`,43),wf()),i&2){let e=r.$implicit,n=gT(2);Sn$1(2),jy(n.formatTimestamp(e.timestamp)),Sn$1(2),jy(e.value),Sn$1(),lo$1(n.isReadonly?-1:5)}}function Ho(i,r){if(i&1&&(_y(0,`br`),Wa(1,`p3xr-ng-accordion`,35)(2,`div`,24)(3,`div`,36)(4,`div`,37)(5,`span`,38),HT(6),wf(),Wa(7,`span`),HT(8),wf(),co$1(9,Jo,1,0,`span`,39),wf(),Wa(10,`cdk-virtual-scroll-viewport`,40,1),hy(12,Wo,6,3,`div`,41),wf()()()()),i&2){let e=gT();Sn$1(),by(`title`,e.capitalize(e.strings?.page?.key?.timeseries?.dataPoints)+` (`+e.rangeData.length+`)`),Sn$1(5),jy(e.strings?.page?.key?.timeseries?.timestamp),Sn$1(2),jy(e.strings?.page?.key?.timeseries?.value),Sn$1(),lo$1(e.isReadonly?-1:9),Sn$1(),by(`itemSize`,40),Sn$1(2),by(`cdkVirtualForOf`,e.rangeData)}}function zo(i,r){if(i&1){let e=dT();Wa(0,`div`,4)(1,`p3xr-ng-button`,46),Sy(`click`,function(t){return ym(e),gT().toggleAlterMode(),bm(t.stopPropagation())}),wf()()}if(i&2){let e=gT();Sn$1(),by(`label`,e.strings?.intention?.edit)(`mdIcon`,e.alterMode?`check_box`:`edit`)}}function qo(i,r){if(i&1){let e=dT();Wa(0,`div`,25)(1,`div`,10)(2,`mat-form-field`,47)(3,`mat-label`),HT(4),wf(),Wa(5,`input`,48),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.alterRetention,t)||(s.alterRetention=t),bm(t)}),wf(),WC(),Wa(6,`mat-hint`),HT(7),wf()(),Wa(8,`mat-form-field`,47)(9,`mat-label`),HT(10),wf(),Wa(11,`mat-select`,14),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.alterDuplicatePolicy,t)||(s.alterDuplicatePolicy=t),bm(t)}),Wa(12,`mat-option`,49),HT(13,`LAST`),wf(),Wa(14,`mat-option`,50),HT(15,`FIRST`),wf(),Wa(16,`mat-option`,51),HT(17,`MIN`),wf(),Wa(18,`mat-option`,52),HT(19,`MAX`),wf(),Wa(20,`mat-option`,53),HT(21,`SUM`),wf(),Wa(22,`mat-option`,54),HT(23,`BLOCK`),wf()(),WC(),Wa(24,`mat-hint`),HT(25,`\xA0`),wf()(),Wa(26,`mat-form-field`,55)(27,`mat-label`),HT(28),wf(),Wa(29,`input`,56),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.alterLabels,t)||(s.alterLabels=t),bm(t)}),wf(),WC(),Wa(30,`mat-hint`),HT(31),wf()(),Wa(32,`button`,57),Sy(`click`,function(){ym(e);return bm(gT().saveAlter())}),Wa(33,`mat-icon`),HT(34,`save`),wf(),Wa(35,`span`),HT(36),wf()()()()}if(i&2){let e=gT();Sn$1(4),Nf(``,e.strings?.page?.key?.timeseries?.retention,` (ms)`),Sn$1(),Uy(`ngModel`,e.alterRetention),qC(),Sn$1(2),jy(e.strings?.page?.key?.timeseries?.retentionHint),Sn$1(3),jy(e.strings?.page?.key?.timeseries?.duplicatePolicy),Sn$1(),Uy(`ngModel`,e.alterDuplicatePolicy),qC(),Sn$1(17),jy(e.strings?.page?.key?.timeseries?.labels),Sn$1(),Uy(`ngModel`,e.alterLabels),qC(),Sn$1(2),jy(e.strings?.page?.key?.timeseries?.labelsHint),Sn$1(5),jy(e.strings?.intention?.save)}}function Uo(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`)(2,`div`,58)(3,`span`,59),HT(4),wf(),Wa(5,`span`,60),HT(6),wf()()()(),_y(7,`mat-divider`)),i&2){let e=r.$implicit;Sn$1(4),jy(e.key),Sn$1(2),jy(e.value)}}function Go(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`)(2,`div`,58)(3,`span`,59),HT(4),wf(),Wa(5,`span`,60),HT(6),wf()()()(),_y(7,`mat-divider`)),i&2){let e=r.$implicit;Sn$1(4),jy(e.key),Sn$1(2),jy(e.value)}}function Qo(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`)(2,`strong`),HT(3),wf()()(),_y(4,`mat-divider`),oT(5,Go,8,2,null,null,di)),i&2){let e=gT();Sn$1(3),jy(e.strings?.page?.key?.timeseries?.labels),Sn$1(2),iT(e.tsLabels)}}function Zo(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`)(2,`div`,58)(3,`span`,59),HT(4),wf(),Wa(5,`span`,60),HT(6),wf()()()(),_y(7,`mat-divider`)),i&2){let e=r.$implicit;Sn$1(4),jy(e.destKey),Sn$1(2),By(``,e.aggregationType,` / `,e.bucketDuration,`ms`)}}function Xo(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`)(2,`strong`),HT(3),wf()()(),_y(4,`mat-divider`),oT(5,Zo,8,3,null,null,Bo)),i&2){let e=gT();Sn$1(3),jy(e.strings?.page?.key?.timeseries?.rules),Sn$1(2),iT(e.tsRules)}}var ui=(()=>{class i extends ie{chartRef;dataViewport;tsInfo={};rangeData=[];rangeFrom=``;rangeTo=``;aggregationType=``;aggregationBucket=``;addTimestamp=`*`;addValue=``;autoRefresh=!1;alterMode=!1;alterRetention=0;alterDuplicatePolicy=``;alterLabels=``;overlayKeysInput=``;mrangeFilter=``;overlaySeries=[];aggregationTypes=[`avg`,`min`,`max`,`sum`,`count`,`first`,`last`,`range`,`std.p`,`std.s`,`var.p`,`var.s`];uPlot=null;plot=null;resizeObserver=null;themeObserver=null;langCheckInterval=null;autoRefreshInterval=null;loadRangeDebounceTimer=null;constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T)}ngOnInit(){this.tsInfo=this.p3xrValue||{},this.ensureDefaultLabel(),this.loadRange(),this.themeObserver=new MutationObserver(()=>{setTimeout(()=>this.reinitChart(),100)}),this.themeObserver.observe(document.body,{attributes:!0,attributeFilter:[`class`]});let e=this.i18n.currentLang()||`en`;this.langCheckInterval=setInterval(()=>{let n=this.i18n.currentLang()||`en`;n!==e&&(e=n,setTimeout(()=>this.reinitChart(),100))},500)}ngOnChanges(e){e.p3xrValue&&!e.p3xrValue.firstChange&&(this.tsInfo=this.p3xrValue||{},this.loadRange())}ngAfterViewInit(){this.loadUPlot()}ngOnDestroy(){this.destroyBase(),this.destroyChart(),this.stopAutoRefresh(),this.themeObserver?.disconnect(),this.langCheckInterval&&clearInterval(this.langCheckInterval)}toggleAutoRefresh(){this.autoRefresh=!this.autoRefresh,this.autoRefresh?this.startAutoRefresh():this.stopAutoRefresh(),this.cdr.markForCheck()}startAutoRefresh(){this.stopAutoRefresh(),this.autoRefreshInterval=setInterval(()=>{this.loadRange()},1e4)}stopAutoRefresh(){this.autoRefreshInterval&&(clearInterval(this.autoRefreshInterval),this.autoRefreshInterval=null)}get infoLabels(){if(!this.tsInfo)return[];let e=new Set([`labels`,`rules`,`sourceKey`,`chunks`]);return Object.entries(this.tsInfo).filter(([n])=>!e.has(n)).map(([n,t])=>({key:n,value:t}))}get tsLabels(){let e=this.tsInfo?.labels;return!e||typeof e!=`object`?[]:Object.entries(e).map(([n,t])=>({key:n,value:String(t)}))}get tsRules(){return Array.isArray(this.tsInfo?.rules)?this.tsInfo.rules:[]}capitalize(e){return e?e.charAt(0).toUpperCase()+e.slice(1):``}debouncedLoadRange(){clearTimeout(this.loadRangeDebounceTimer),this.loadRangeDebounceTimer=setTimeout(()=>{this.loadRange()},500)}loadRange(){return L(this,null,function*(){try{let e={key:this.p3xrKey};this.rangeFrom&&(e.from=this.rangeFrom),this.rangeTo&&(e.to=this.rangeTo),this.aggregationType&&this.aggregationBucket&&(e.aggregation={type:this.aggregationType,timeBucket:parseInt(this.aggregationBucket,10)});let n=yield this.socket.request({action:`timeseries/range`,payload:e});this.rangeData=n.data||[],this.overlaySeries=[];let t=this.overlayKeysInput.split(`,`).map(p=>p.trim()).filter(p=>p.length>0);for(let p of t)try{let C={key:p};this.rangeFrom&&(C.from=this.rangeFrom),this.rangeTo&&(C.to=this.rangeTo),this.aggregationType&&this.aggregationBucket&&(C.aggregation={type:this.aggregationType,timeBucket:parseInt(this.aggregationBucket,10)});let b=yield this.socket.request({action:`timeseries/range`,payload:C});this.overlaySeries.push({key:p,data:b.data||[]})}catch(C){}if(this.mrangeFilter.trim().length>0)try{let p={filter:this.mrangeFilter.trim()};this.rangeFrom&&(p.from=this.rangeFrom),this.rangeTo&&(p.to=this.rangeTo),this.aggregationType&&this.aggregationBucket&&(p.aggregation={type:this.aggregationType,timeBucket:parseInt(this.aggregationBucket,10)});let C=yield this.socket.request({action:`timeseries/mrange`,payload:p});for(let b of C.data||[])b.key!==this.p3xrKey&&this.overlaySeries.push({key:b.key,data:b.data})}catch(p){}this.updateChart(),this.cdr.markForCheck();let s=setInterval(()=>{this.dataViewport&&(this.dataViewport.checkViewportSize(),this.dataViewport.elementRef.nativeElement.clientHeight>0&&clearInterval(s))},200);setTimeout(()=>clearInterval(s),3e4)}catch(e){this.common.generalHandleError(e)}})}ensureDefaultLabel(){return L(this,null,function*(){if(this.isReadonly)return;let e=this.tsInfo?.labels;if((e&&typeof e==`object`?Object.keys(e).length:0)===0)try{yield this.socket.request({action:`timeseries/alter`,payload:{key:this.p3xrKey,labels:`key ${this.p3xrKey}`}}),this.tsInfo.labels={key:this.p3xrKey},this.cdr.markForCheck()}catch(t){}})}exportChartPng(){if(!this.plot)return;let e=this.chartRef?.nativeElement;if(!e)return;let n=e.querySelector(`canvas`);if(!n)return;let t=document.body.classList.contains(`p3xr-theme-dark`),s=t?`#1e1e1e`:`#ffffff`,p=t?`rgba(255,255,255,0.87)`:`rgba(0,0,0,0.87)`,C=20,b=30,S=30,E=n.width+C*2,T=n.height+C*2+b+S,ee=document.createElement(`canvas`);ee.width=E,ee.height=T;let M=ee.getContext(`2d`);M.fillStyle=s,M.fillRect(0,0,E,T),M.fillStyle=p,M.font=`bold 14px Roboto, sans-serif`,M.fillText(this.p3xrKey,C,36),M.drawImage(n,C,50);let re=[this.p3xrKey,...this.overlaySeries.map(ke=>ke.key)],We=[this.getChartColors().primary,...this.overlaySeries.map((ke,Ci)=>this.seriesColors[(Ci+1)%this.seriesColors.length])],et=C,ct=50+n.height+16;M.font=`12px Roboto, sans-serif`;for(let ke=0;ke<re.length;ke++)M.fillStyle=We[ke],M.fillRect(et,ct-8,12,12),M.fillStyle=p,M.fillText(re[ke],et+16,ct+2),et+=M.measureText(re[ke]).width+32;let hi=ee.toDataURL(`image/png`),tt=document.createElement(`a`);tt.href=hi,tt.download=`${this.p3xrKey}-chart.png`,tt.click()}toggleAlterMode(){if(this.alterMode=!this.alterMode,this.alterMode){this.alterRetention=this.tsInfo?.retentionTime||0,this.alterDuplicatePolicy=this.tsInfo?.duplicatePolicy||`LAST`;let e=this.tsLabels.map(n=>`${n.key} ${n.value}`).join(` `);this.alterLabels=e||`key ${this.p3xrKey}`}this.cdr.markForCheck()}saveAlter(){return L(this,null,function*(){try{let e=this.alterLabels.trim().length>0?this.alterLabels:`key ${this.p3xrKey}`;yield this.socket.request({action:`timeseries/alter`,payload:{key:this.p3xrKey,retention:this.alterRetention,duplicatePolicy:this.alterDuplicatePolicy,labels:e}}),this.common.toast(this.strings?.status?.saved),this.alterMode=!1,this.refreshKey()}catch(e){this.common.generalHandleError(e)}})}editDataPoint(e){return L(this,null,function*(){try{yield this.keyNewOrSetDialog.show({type:`edit`,model:{type:`timeseries`,key:this.p3xrKey,tsTimestamp:String(e.timestamp),value:e.value,originalTimestamp:e.timestamp}}),this.refreshKey(),yield this.loadRange()}catch(n){n!=null&&this.common.generalHandleError(n)}})}editAllDataPoints(e){return L(this,null,function*(){try{let n=this.rangeData.map(s=>`${s.timestamp} ${s.value}`).join(`
`),t=this.tsLabels.map(s=>`${s.key} ${s.value}`).join(` `)||`key ${this.p3xrKey}`;yield this.keyNewOrSetDialog.show({type:`edit`,$event:e,model:{type:`timeseries`,key:this.p3xrKey,value:n,tsEditAll:!0,tsLabels:t}}),this.refreshKey(),yield this.loadRange()}catch(n){n!=null&&this.common.generalHandleError(n)}})}deleteDataPoint(e){return L(this,null,function*(){try{yield this.common.confirm({message:this.i18n.strings().confirm?.delete}),yield this.socket.request({action:`timeseries/del`,payload:{key:this.p3xrKey,from:e.timestamp,to:e.timestamp}}),this.common.toast(this.strings?.status?.deleted),this.refreshKey()}catch(n){n!=null&&this.common.generalHandleError(n)}})}formatTimestamp(e){let n=this.i18n.currentLang()||`en`;return new Date(e).toLocaleString(n,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,fractionalSecondDigits:3})}addDataPoint(){return L(this,null,function*(){if(this.addValue)try{yield this.socket.request({action:`timeseries/add`,payload:{key:this.p3xrKey,timestamp:this.addTimestamp||`*`,value:parseFloat(this.addValue)}}),this.common.toast(this.strings?.status?.added),this.addValue=``,this.refreshKey()}catch(e){this.common.generalHandleError(e)}})}loadUPlot(){return L(this,null,function*(){try{let e=yield import(`./chunk-D64pLR9Q.js`);this.uPlot=e.default,this.initChart()}catch(e){console.error(`Failed to load uPlot`,e)}})}seriesColors=[`#1976d2`,`#9c27b0`,`#f44336`,`#4caf50`,`#ff9800`,`#00bcd4`,`#e91e63`,`#8bc34a`];getChartColors(){let e=document.body.classList.contains(`p3xr-theme-dark`);return{primary:getComputedStyle(document.body).getPropertyValue(`--p3xr-btn-primary-bg`).trim()||(e?`#90caf9`:`#1976d2`),text:e?`rgba(255,255,255,0.87)`:`rgba(0,0,0,0.87)`,grid:e?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.08)`}}createOpts(e){let n=this.getChartColors();this.strings?.page?.key?.timeseries;let s=[{label:this.strings?.label?.time,value:(p,C)=>{if(!C)return``;let b=this.i18n.currentLang()||`en`;return new Date(C*1e3).toLocaleString(b,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}},{label:this.p3xrKey,stroke:n.primary,width:2,fill:n.primary+`15`}];for(let p=0;p<this.overlaySeries.length;p++){let C=this.seriesColors[(p+1)%this.seriesColors.length];s.push({label:this.overlaySeries[p].key,stroke:C,width:2})}return{width:e,height:400,cursor:{show:!0,drag:{x:!1,y:!1}},legend:{show:!0,live:!0},scales:{x:{time:!0}},axes:[{stroke:n.text,grid:{stroke:n.grid,width:1},ticks:{stroke:n.grid},font:`11px Roboto`,values:(p,C)=>C.map(b=>new Date(b*1e3).toLocaleTimeString(this.i18n.currentLang(),{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}))},{stroke:n.text,grid:{stroke:n.grid,width:1},ticks:{stroke:n.grid},font:`11px Roboto Mono`,size:65}],series:s}}initChart(){if(!this.uPlot)return;let e=this.chartRef?.nativeElement;if(!e)return;this.destroyChart();let n=e.clientWidth||400,t=this.buildChartData();this.plot=new this.uPlot(this.createOpts(n),t,e);let s;this.resizeObserver=new ResizeObserver(()=>{clearTimeout(s),s=setTimeout(()=>{let p=e.clientWidth;p>0&&this.plot?.setSize({width:p,height:400})},50)}),this.resizeObserver.observe(e)}reinitChart(){this.destroyChart(),this.initChart()}updateChart(){let e=2+this.overlaySeries.length;if(!this.plot||this.plot.series?.length!==e){this.reinitChart();return}let n=this.buildChartData();this.plot.setData(n,!0),n[0].length>0&&this.plot.setScale(`x`,{min:n[0][0],max:n[0][n[0].length-1]})}buildChartData(){if(this.overlaySeries.length===0)return[this.rangeData.map(C=>C.timestamp/1e3),this.rangeData.map(C=>C.value)];let e=[this.rangeData,...this.overlaySeries.map(C=>C.data)],n=new Set;for(let C of e)for(let b of C)n.add(b.timestamp);let t=Array.from(n).sort((C,b)=>C-b),p=[t.map(C=>C/1e3)];for(let C of e){let b=new Map;for(let S of C)b.set(S.timestamp,S.value);p.push(t.map(S=>b.has(S)?b.get(S):null))}return p}destroyChart(){this.resizeObserver?.disconnect(),this.resizeObserver=null,this.plot?.destroy(),this.plot=null}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-timeseries`]],viewQuery:function(n,t){if(n&1&&lc(Do,5)(Fo,5),n&2){let s;Cf(s=xf())&&(t.chartRef=s.first),Cf(s=xf())&&(t.dataViewport=s.first)}},features:[ze,En$1],decls:51,vars:32,consts:[[`tsChart`,``],[`tsDataViewport`,``],[1,`p3xr-key-type-content`],[`accordionKey`,`ts-chart`,3,`title`,`expanded`],[`actions`,``],[`mdIcon`,`edit`,3,`label`,`breakpoint`],[`mdIcon`,`image`,3,`click`,`label`,`breakpoint`],[3,`click`,`label`,`mdIcon`,`breakpoint`],[`mdIcon`,`refresh`,3,`label`,`breakpoint`],[`content`,``,2,`padding`,`16px`],[1,`p3xr-timeseries-controls`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`],[`matInput`,``,`placeholder`,`-`,3,`ngModelChange`,`ngModel`],[`matInput`,``,`placeholder`,`+`,3,`ngModelChange`,`ngModel`],[3,`ngModelChange`,`ngModel`],[`value`,``],[3,`value`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`min-width`,`200px`],[`matInput`,``,3,`ngModelChange`,`ngModel`,`placeholder`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`min-width`,`180px`],[1,`p3xr-timeseries-chart-info`],[1,`p3xr-timeseries-chart-container`],[1,`p3xr-timeseries-controls`,2,`margin-top`,`16px`],[`accordionKey`,`ts-info`,3,`title`],[`content`,``],[2,`padding`,`16px`],[`mdIcon`,`edit`,3,`click`,`label`,`breakpoint`],[`mdIcon`,`refresh`,3,`click`,`label`,`breakpoint`],[`matInput`,``,`type`,`number`,`placeholder`,`5000`,3,`ngModelChange`,`ngModel`],[`matInput`,``,`placeholder`,`* (auto)`,3,`ngModelChange`,`ngModel`],[`matInput`,``,`type`,`number`,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`disabled`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`disabled`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`,`disabled`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`disabled`,`matTooltip`],[`accordionKey`,`ts-data`,3,`title`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`1`],[2,`min-width`,`52px`],[2,`height`,`600px`,3,`itemSize`],[`class`,`p3xr-key-type-row`,4,`cdkVirtualFor`,`cdkVirtualForOf`],[1,`p3xr-key-type-row`],[1,`p3xr-key-type-row-actions`],[1,`icon-warn`,3,`click`,`matTooltip`],[1,`icon-accent`,3,`click`,`matTooltip`],[3,`click`,`label`,`mdIcon`],[`subscriptSizing`,`dynamic`,2,`flex`,`1`,`min-width`,`150px`],[`matInput`,``,`type`,`number`,3,`ngModelChange`,`ngModel`],[`value`,`LAST`],[`value`,`FIRST`],[`value`,`MIN`],[`value`,`MAX`],[`value`,`SUM`],[`value`,`BLOCK`],[`subscriptSizing`,`dynamic`,2,`flex`,`1`,`min-width`,`200px`],[`matInput`,``,3,`ngModelChange`,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[2,`display`,`flex`,`width`,`100%`],[1,`p3xr-settings-label`,2,`flex`,`1`],[1,`p3xr-settings-value`]],template:function(n,t){if(n&1){let s=dT();Wa(0,`div`,2),_y(1,`br`),Wa(2,`p3xr-ng-accordion`,3)(3,`div`,4),co$1(4,Po,1,2,`p3xr-ng-button`,5),Wa(5,`p3xr-ng-button`,6),Sy(`click`,function(C){return ym(s),t.exportChartPng(),bm(C.stopPropagation())}),wf(),Wa(6,`p3xr-ng-button`,7),Sy(`click`,function(C){return ym(s),t.toggleAutoRefresh(),bm(C.stopPropagation())}),wf(),co$1(7,jo,1,2,`p3xr-ng-button`,8),wf(),Wa(8,`div`,9)(9,`div`,10)(10,`mat-form-field`,11)(11,`mat-label`),HT(12),wf(),Wa(13,`input`,12),$y(`ngModelChange`,function(C){return ym(s),qT(t.rangeFrom,C)||(t.rangeFrom=C),bm(C)}),Sy(`ngModelChange`,function(){return t.debouncedLoadRange()}),wf(),WC(),wf(),Wa(14,`mat-form-field`,11)(15,`mat-label`),HT(16),wf(),Wa(17,`input`,13),$y(`ngModelChange`,function(C){return ym(s),qT(t.rangeTo,C)||(t.rangeTo=C),bm(C)}),Sy(`ngModelChange`,function(){return t.debouncedLoadRange()}),wf(),WC(),wf(),Wa(18,`mat-form-field`,11)(19,`mat-label`),HT(20),wf(),Wa(21,`mat-select`,14),$y(`ngModelChange`,function(C){return ym(s),qT(t.aggregationType,C)||(t.aggregationType=C),bm(C)}),Sy(`ngModelChange`,function(){return t.loadRange()}),Wa(22,`mat-option`,15),HT(23),wf(),oT(24,Ro,2,2,`mat-option`,16,rT),wf(),WC(),wf(),co$1(26,Ao,4,2,`mat-form-field`,11),Wa(27,`mat-form-field`,17)(28,`mat-label`),HT(29),wf(),Wa(30,`input`,18),$y(`ngModelChange`,function(C){return ym(s),qT(t.overlayKeysInput,C)||(t.overlayKeysInput=C),bm(C)}),Sy(`ngModelChange`,function(){return t.debouncedLoadRange()}),wf(),WC(),wf(),Wa(31,`mat-form-field`,19)(32,`mat-label`),HT(33),wf(),Wa(34,`input`,18),$y(`ngModelChange`,function(C){return ym(s),qT(t.mrangeFilter,C)||(t.mrangeFilter=C),bm(C)}),Sy(`ngModelChange`,function(){return t.debouncedLoadRange()}),wf(),WC(),wf()(),Wa(35,`div`,20),HT(36),wf(),_y(37,`div`,21,0),co$1(39,Lo,11,5,`div`,22),wf()(),co$1(40,Ho,13,6),_y(41,`br`),Wa(42,`p3xr-ng-accordion`,23),co$1(43,zo,2,2,`div`,4),Wa(44,`div`,24),co$1(45,qo,37,9,`div`,25),Wa(46,`mat-list`),oT(47,Uo,8,2,null,null,di),co$1(49,Qo,7,1),co$1(50,Xo,7,1),wf()()()()}n&2&&(Sn$1(2),by(`title`,t.strings?.page?.key?.timeseries?.chart)(`expanded`,!0),Sn$1(2),lo$1(t.isReadonly?-1:4),Sn$1(),by(`label`,t.strings?.page?.key?.timeseries?.exportChart)(`breakpoint`,1280),Sn$1(),by(`label`,t.strings?.label?.autoRefresh)(`mdIcon`,t.autoRefresh?`check_box`:`check_box_outline_blank`)(`breakpoint`,1280),Sn$1(),lo$1(t.autoRefresh?-1:7),Sn$1(5),jy(t.strings?.page?.key?.timeseries?.from),Sn$1(),Uy(`ngModel`,t.rangeFrom),qC(),Sn$1(3),jy(t.strings?.page?.key?.timeseries?.to),Sn$1(),Uy(`ngModel`,t.rangeTo),qC(),Sn$1(3),jy(t.strings?.page?.key?.timeseries?.aggregation),Sn$1(),Uy(`ngModel`,t.aggregationType),qC(),Sn$1(2),jy(t.strings?.page?.key?.timeseries?.none),Sn$1(),iT(t.aggregationTypes),Sn$1(2),lo$1(t.aggregationType?26:-1),Sn$1(3),jy(t.strings?.page?.key?.timeseries?.overlay),Sn$1(),Uy(`ngModel`,t.overlayKeysInput),by(`placeholder`,t.strings?.page?.key?.timeseries?.overlayHint),qC(),Sn$1(3),jy(t.strings?.page?.key?.timeseries?.mrangeFilter),Sn$1(),Uy(`ngModel`,t.mrangeFilter),by(`placeholder`,t.strings?.page?.key?.timeseries?.mrangeHint),qC(),Sn$1(2),By(` `,t.rangeData.length,` `,t.strings?.page?.key?.timeseries?.dataPoints,` `),Sn$1(3),lo$1(t.isReadonly?-1:39),Sn$1(),lo$1(t.rangeData.length>0?40:-1),Sn$1(2),by(`title`,t.strings?.page?.key?.timeseries?.info),Sn$1(),lo$1(t.isReadonly?-1:43),Sn$1(2),lo$1(t.alterMode?45:-1),Sn$1(2),iT(t.infoLabels),Sn$1(2),lo$1(t.tsLabels.length>0?49:-1),Sn$1(),lo$1(t.tsRules.length>0?50:-1))},dependencies:[Eb,Gn$1,He,an$1,xn$1,on$1,fp,o0,d0,u0,$Y,HY,UY,yt,wt,Qt,gt,Qt$1,qe,U,G,Oe,ze$1,Pt,Nt,q$1,Yt$1,Xt$1,Zt$1,u,f,X,lt],encapsulation:2,changeDetection:1})}return i})();var Yo=(i,r)=>r.key;var er=(i,r)=>r.item;function tr(i,r){if(i&1){let e=dT();Wa(0,`p3xr-ng-button`,12),Sy(`click`,function(t){return ym(e),gT().refresh(),bm(t.stopPropagation())}),wf()}if(i&2)by(`label`,gT().strings()?.intention?.refresh)(`breakpoint`,1280)}function ir(i,r){i&1&&_y(0,`mat-divider`)}function nr(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`,13)(2,`span`,14),HT(3),wf(),Wa(4,`span`,15),HT(5),wf()()(),co$1(6,ir,1,0,`mat-divider`)),i&2){let e=r.$implicit,n=r.$index,t=r.$count;Sn$1(3),jy(e.key),Sn$1(2),jy(e.value),Sn$1(),lo$1(n!==t-1?6:-1)}}function or(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,9)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,16),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.itemInput,t)||(s.itemInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().addItem())}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings()?.form?.key?.field?.value),Sn$1(),Uy(`ngModel`,e.itemInput),qC()}}function rr(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,10)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,17),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.itemInput,t)||(s.itemInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().addItem())}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings()?.page?.key?.probabilistic?.item),Sn$1(),Uy(`ngModel`,e.itemInput),qC()}}function ar(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,11)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,18),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.incrementInput,t)||(s.incrementInput=t),bm(t)}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings()?.form?.key?.field?.increment),Sn$1(),Uy(`ngModel`,e.incrementInput),qC()}}function sr(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,11)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,19),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.quantileInput,t)||(s.quantileInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().queryQuantile())}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings()?.page?.key?.probabilistic?.quantile),Sn$1(),Uy(`ngModel`,e.quantileInput),qC()}}function lr(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(e);return bm(gT(2).addItem())}),Wa(1,`mat-icon`),HT(2,`add`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.intention?.add)}}function cr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(){ym(e);return bm(gT(2).addItem())}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.intention?.add??`Add`)}function mr(i,r){if(i&1&&co$1(0,lr,5,1,`button`,20)(1,cr,3,1,`button`,21),i&2)lo$1(gT().isGtSm?0:1)}function pr(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(e);return bm(gT(2).checkItem())}),Wa(1,`mat-icon`),HT(2,`search`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.page?.key?.probabilistic?.checkItem)}}function dr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(){ym(e);return bm(gT(2).checkItem())}),Wa(1,`mat-icon`),HT(2,`search`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.page?.key?.probabilistic?.checkItem??`Check`)}function ur(i,r){if(i&1&&co$1(0,pr,5,1,`button`,20)(1,dr,3,1,`button`,21),i&2)lo$1(gT().isGtSm?0:1)}function _r(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(e);return bm(gT(2).deleteItem())}),Wa(1,`mat-icon`),HT(2,`delete`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.intention?.delete)}}function xr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(){ym(e);return bm(gT(2).deleteItem())}),Wa(1,`mat-icon`),HT(2,`delete`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.intention?.delete??`Delete`)}function gr(i,r){if(i&1&&co$1(0,_r,5,1,`button`,20)(1,xr,3,1,`button`,21),i&2)lo$1(gT().isGtSm?0:1)}function fr(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(e);return bm(gT(2).queryItem())}),Wa(1,`mat-icon`),HT(2,`search`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.page?.key?.probabilistic?.queryCount)}}function yr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(){ym(e);return bm(gT(2).queryItem())}),Wa(1,`mat-icon`),HT(2,`search`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.page?.key?.probabilistic?.queryCount??`Query`)}function hr(i,r){if(i&1&&co$1(0,fr,5,1,`button`,20)(1,yr,3,1,`button`,21),i&2)lo$1(gT().isGtSm?0:1)}function Cr(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(){ym(e);return bm(gT(2).queryQuantile())}),Wa(1,`mat-icon`),HT(2,`bar_chart`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.page?.key?.probabilistic?.quantile)}}function vr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(){ym(e);return bm(gT(2).queryQuantile())}),Wa(1,`mat-icon`),HT(2,`bar_chart`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.page?.key?.probabilistic?.quantile??`Quantile`)}function br(i,r){if(i&1&&co$1(0,Cr,5,1,`button`,20)(1,vr,3,1,`button`,21),i&2)lo$1(gT().isGtSm?0:1)}function kr(i,r){if(i&1){let e=dT();Wa(0,`button`,26),Sy(`click`,function(){ym(e);return bm(gT(2).resetTdigest())}),Wa(1,`mat-icon`),HT(2,`undo`),wf(),Wa(3,`span`),HT(4,`Reset`),wf()()}}function wr(i,r){if(i&1){let e=dT();Wa(0,`button`,27),Sy(`click`,function(){ym(e);return bm(gT(2).resetTdigest())}),Wa(1,`mat-icon`),HT(2,`undo`),wf()()}}function Sr(i,r){if(i&1&&co$1(0,kr,5,0,`button`,24)(1,wr,3,0,`button`,25),i&2)lo$1(gT().isGtSm?0:1)}function Tr(i,r){i&1&&_y(0,`mat-divider`)}function Vr(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`,13)(2,`span`,14),HT(3),wf(),Wa(4,`span`,15),HT(5),wf()()(),co$1(6,Tr,1,0,`mat-divider`)),i&2){let e=r.$implicit,n=r.$index,t=r.$count;Sn$1(3),jy(e.item),Sn$1(2),jy(e.count),Sn$1(),lo$1(n!==t-1?6:-1)}}function Ir(i,r){if(i&1&&(_y(0,`mat-divider`),Wa(1,`mat-list`),oT(2,Vr,7,3,null,null,er),wf()),i&2){let e=gT();Sn$1(2),iT(e.topkItems)}}var _i=(()=>{class i extends ie{infoItems=[];topkItems=[];itemInput=``;incrementInput=1;quantileInput=.5;autoRefresh=!1;autoRefreshInterval=null;readonly=!1;constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T)}get strings(){return this.i18n.strings}get type(){return this.p3xrResponse?.type||``}ngOnInit(){this.readonly=this.redisState.connection()?.readonly===!0,this.parseInfo(),this.type===`topk`&&this.loadTopkList()}ngOnChanges(e){e.p3xrValue&&this.parseInfo()}ngOnDestroy(){this.stopAutoRefresh(),this.destroyBase()}toggleAutoRefresh(){this.autoRefresh=!this.autoRefresh,this.autoRefresh?this.startAutoRefresh():this.stopAutoRefresh(),this.cdr.markForCheck()}startAutoRefresh(){this.stopAutoRefresh(),this.autoRefreshInterval=setInterval(()=>{this.refresh()},1e4)}stopAutoRefresh(){this.autoRefreshInterval&&(clearInterval(this.autoRefreshInterval),this.autoRefreshInterval=null)}parseInfo(){this.infoItems=[];try{let e=this.p3xrValue,n;typeof e==`object`&&e!==null&&!ArrayBuffer.isView(e)?n=e:typeof e==`string`?n=JSON.parse(e):ArrayBuffer.isView(e)&&(n=JSON.parse(new TextDecoder().decode(e))),n&&typeof n==`object`&&(this.infoItems=Object.entries(n).map(([t,s])=>({key:t,value:s})))}catch(e){}}addItem(){return L(this,null,function*(){if(this.itemInput.trim()){try{yield this.socket.request({action:`probabilistic/add`,payload:{key:this.p3xrKey,type:this.type,item:this.itemInput.trim(),increment:this.incrementInput}}),this.common.toast(this.strings()?.page?.key?.probabilistic?.addedSuccessfully),this.itemInput=``,this.refresh()}catch(e){this.common.toast(e.message||`Error`)}this.cdr.markForCheck()}})}checkItem(){return L(this,null,function*(){if(this.itemInput.trim()){try{let e=yield this.socket.request({action:`probabilistic/check`,payload:{key:this.p3xrKey,type:this.type,item:this.itemInput.trim()}}),n=this.strings(),t=e.result===1;this.common.toast(`"${this.itemInput}" \u2014 ${t?n?.page?.key?.probabilistic?.exists:n?.page?.key?.probabilistic?.doesNotExist}`)}catch(e){this.common.toast(e.message||`Error`)}this.cdr.markForCheck()}})}deleteItem(){return L(this,null,function*(){if(this.itemInput.trim()){try{yield this.common.confirm({message:this.strings()?.confirm?.delete}),yield this.socket.request({action:`probabilistic/delete`,payload:{key:this.p3xrKey,type:this.type,item:this.itemInput.trim()}}),this.common.toast(this.strings()?.page?.key?.probabilistic?.deletedSuccessfully),this.itemInput=``,this.refresh()}catch(e){e?.message&&this.common.toast(e.message||`Error`)}this.cdr.markForCheck()}})}queryItem(){return L(this,null,function*(){if(this.itemInput.trim()){try{let e=yield this.socket.request({action:`probabilistic/check`,payload:{key:this.p3xrKey,type:this.type,item:this.itemInput.trim()}}),n=Array.isArray(e.result)?e.result[0]:e.result;this.common.toast(`"${this.itemInput}" \u2014 ${this.strings()?.page?.key?.probabilistic?.topkCount}: ${n}`)}catch(e){this.common.toast(e.message||`Error`)}this.cdr.markForCheck()}})}queryQuantile(){return L(this,null,function*(){try{let e=yield this.socket.request({action:`probabilistic/check`,payload:{key:this.p3xrKey,type:this.type,quantile:this.quantileInput}}),n=this.strings(),t=Array.isArray(e.result)?e.result[0]:e.result;this.common.toast(`${n?.page?.key?.probabilistic?.quantile} ${this.quantileInput} = ${t}`)}catch(e){this.common.toast(e.message||`Error`)}this.cdr.markForCheck()})}resetTdigest(){return L(this,null,function*(){try{yield this.common.confirm({message:this.strings()?.page?.key?.probabilistic?.resetConfirm}),yield this.socket.request({action:`probabilistic/delete`,payload:{key:this.p3xrKey,type:`tdigest`}}),this.common.toast(`Reset`),this.refresh()}catch(e){e?.message&&this.common.toast(e.message||`Error`)}this.cdr.markForCheck()})}loadTopkList(){return L(this,null,function*(){try{let e=yield this.socket.request({action:`probabilistic/check`,payload:{key:this.p3xrKey,type:`topk`}});this.topkItems=e.result||[]}catch(e){this.topkItems=[]}this.cdr.markForCheck()})}refresh(){this.cmd.refreshKey$.next(),this.type===`topk`&&this.loadTopkList()}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-probabilistic`]],features:[ze,En$1],decls:26,vars:16,consts:[[1,`p3xr-key-type-content`],[`accordionKey`,`prob-info`,3,`title`],[`actions`,``],[3,`click`,`label`,`mdIcon`,`breakpoint`],[`mdIcon`,`refresh`,3,`label`,`breakpoint`],[`content`,``],[`accordionKey`,`prob-actions`,3,`title`],[2,`padding`,`16px`],[1,`p3xr-timeseries-controls`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`flex`,`1`,`min-width`,`200px`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`max-width`,`120px`],[`mdIcon`,`refresh`,3,`click`,`label`,`breakpoint`],[2,`display`,`flex`,`width`,`100%`],[1,`p3xr-settings-label`,2,`flex`,`1`],[1,`p3xr-settings-value`],[`matInput`,``,`type`,`number`,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`matInput`,``,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`matInput`,``,`type`,`number`,3,`ngModelChange`,`ngModel`],[`matInput`,``,`type`,`number`,`step`,`0.1`,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltip`,`Reset`,`matTooltipPosition`,`above`,1,`btn-warn`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltip`,`Reset`,`matTooltipPosition`,`above`,1,`btn-warn`,3,`click`]],template:function(n,t){n&1&&(Wa(0,`div`,0),_y(1,`br`),Wa(2,`p3xr-ng-accordion`,1)(3,`div`,2)(4,`p3xr-ng-button`,3),Sy(`click`,function(p){return t.toggleAutoRefresh(),p.stopPropagation()}),wf(),co$1(5,tr,1,2,`p3xr-ng-button`,4),wf(),Wa(6,`div`,5)(7,`mat-list`),oT(8,nr,7,3,null,null,Yo),wf()()(),_y(10,`br`),Wa(11,`p3xr-ng-accordion`,6)(12,`div`,5)(13,`div`,7)(14,`div`,8),co$1(15,or,4,2,`mat-form-field`,9)(16,rr,4,2,`mat-form-field`,10),co$1(17,ar,4,2,`mat-form-field`,11),co$1(18,sr,4,2,`mat-form-field`,11),co$1(19,mr,2,1),co$1(20,ur,2,1),co$1(21,gr,2,1),co$1(22,hr,2,1),co$1(23,br,2,1),co$1(24,Sr,2,1),wf()(),co$1(25,Ir,4,0),wf()()()),n&2&&(Sn$1(2),by(`title`,t.strings()?.page?.key?.probabilistic?.info),Sn$1(2),by(`label`,t.strings()?.label?.autoRefresh)(`mdIcon`,t.autoRefresh?`check_box`:`check_box_outline_blank`)(`breakpoint`,1280),Sn$1(),lo$1(t.autoRefresh?-1:5),Sn$1(3),iT(t.infoItems),Sn$1(3),by(`title`,t.p3xrResponse.type===`topk`?t.strings()?.page?.key?.probabilistic?.topkList:t.strings()?.page?.key?.probabilistic?.addItem),Sn$1(4),lo$1(t.p3xrResponse.type===`tdigest`?15:16),Sn$1(2),lo$1(t.p3xrResponse.type===`cms`?17:-1),Sn$1(),lo$1(t.p3xrResponse.type===`tdigest`?18:-1),Sn$1(),lo$1(t.readonly?-1:19),Sn$1(),lo$1(t.p3xrResponse.type===`bloom`||t.p3xrResponse.type===`cuckoo`?20:-1),Sn$1(),lo$1(t.p3xrResponse.type===`cuckoo`&&!t.readonly?21:-1),Sn$1(),lo$1(t.p3xrResponse.type===`cms`?22:-1),Sn$1(),lo$1(t.p3xrResponse.type===`tdigest`?23:-1),Sn$1(),lo$1(t.p3xrResponse.type===`tdigest`&&!t.readonly?24:-1),Sn$1(),lo$1(t.p3xrResponse.type===`topk`&&t.topkItems.length>0?25:-1))},dependencies:[Eb,Gn$1,He,an$1,xn$1,on$1,$Y,HY,UY,yt,wt,Qt,gt,Qt$1,qe,U,Oe,ze$1,Yt$1,Xt$1,Zt$1,u,f,X,lt],encapsulation:2,changeDetection:1})}return i})();var Er=(i,r)=>r.key;var xi=(i,r)=>r.element;function Kr(i,r){if(i&1){let e=dT();Wa(0,`p3xr-ng-button`,24),Sy(`click`,function(t){return ym(e),gT().refresh(),bm(t.stopPropagation())}),wf()}if(i&2)by(`label`,gT().strings()?.intention?.refresh)(`breakpoint`,1280)}function Mr(i,r){i&1&&_y(0,`mat-divider`)}function Dr(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`,25)(2,`span`,26),HT(3),wf(),Wa(4,`span`,27),HT(5),wf()()(),co$1(6,Mr,1,0,`mat-divider`)),i&2){let e=r.$implicit,n=r.$index,t=r.$count;Sn$1(3),jy(e.key),Sn$1(2),jy(e.value),Sn$1(),lo$1(n!==t-1?6:-1)}}function Fr(i,r){if(i&1){let e=dT();Wa(0,`button`,28),Sy(`click`,function(){ym(e);let t=gT();return bm(t.showAddForm=!t.showAddForm)}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}}function Br(i,r){if(i&1){let e=dT();Wa(0,`mat-icon`,35),Sy(`click`,function(){ym(e);let t=gT().$implicit;return bm(gT().removeElement(t.element))}),HT(1,`delete`),wf()}}function Pr(i,r){if(i&1){let e=dT();Wa(0,`div`,14)(1,`span`,29),HT(2),wf(),Wa(3,`span`,30),HT(4),wf(),Wa(5,`span`,31)(6,`mat-icon`,32),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().searchSimilarByElement(t.element))}),HT(7,`search`),wf(),Wa(8,`mat-icon`,33),Sy(`click`,function(){let t=ym(e).$implicit;return bm(gT().getAttributes(t.element))}),HT(9,`info`),wf(),co$1(10,Br,2,0,`mat-icon`,34),wf()()}if(i&2){let e=r.$implicit,n=gT();Sn$1(2),jy(e.element),Sn$1(2),jy(e.score?.toFixed(4)),Sn$1(6),lo$1(n.readonly?-1:10)}}function jr(i,r){if(i&1){let e=dT();Wa(0,`button`,40),Sy(`click`,function(){ym(e);return bm(gT(2).addElement())}),Wa(1,`mat-icon`),HT(2,`add`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.intention?.add)}}function Rr(i,r){if(i&1){let e=dT();Wa(0,`button`,41),Sy(`click`,function(){ym(e);return bm(gT(2).addElement())}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.intention?.add??`Add`)}function Ar(i,r){if(i&1){let e=dT();Wa(0,`div`,15)(1,`mat-form-field`,19)(2,`mat-label`),HT(3),wf(),Wa(4,`input`,36),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.elementInput,t)||(s.elementInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().addElement())}),wf(),WC(),wf(),Wa(5,`mat-form-field`,19)(6,`mat-label`),HT(7),wf(),Wa(8,`input`,37),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.vectorInput,t)||(s.vectorInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().addElement())}),wf(),WC(),wf(),co$1(9,jr,5,1,`button`,38)(10,Rr,3,1,`button`,39),wf()}if(i&2){let e=gT();Sn$1(3),jy(e.strings()?.page?.key?.vectorset?.elementName),Sn$1(),Uy(`ngModel`,e.elementInput),qC(),Sn$1(3),jy(e.strings()?.page?.key?.vectorset?.vectorValues),Sn$1(),Uy(`ngModel`,e.vectorInput),qC(),Sn$1(),lo$1(e.isGtSm?9:10)}}function Or(i,r){if(i&1){let e=dT();Wa(0,`mat-form-field`,23)(1,`mat-label`),HT(2),wf(),Wa(3,`input`,42),$y(`ngModelChange`,function(t){ym(e);let s=gT();return qT(s.simFilterInput,t)||(s.simFilterInput=t),bm(t)}),Sy(`keydown.enter`,function(){ym(e);return bm(gT().searchSimilar())}),wf(),WC(),wf()}if(i&2){let e=gT();Sn$1(2),jy(e.strings()?.page?.key?.vectorset?.filter),Sn$1(),Uy(`ngModel`,e.simFilterInput),qC()}}function Nr(i,r){if(i&1){let e=dT();Wa(0,`button`,40),Sy(`click`,function(){ym(e);let t=gT();return t.simMode=`element`,bm(t.searchSimilar())}),Wa(1,`mat-icon`),HT(2,`person`),wf(),Wa(3,`span`),HT(4),wf()(),Wa(5,`button`,40),Sy(`click`,function(){ym(e);let t=gT();return t.simMode=`vector`,bm(t.searchSimilar())}),Wa(6,`mat-icon`),HT(7,`data_array`),wf(),Wa(8,`span`),HT(9),wf()()}if(i&2){let e=gT();Sn$1(4),jy(e.strings()?.page?.key?.vectorset?.byElement),Sn$1(5),jy(e.strings()?.page?.key?.vectorset?.byVector)}}function Lr(i,r){if(i&1){let e=dT();Wa(0,`button`,41),Sy(`click`,function(){ym(e);let t=gT();return t.simMode=`element`,bm(t.searchSimilar())}),Wa(1,`mat-icon`),HT(2,`person`),wf()(),Wa(3,`button`,41),Sy(`click`,function(){ym(e);let t=gT();return t.simMode=`vector`,bm(t.searchSimilar())}),Wa(4,`mat-icon`),HT(5,`data_array`),wf()()}if(i&2){let e=gT();by(`matTooltip`,e.strings()?.page?.key?.vectorset?.byElement??`By Element`),Sn$1(3),by(`matTooltip`,e.strings()?.page?.key?.vectorset?.byVector??`By Vector`)}}function Jr(i,r){i&1&&_y(0,`mat-divider`)}function $r(i,r){if(i&1&&(Wa(0,`mat-list-item`)(1,`div`,25)(2,`span`,44),HT(3),wf(),Wa(4,`span`,27),HT(5),wf()()(),co$1(6,Jr,1,0,`mat-divider`)),i&2){let e=r.$implicit,n=r.$index,t=r.$count;Sn$1(3),jy(e.element),Sn$1(2),jy(e.score),Sn$1(),lo$1(n!==t-1?6:-1)}}function Wr(i,r){if(i&1&&(_y(0,`mat-divider`,43),Wa(1,`mat-list`),oT(2,$r,7,3,null,null,xi),wf()),i&2){let e=gT();Sn$1(2),iT(e.simResults)}}var gi=(()=>{class i extends ie{infoItems=[];elements=[];pagedElements=[];paging;simResults=[];elementInput=``;vectorInput=``;simQueryInput=``;simCountInput=10;simFilterInput=``;simMode=`element`;autoRefresh=!1;autoRefreshInterval=null;readonly=!1;showAddForm=!1;constructor(e,n,t,s,p,C,b,S,E,T){super(e,n,t,s,p,C,b,S,E,T),this.paging=new se({settingsService:T})}updatePagedElements(){this.pagedElements=this.elements.slice(this.paging.startIndex,this.paging.endIndex)}get strings(){return this.i18n.strings}ngOnInit(){this.readonly=this.redisState.connection()?.readonly===!0,this.parseInfo(),this.loadElements()}ngOnChanges(e){e.p3xrValue&&this.parseInfo()}ngOnDestroy(){this.stopAutoRefresh(),this.destroyBase()}toggleAutoRefresh(){this.autoRefresh=!this.autoRefresh,this.autoRefresh?this.startAutoRefresh():this.stopAutoRefresh(),this.cdr.markForCheck()}startAutoRefresh(){this.stopAutoRefresh(),this.autoRefreshInterval=setInterval(()=>{this.refresh()},1e4)}stopAutoRefresh(){this.autoRefreshInterval&&(clearInterval(this.autoRefreshInterval),this.autoRefreshInterval=null)}parseInfo(){this.infoItems=[];try{let e=this.p3xrValue,n;typeof e==`object`&&e!==null&&!ArrayBuffer.isView(e)?n=e:typeof e==`string`?n=JSON.parse(e):ArrayBuffer.isView(e)&&(n=JSON.parse(new TextDecoder().decode(e))),n&&typeof n==`object`&&(this.infoItems=Object.entries(n).map(([t,s])=>({key:t,value:s})))}catch(e){}}loadElements(){return L(this,null,function*(){try{let e=yield this.socket.request({action:`vectorset/elements`,payload:{key:this.p3xrKey}});this.elements=e.elements||[],this.paging.figurePaging(this.elements.length),this.updatePagedElements()}catch(e){this.elements=[],this.pagedElements=[]}this.cdr.markForCheck()})}searchSimilar(e,n){return L(this,null,function*(){let t=e||this.simQueryInput,s=n||this.simMode;if(t.trim()){try{let p=yield this.socket.request({action:`vectorset/sim`,payload:{key:this.p3xrKey,query:t.trim(),count:this.simCountInput,mode:s,filter:this.simFilterInput.trim()||void 0}});this.simResults=p.results||[],this.common.toast(this.strings()?.page?.key?.vectorset?.searchComplete)}catch(p){this.common.toast(p.message||`Error`),this.simResults=[]}this.cdr.markForCheck()}})}searchSimilarByElement(e){this.simQueryInput=e,this.simMode=`element`,this.searchSimilar(e,`element`)}addElement(){return L(this,null,function*(){if(!(!this.elementInput.trim()||!this.vectorInput.trim())){try{yield this.socket.request({action:`vectorset/add`,payload:{key:this.p3xrKey,element:this.elementInput.trim(),vector:this.vectorInput.trim()}}),this.common.toast(this.strings()?.page?.key?.vectorset?.addedSuccessfully),this.elementInput=``,this.vectorInput=``,this.refresh()}catch(e){this.common.toast(e.message||`Error`)}this.cdr.markForCheck()}})}removeElement(e){return L(this,null,function*(){try{yield this.common.confirm({message:this.strings()?.confirm?.delete}),yield this.socket.request({action:`vectorset/remove`,payload:{key:this.p3xrKey,element:e}}),this.common.toast(this.strings()?.page?.key?.vectorset?.removedSuccessfully),this.refresh()}catch(n){n?.message&&this.common.toast(n.message)}this.cdr.markForCheck()})}getAttributes(e){return L(this,null,function*(){try{let t=(yield this.socket.request({action:`vectorset/getattr`,payload:{key:this.p3xrKey,element:e}})).attributes;t?this.common.toast(`${e}: ${JSON.stringify(t)}`):this.common.toast(`${e}: ${this.strings()?.page?.key?.vectorset?.noAttributes}`)}catch(n){this.common.toast(n.message||`Error`)}this.cdr.markForCheck()})}refresh(){this.cmd.refreshKey$.next(),this.loadElements()}static ɵfac=function(n){return new(n||i)(Qe(YQ),Qe(bi$1),Qe(It),Qe(u$1),Qe(h$2),Qe(cp),Qe(P$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-key-vectorset`]],features:[ze,En$1],decls:42,vars:20,consts:[[1,`p3xr-key-type-content`],[`accordionKey`,`vs-info`,3,`title`],[`actions`,``],[3,`click`,`label`,`mdIcon`,`breakpoint`],[`mdIcon`,`refresh`,3,`label`,`breakpoint`],[`content`,``],[`accordionKey`,`vs-elements`,3,`title`],[3,`pageChanged`,`paging`],[1,`p3xr-key-type-table`],[1,`p3xr-key-type-header`],[2,`flex`,`50%`],[2,`flex`,`20%`],[2,`flex`,`30%`,`text-align`,`right`],[`mat-icon-button`,``,`matTooltip`,`Add`],[1,`p3xr-key-type-row`],[1,`p3xr-timeseries-controls`,2,`padding`,`16px`],[`accordionKey`,`vs-sim`,3,`title`],[2,`padding`,`16px`],[1,`p3xr-timeseries-controls`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`flex`,`1`,`min-width`,`200px`],[`matInput`,``,3,`ngModelChange`,`keydown.enter`,`ngModel`,`placeholder`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`max-width`,`80px`],[`matInput`,``,`type`,`number`,3,`ngModelChange`,`ngModel`],[`subscriptSizing`,`dynamic`,1,`p3xr-timeseries-field`,2,`flex`,`1`,`min-width`,`150px`],[`mdIcon`,`refresh`,3,`click`,`label`,`breakpoint`],[2,`display`,`flex`,`width`,`100%`],[1,`p3xr-settings-label`,2,`flex`,`1`],[1,`p3xr-settings-value`],[`mat-icon-button`,``,`matTooltip`,`Add`,3,`click`],[1,`p3xr-key-col`,2,`flex`,`50%`],[1,`p3xr-value-col`,2,`flex`,`20%`],[1,`p3xr-key-type-row-actions`,2,`flex`,`30%`,`text-align`,`right`],[`matTooltip`,`Find similar`,1,`icon-accent`,3,`click`],[`matTooltip`,`Attributes`,1,`icon-accent`,3,`click`],[`matTooltip`,`Delete`,1,`icon-warn`],[`matTooltip`,`Delete`,1,`icon-warn`,3,`click`],[`matInput`,``,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`matInput`,``,`placeholder`,`0.1, 0.2, 0.3`,3,`ngModelChange`,`keydown.enter`,`ngModel`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`matTooltip`],[`matInput`,``,`placeholder`,`attr == 'value'`,3,`ngModelChange`,`keydown.enter`,`ngModel`],[2,`margin`,`16px 0`],[1,`p3xr-settings-label`,2,`flex`,`1`,`font-weight`,`bold`]],template:function(n,t){n&1&&(Wa(0,`div`,0),_y(1,`br`),Wa(2,`p3xr-ng-accordion`,1)(3,`div`,2)(4,`p3xr-ng-button`,3),Sy(`click`,function(p){return t.toggleAutoRefresh(),p.stopPropagation()}),wf(),co$1(5,Kr,1,2,`p3xr-ng-button`,4),wf(),Wa(6,`div`,5)(7,`mat-list`),oT(8,Dr,7,3,null,null,Er),wf()()(),_y(10,`br`),Wa(11,`p3xr-ng-accordion`,6)(12,`div`,5)(13,`p3xr-key-pager-inline`,7),Sy(`pageChanged`,function(){return t.updatePagedElements()}),wf(),Wa(14,`div`,8)(15,`div`,9)(16,`span`,10),HT(17),wf(),Wa(18,`span`,11),HT(19),wf(),Wa(20,`span`,12),co$1(21,Fr,3,0,`button`,13),wf()(),oT(22,Pr,11,3,`div`,14,xi),wf(),co$1(24,Ar,11,5,`div`,15),wf()(),_y(25,`br`),Wa(26,`p3xr-ng-accordion`,16)(27,`div`,5)(28,`div`,17)(29,`div`,18)(30,`mat-form-field`,19)(31,`mat-label`),HT(32),wf(),Wa(33,`input`,20),$y(`ngModelChange`,function(p){return qT(t.simQueryInput,p)||(t.simQueryInput=p),p}),Sy(`keydown.enter`,function(){return t.searchSimilar()}),wf(),WC(),wf(),Wa(34,`mat-form-field`,21)(35,`mat-label`),HT(36),wf(),Wa(37,`input`,22),$y(`ngModelChange`,function(p){return qT(t.simCountInput,p)||(t.simCountInput=p),p}),wf(),WC(),wf(),co$1(38,Or,4,2,`mat-form-field`,23),co$1(39,Nr,10,2)(40,Lr,6,2),wf(),co$1(41,Wr,4,0),wf()()()()),n&2&&(Sn$1(2),by(`title`,t.strings()?.page?.key?.vectorset?.info),Sn$1(2),by(`label`,t.strings()?.label?.autoRefresh)(`mdIcon`,t.autoRefresh?`check_box`:`check_box_outline_blank`)(`breakpoint`,1280),Sn$1(),lo$1(t.autoRefresh?-1:5),Sn$1(3),iT(t.infoItems),Sn$1(3),by(`title`,t.strings()?.page?.key?.vectorset?.elements+` (`+t.elements.length+`)`),Sn$1(2),by(`paging`,t.paging),Sn$1(4),jy(t.strings()?.page?.key?.vectorset?.element),Sn$1(2),jy(t.strings()?.page?.key?.vectorset?.score),Sn$1(2),lo$1(t.readonly?-1:21),Sn$1(),iT(t.pagedElements),Sn$1(2),lo$1(!t.readonly&&t.showAddForm?24:-1),Sn$1(2),by(`title`,t.strings()?.page?.key?.vectorset?.similaritySearch),Sn$1(6),jy(t.simMode===`element`?t.strings()?.page?.key?.vectorset?.elementName:t.strings()?.page?.key?.vectorset?.vectorValues),Sn$1(),Uy(`ngModel`,t.simQueryInput),by(`placeholder`,t.simMode===`vector`?`0.1, 0.2, 0.3`:``),qC(),Sn$1(3),jy(t.strings()?.page?.key?.vectorset?.count),Sn$1(),Uy(`ngModel`,t.simCountInput),qC(),Sn$1(),lo$1(t.redisState.redisVersion().isAtLeast(8,2)?38:-1),Sn$1(),lo$1(t.isGtSm?39:40),Sn$1(2),lo$1(t.simResults.length>0?41:-1))},dependencies:[Eb,Gn$1,He,an$1,xn$1,on$1,$Y,HY,UY,G0,yt,wt,Qt,gt,Qt$1,qe,U,Oe,ze$1,Yt$1,Xt$1,Zt$1,u,f,X,lt,de],encapsulation:2,changeDetection:1})}return i})();var fi=K(C());var yi=K(U$1());function Hr(i,r){i&1&&(Wa(0,`div`,0),_y(1,`mat-spinner`,1),wf())}function zr(i,r){if(i&1){let e=dT();Wa(0,`button`,20),Sy(`click`,function(t){ym(e);return bm(gT(3).addKey(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings()?.intention?.addKey)}}function qr(i,r){if(i&1){let e=dT();Wa(0,`button`,21),Sy(`click`,function(t){ym(e);return bm(gT(3).addKey(t))}),Wa(1,`mat-icon`),HT(2,`add`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings()?.intention?.addKey??`Add to this key`)}function Ur(i,r){if(i&1){let e=dT();Wa(0,`button`,22),Sy(`click`,function(t){ym(e);return bm(gT(3).deleteKey(t))}),Wa(1,`mat-icon`),HT(2,`delete`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings()?.intention?.delete)}}function Gr(i,r){if(i&1){let e=dT();Wa(0,`button`,23),Sy(`click`,function(t){ym(e);return bm(gT(3).deleteKey(t))}),Wa(1,`mat-icon`),HT(2,`delete`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings()?.intention?.delete??`Delete`)}function Qr(i,r){if(i&1){let e=dT();Wa(0,`button`,24),Sy(`click`,function(t){ym(e);return bm(gT(3).setTtl(t))}),Wa(1,`mat-icon`),HT(2,`timer`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings()?.intention?.ttl)}}function Zr(i,r){if(i&1){let e=dT();Wa(0,`button`,25),Sy(`click`,function(t){ym(e);return bm(gT(3).setTtl(t))}),Wa(1,`mat-icon`),HT(2,`timer`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings()?.intention?.ttl??`Set TTL`)}function Xr(i,r){if(i&1){let e=dT();Wa(0,`button`,24),Sy(`click`,function(t){ym(e);return bm(gT(3).rename(t))}),Wa(1,`mat-icon`),HT(2,`fingerprint`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(3);Sn$1(4),jy(e.strings()?.intention?.rename)}}function Yr(i,r){if(i&1){let e=dT();Wa(0,`button`,25),Sy(`click`,function(t){ym(e);return bm(gT(3).rename(t))}),Wa(1,`mat-icon`),HT(2,`fingerprint`),wf()()}if(i&2)by(`matTooltip`,gT(3).strings()?.intention?.rename??`Rename`)}function ea(i,r){if(i&1&&(co$1(0,zr,5,1,`button`,3)(1,qr,3,1,`button`,4),co$1(2,Ur,5,1,`button`,16)(3,Gr,3,1,`button`,17),co$1(4,Qr,5,1,`button`,18)(5,Zr,3,1,`button`,19),co$1(6,Xr,5,1,`button`,18)(7,Yr,3,1,`button`,19)),i&2){let e=gT(2);lo$1(e.isGtSm?0:1),Sn$1(2),lo$1(e.isGtSm?2:3),Sn$1(2),lo$1(e.isGtSm?4:5),Sn$1(2),lo$1(e.isGtSm?6:7)}}function ta(i,r){if(i&1){let e=dT();Wa(0,`button`,20),Sy(`click`,function(){ym(e);return bm(gT(2).refresh())}),Wa(1,`mat-icon`),HT(2,`refresh`),wf(),Wa(3,`span`),HT(4),wf()()}if(i&2){let e=gT(2);Sn$1(4),jy(e.strings()?.intention?.reloadKey)}}function ia(i,r){if(i&1){let e=dT();Wa(0,`button`,21),Sy(`click`,function(){ym(e);return bm(gT(2).refresh())}),Wa(1,`mat-icon`),HT(2,`refresh`),wf()()}if(i&2)by(`matTooltip`,gT(2).strings()?.intention?.reloadKey??`Reload Key`)}function na(i,r){if(i&1&&(Wa(0,`span`),HT(1),wf()),i&2){let e=gT(2);Sn$1(),jy(e.strings()?.page?.key?.label?.ttlNotExpire)}}function oa(i,r){if(i&1&&(Wa(0,`span`,9)(1,`span`),HT(2),wf(),_y(3,`span`,26),wf()),i&2){let e=gT(2);Sn$1(2),jy(e.response.ttl)}}function ra(i,r){if(i&1&&(Wa(0,`span`,29),HT(1),wf()),i&2){let e=gT(3);Sn$1(),Nf(``,e.response.compression.ratio,`%`)}}function aa(i,r){if(i&1&&(Wa(0,`span`,30),HT(1),wf()),i&2){let e=gT(3);Sn$1(),Nf(``,-e.response.compression.ratio,`%`)}}function sa(i,r){if(i&1&&(Wa(0,`div`,11)(1,`strong`),HT(2),wf(),Wa(3,`span`,27)(4,`span`,28),HT(5),wf(),co$1(6,ra,2,1,`span`,29)(7,aa,2,1,`span`,30),wf()()),i&2){let e=gT(2);Sn$1(2),Nf(``,e.strings()?.page?.key?.label?.compression,`:`),Sn$1(3),jy(e.response.compression.algorithm.toUpperCase()),Sn$1(),lo$1(e.response.compression.ratio>=0?6:7)}}function la(i,r){if(i&1&&(Wa(0,`span`),HT(1),wf()),i&2){let e=gT(2);Sn$1(),By(`, `,e.response.length,` `,e.strings()?.page?.key?.label?.lengthItem)}}function ca(i,r){if(i&1){let e=dT();Wa(0,`div`,13)(1,`strong`,31),HT(2),wf(),Wa(3,`mat-button-toggle-group`,32),$y(`ngModelChange`,function(t){ym(e);let s=gT(2);return qT(s.valueFormat,t)||(s.valueFormat=t),bm(t)}),Wa(4,`mat-button-toggle`,33),HT(5,`Raw`),wf(),Wa(6,`mat-button-toggle`,34),HT(7,`JSON`),wf(),Wa(8,`mat-button-toggle`,35),HT(9,`Hex`),wf(),Wa(10,`mat-button-toggle`,36),HT(11,`Base64`),wf()(),WC(),wf()}if(i&2){let e=gT(2);Sn$1(2),Nf(``,e.strings()?.label?.format,`:`),Sn$1(),Uy(`ngModel`,e.valueFormat),qC(),Sn$1(3),uc(`border-left`,e.dividerBorder),Sn$1(2),uc(`border-left`,e.dividerBorder),Sn$1(2),uc(`border-left`,e.dividerBorder)}}function ma(i,r){if(i&1&&_y(0,`p3xr-key-string`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function pa(i,r){if(i&1&&_y(0,`p3xr-key-list`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function da(i,r){if(i&1&&_y(0,`p3xr-key-hash`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ua(i,r){if(i&1&&_y(0,`p3xr-key-array`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function _a(i,r){if(i&1&&_y(0,`p3xr-key-set`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function xa(i,r){if(i&1&&_y(0,`p3xr-key-zset`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ga(i,r){if(i&1&&_y(0,`p3xr-key-stream`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function fa(i,r){if(i&1&&_y(0,`p3xr-key-json`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ya(i,r){if(i&1&&_y(0,`p3xr-key-timeseries`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ha(i,r){if(i&1&&_y(0,`p3xr-key-probabilistic`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function Ca(i,r){if(i&1&&_y(0,`p3xr-key-probabilistic`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function va(i,r){if(i&1&&_y(0,`p3xr-key-probabilistic`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ba(i,r){if(i&1&&_y(0,`p3xr-key-probabilistic`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function ka(i,r){if(i&1&&_y(0,`p3xr-key-probabilistic`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function wa(i,r){if(i&1&&_y(0,`p3xr-key-vectorset`,14),i&2){let e=gT(2);by(`p3xrResponse`,e.response)(`p3xrValue`,e.response.value)(`p3xrValueBuffer`,e.response.valueBuffer)(`p3xrKey`,e.key)(`valueFormat`,e.valueFormat)}}function Sa(i,r){if(i&1&&(Wa(0,`div`,15),HT(1),wf()),i&2){let e=gT(2);Sn$1(),Nf(` `,e.strings()?.page?.key?.probabilistic?.noItems,` `)}}function Ta(i,r){if(i&1){let e=dT();Wa(0,`div`,2),co$1(1,ea,8,4),co$1(2,ta,5,1,`button`,3)(3,ia,3,1,`button`,4),wf(),Wa(4,`div`,5)(5,`div`,6),Sy(`click`,function(t){ym(e);return bm(gT().rename(t))}),Wa(6,`strong`),HT(7),wf(),Wa(8,`span`,7),HT(9),wf()(),Wa(10,`div`,8),Sy(`click`,function(t){ym(e);return bm(gT().setTtl(t))}),Wa(11,`strong`),HT(12),wf(),co$1(13,na,2,1,`span`)(14,oa,4,1,`span`,9),wf(),Wa(15,`div`,10)(16,`strong`),HT(17),wf(),Wa(18,`span`),HT(19),wf()(),Wa(20,`div`,10)(21,`strong`),HT(22),wf(),Wa(23,`span`),HT(24),wf()(),co$1(25,sa,8,3,`div`,11),Wa(26,`div`,10)(27,`strong`),HT(28),wf(),Wa(29,`span`)(30,`span`,12),HT(31),wf(),HT(32),co$1(33,la,2,2,`span`),wf()(),co$1(34,ca,12,8,`div`,13),wf(),co$1(35,ma,1,5,`p3xr-key-string`,14)(36,pa,1,5,`p3xr-key-list`,14)(37,da,1,5,`p3xr-key-hash`,14)(38,ua,1,5,`p3xr-key-array`,14)(39,_a,1,5,`p3xr-key-set`,14)(40,xa,1,5,`p3xr-key-zset`,14)(41,ga,1,5,`p3xr-key-stream`,14)(42,fa,1,5,`p3xr-key-json`,14)(43,ya,1,5,`p3xr-key-timeseries`,14)(44,ha,1,5,`p3xr-key-probabilistic`,14)(45,Ca,1,5,`p3xr-key-probabilistic`,14)(46,va,1,5,`p3xr-key-probabilistic`,14)(47,ba,1,5,`p3xr-key-probabilistic`,14)(48,ka,1,5,`p3xr-key-probabilistic`,14)(49,wa,1,5,`p3xr-key-vectorset`,14)(50,Sa,2,1,`div`,15)}if(i&2){let e,n=gT();Sn$1(),lo$1(n.isReadonly?-1:1),Sn$1(),lo$1(n.isGtSm?2:3),Sn$1(5),Nf(``,n.strings()?.page?.key?.label?.key,`:`),Sn$1(),by(`title`,n.key),Sn$1(),jy(n.key),Sn$1(3),Nf(``,n.strings()?.page?.key?.label?.ttl,`:`),Sn$1(),lo$1(n.response.ttl===-1?13:14),Sn$1(4),Nf(``,n.strings()?.page?.key?.label?.type,`:`),Sn$1(2),jy(n.strings()?.redisTypes?.[n.response.type]),Sn$1(3),Nf(``,n.strings()?.page?.key?.label?.encoding,`:`),Sn$1(2),jy(n.response.encoding),Sn$1(),lo$1(n.response.compression?25:-1),Sn$1(3),Nf(``,n.strings()?.page?.key?.label?.length,`:`),Sn$1(3),Nf(``,n.charactersPrettyBytes(n.response.size),`\xA0`),Sn$1(),By(` `,n.response.size,`\xA0`,n.strings()?.page?.key?.label?.lengthString,` `),Sn$1(),lo$1(n.response.length?33:-1),Sn$1(),lo$1(n.response.type!==`timeseries`&&n.response.type!==`json`&&n.response.type!==`bloom`&&n.response.type!==`cuckoo`&&n.response.type!==`topk`&&n.response.type!==`cms`&&n.response.type!==`tdigest`&&n.response.type!==`vectorset`?34:-1),Sn$1(),lo$1((e=n.response.type)===`string`?35:e===`list`?36:e===`hash`?37:e===`array`?38:e===`set`?39:e===`zset`?40:e===`stream`?41:e===`json`?42:e===`timeseries`?43:e===`bloom`?44:e===`cuckoo`?45:e===`topk`?46:e===`cms`?47:e===`tdigest`?48:e===`vectorset`?49:50)}}var Rd=(()=>{class i{ngZone;breakpointObserver;i18n;socket;common;cmd;theme;ttlDialog;nav;route;cdr;state;settings;loading=!1;response=null;key=``;isReadonly=!1;isGtSm=!0;valueFormat=`raw`;strings;get dividerBorder(){let e=this.theme.currentTheme()??``;return`solid 1px ${e.includes(`Dark`)||e.includes(`Matrix`)?`rgba(255,255,255,0.12)`:`rgba(0,0,0,0.12)`}`}ttlInterval;wasExpiring=!1;unsubFns=[];constructor(e,n,t,s,p,C,b,S,E,T,ee,M,re){this.ngZone=e,this.breakpointObserver=n,this.i18n=t,this.socket=s,this.common=p,this.cmd=C,this.theme=b,this.ttlDialog=S,this.nav=E,this.route=T,this.cdr=ee,this.state=M,this.settings=re,this.strings=this.i18n.strings,cr$1(()=>{this.theme.currentTheme(),this.key&&(this.removeHighlight(),this.generateHighlight())})}ngOnInit(){this.key=this.getStateParam(`key`)||``,this.isReadonly=this.state.connection()?.readonly===!0;let e=this.breakpointObserver.observe(`(min-width: 960px)`).subscribe(s=>{this.isGtSm=s.matches,this.cdr.markForCheck()});this.unsubFns.push(()=>e.unsubscribe()),this.loadKey(),this.generateHighlight();let n=this.cmd.refreshKey$.subscribe(()=>{this.refresh({withoutParent:!0})});this.unsubFns.push(()=>n.unsubscribe());let t=this.route.paramMap.subscribe(s=>{let p=s.get(`key`)||``;p&&p!==this.key&&(this.key=p,this.loadKey(),this.generateHighlight(),this.cdr.markForCheck())});this.unsubFns.push(()=>t.unsubscribe())}ngOnDestroy(){this.clearTtlInterval(),this.removeHighlight(),this.unsubFns.forEach(e=>e())}addKey(e){e.stopPropagation(),this.cmd.keyNew$.next({event:e,node:{key:this.key}})}deleteKey(e){this.cmd.keyDelete$.next({key:this.key,event:e})}rename(e){this.cmd.keyRename$.next({key:this.key,event:e})}setTtl(e){return L(this,null,function*(){try{let n=yield this.ttlDialog.show({$event:e,model:{ttl:this.response.ttl===-1?``:this.response.ttl}});if(n===void 0)return;let t=String(n.model.ttl).trim();t===``||n.model.ttl==null?(yield this.socket.request({action:`key/persist`,payload:{key:this.key}}),this.gtag(`/persist`),yield this.cmd.refresh(),yield this.refresh({withoutParent:!0}),this.common.toast(this.i18n.strings().status.persisted)):/^-?\d+$/.test(t)?(yield this.socket.request({action:`key/expire`,payload:{key:this.key,ttl:parseInt(t)}}),this.gtag(`/expire`),yield this.cmd.refresh(),yield this.refresh({withoutParent:!0}),this.common.toast(this.i18n.strings().status.ttlChanged)):this.common.toast(this.i18n.strings().status.notInteger)}catch(n){this.common.generalHandleError(n)}})}refresh(){return L(this,arguments,function*(e={}){this.gtag(`/refresh`),yield this.loadKey(e)})}charactersPrettyBytes(e){return!e||e<1024?``:`(`+(this.settings.prettyBytes(e)??``)+`)`}loadKey(){return L(this,arguments,function*(e={}){this.clearTtlInterval();let n;try{let t=yield this.socket.request({action:`key/get`,payload:{key:this.key}});if(this.response=t,t.ttl===-2){this.checkTtl();return}t.size=0,this.decodeValueBuffer(t),this.calculateSize(t),t.ttl>-1&&(this.wasExpiring=!0),this.loadTtl()}catch(t){n=t,console.error(t),t?.message===`Connection is closed.`?(this.state.connection.set(void 0),this.common.alert(t?.message??String(t))):this.common.alert(this.i18n.strings().label.unableToLoadKey({key:this.key}))}finally{if(n)this.navigateTo(`database.statistics`);else if(!e.withoutParent){let t=this.getStateParam(`resize`);t&&t()}this.loading=!1,this.cdr.markForCheck()}})}toBytes(e){return e instanceof Uint8Array||e instanceof ArrayBuffer?e instanceof ArrayBuffer?new Uint8Array(e):e:e&&e.type===`Buffer`&&Array.isArray(e.data)?new Uint8Array(e.data):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}decodeValueBuffer(e){let{type:n,valueBuffer:t}=e,s=new TextDecoder;switch(n){case`string`:e.value=s.decode(this.toBytes(t));break;case`list`:case`set`:e.value=t.map(b=>s.decode(this.toBytes(b)));break;case`array`:case`hash`:e.value={},Object.entries(t).forEach(([b,S])=>{e.value[b]=s.decode(this.toBytes(S))});break;case`zset`:e.value=[];for(let b=0;b<t.length;b+=2)e.value.push(s.decode(this.toBytes(t[b]))),e.value.push(s.decode(t[b+1]));break;case`json`:let p=s.decode(this.toBytes(t));try{let b=JSON.parse(p),S=Array.isArray(b)?b[0]:b;e.value=JSON.stringify(S,null,this.settings.jsonFormat()??2)}catch(b){e.value=p}break;case`stream`:let C=b=>b.map(S=>Array.isArray(S)?C(S):ArrayBuffer.isView(S)||S instanceof ArrayBuffer?s.decode(S):S);e.value=t.map(b=>C(b));break;case`timeseries`:try{e.value=JSON.parse(s.decode(this.toBytes(t)))}catch(b){e.value={}}break;case`bloom`:case`cuckoo`:case`topk`:case`cms`:case`tdigest`:case`vectorset`:try{e.value=JSON.parse(s.decode(this.toBytes(t)))}catch(b){e.value={}}break;default:try{e.value=JSON.parse(s.decode(this.toBytes(t)))}catch(b){e.value=s.decode(this.toBytes(t))}break}}calculateSize(e){if(e.type!==`stream`)if(typeof e.valueBuffer==`object`&&e.length>0)for(let n of Object.keys(e.valueBuffer))e.size+=e.valueBuffer[n].byteLength;else if(Array.isArray(e.valueBuffer))for(let n of e.valueBuffer)e.size+=n.byteLength;else e.size=e.valueBuffer.byteLength;else{let n=t=>{let s=0,p=C=>{ArrayBuffer.isView(C)||C instanceof ArrayBuffer?s+=C.byteLength:Array.isArray(C)&&C.forEach(p)};return t.forEach(p),s};e.size=n(e.valueBuffer)}}loadTtl(){if(!this.response||this.response.ttl<=-1)return;let e=()=>{if(!this.checkTtl()){this.clearTtlInterval();return}let n=this.settings.getHumanizeDurationOptions(),t=` `+(0,yi.default)(this.response.ttl*1e3,F(E({},n),{delimiter:` `})),s=document.getElementById(`p3xr-database-key-ttl-counter`);s&&(s.innerText=t)};e(),this.state.reducedFunctions()||(this.clearTtlInterval(),this.ttlInterval=setInterval(()=>{this.response.ttl--,e(),this.cdr.markForCheck()},1e3))}checkTtl(){return this.response.ttl<-1||this.wasExpiring&&this.response.ttl<1?(this.common.toast(this.i18n.strings().status.keyIsNotExisting),this.clearTtlInterval(),this.state.redisChanged.set(!0),this.navigateTo(`database.statistics`),!1):!0}clearTtlInterval(){this.ttlInterval&&(clearInterval(this.ttlInterval),this.ttlInterval=null)}generateHighlight(){this.removeHighlight();let e=this.theme.currentTheme()??``,n=e.includes(`Dark`)||e.includes(`Matrix`),t=n?`rgba(255,255,255,0.15)`:`rgba(0,0,0,0.15)`,s=n?`white`:`black`,p=document.createElement(`style`);p.id=`p3xr-theme-styles-tree-key`,p.textContent=`[data-p3xr-tree-key="${(0,fi.htmlEncode)(this.key)??``}"] .p3xr-database-tree-node-label {
background-color: ${t} !important;
color: ${s} !important;
padding: 2px;
}`,document.head.appendChild(p)}removeHighlight(){document.getElementById(`p3xr-theme-styles-tree-key`)?.remove()}getStateParam(e){return this.route.snapshot.paramMap.get(e)}navigateTo(e,n){this.nav.navigateTo(e,n)}gtag(e){try{typeof window.gtag==`function`&&window.gtag(`config`,this.settings.googleAnalytics,{page_path:e})}catch(n){}}static ɵfac=function(n){return new(n||i)(Qe(O),Qe(cp),Qe(YQ),Qe(bi$1),Qe(It),Qe(P$1),Qe(T),Qe(Ye),Qe(b),Qe(J$1),Qe(mc),Qe(Q),Qe(x))};static ɵcmp=Ee({type:i,selectors:[[`p3xr-database-key`]],decls:2,vars:2,consts:[[1,`p3xr-database-key-loading`],[`diameter`,`40`],[1,`p3xr-database-key-actions`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`matTooltip`],[1,`p3xr-database-key-info`],[1,`p3xr-database-key-info-row`,`p3xr-database-key-info-row-clickable`,3,`click`],[1,`p3xr-typography-ellipsis`,3,`title`],[1,`p3xr-database-key-info-row`,`p3xr-database-key-info-row-clickable`,`p3xr-database-key-ttl-row`,3,`click`],[1,`p3xr-database-key-ttl-value`],[1,`p3xr-database-key-info-row`],[1,`p3xr-database-key-info-row`,`p3xr-database-key-compression-row`],[2,`opacity`,`0.5`],[1,`p3xr-database-key-info-row`,2,`display`,`flex`,`align-items`,`center`],[3,`p3xrResponse`,`p3xrValue`,`p3xrValueBuffer`,`p3xrKey`,`valueFormat`],[1,`p3xr-key-type-content`,2,`padding`,`16px`,`opacity`,`0.7`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-warn`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-accent`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-warn`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-warn`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,`p3xr-action-btn`,3,`click`],[`mat-mini-fab`,``,`type`,`button`,`matTooltipPosition`,`above`,1,`btn-primary`,3,`click`,`matTooltip`],[`id`,`p3xr-database-key-ttl-counter`,1,`p3xr-database-key-ttl-hint`],[1,`p3xr-compression-badge`],[1,`p3xr-compression-algorithm`],[1,`p3xr-compression-ratio-badge`,`p3xr-compression-good`],[1,`p3xr-compression-ratio-badge`,`p3xr-compression-bad`],[2,`flex`,`1`],[`hideSingleSelectionIndicator`,``,1,`p3xr-format-toggle`,3,`ngModelChange`,`ngModel`],[`value`,`raw`],[`value`,`json`],[`value`,`hex`],[`value`,`base64`]],template:function(n,t){n&1&&(co$1(0,Hr,2,0,`div`,0),co$1(1,Ta,51,19)),n&2&&(lo$1(t.loading?0:-1),Sn$1(),lo$1(!t.loading&&t.response?1:-1))},dependencies:[Eb,Gn$1,xn$1,on$1,$Y,HY,UY,yt,wt,Qt,gt,Yt,Xt,Dt,bt,nt,ii,oi,ri,ai,si,li,ci,mi,ui,_i,gi],styles:[`.p3xr-database-key-loading{display:flex;justify-content:center;align-items:center;min-height:100%;padding:32px}.p3xr-database-key-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:4px 8px}.p3xr-database-key-info{border-top:1px solid rgba(255,255,255,.12)}body.p3xr-theme-light .p3xr-database-key-info{border-top-color:#0000001f}.p3xr-database-key-info-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.p3xr-database-key-info-row strong{white-space:nowrap;margin-right:16px}.p3xr-database-key-info-row span{text-align:right;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:text;user-select:text}body.p3xr-theme-light .p3xr-database-key-info-row{border-bottom-color:#0000001f}.p3xr-database-key-info-row-clickable{cursor:pointer}.p3xr-database-key-info-row-clickable:hover{background-color:#ffffff1a!important}body.p3xr-theme-light .p3xr-database-key-info-row-clickable:hover{background-color:#0000001a!important}.p3xr-database-key-ttl-value{display:flex;flex-direction:column;align-items:flex-end}.p3xr-database-key-ttl-hint{opacity:.5;font-size:.85em;font-weight:400}.p3xr-compression-badge{display:inline-flex;align-items:center;gap:6px}.p3xr-compression-algorithm{background-color:var(--%NS%p3xr-btn-accent-bg);color:var(--%NS%p3xr-btn-accent-color);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.p3xr-compression-ratio-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:700}.p3xr-compression-good{background-color:var(--%NS%mat-sys-primary, #4caf50);color:var(--%NS%p3xr-btn-primary-color)}.p3xr-compression-bad{background-color:var(--%NS%p3xr-btn-warn-bg, #f44336);color:var(--%NS%p3xr-btn-warn-color)}.p3xr-format-toggle{border-radius:4px!important;overflow:hidden!important;box-shadow:none!important}.p3xr-format-toggle .mat-button-toggle{height:32px!important;border-radius:0!important}.p3xr-format-toggle .mat-button-toggle .mat-button-toggle-button{height:32px!important;font-size:13px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:0!important}.p3xr-format-toggle .mat-button-toggle:first-child{border-radius:4px 0 0 4px!important}.p3xr-format-toggle .mat-button-toggle:last-child{border-radius:0 4px 4px 0!important}
`,`.p3xr-key-type-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:4px 8px}.p3xr-key-type-content{padding:8px 16px 24px}.p3xr-key-type-textarea{width:100%;font-family:monospace;font-size:13px;background:var(--%NS%p3xr-input-bg);color:var(--%NS%p3xr-input-color);border:1px solid var(--%NS%p3xr-fieldset-border);border-radius:4px;padding:8px;resize:vertical}.p3xr-key-type-value{white-space:pre-wrap;word-break:break-all;padding:8px;margin:0;font-size:13px}.p3xr-key-type-display{padding:8px}.p3xr-key-type-editor{width:100%}.p3xr-key-type-editor textarea{font-family:Roboto Mono,monospace;font-size:13px}.p3xr-key-type-buffer-info{padding:8px;opacity:.7;font-style:italic}.p3xr-key-type-table{width:100%}.p3xr-key-type-header{display:flex;align-items:center;gap:8px;padding:8px 16px;font-weight:700;background-color:var(--%NS%p3xr-btn-primary-bg);color:var(--%NS%p3xr-btn-primary-color);border-bottom:2px solid var(--%NS%p3xr-list-border)}.p3xr-key-type-header .mat-mdc-icon-button{color:var(--%NS%p3xr-btn-primary-color)!important}.p3xr-key-type-row{display:flex;align-items:flex-start;gap:8px;padding:6px 16px;border-bottom:1px solid var(--%NS%p3xr-list-border)}.p3xr-key-type-row:hover{background-color:var(--%NS%p3xr-hover-bg)}.p3xr-key-type-row:nth-child(odd){background-color:var(--%NS%p3xr-list-odd-bg)}.p3xr-key-type-row:nth-child(odd):hover{background-color:var(--%NS%p3xr-hover-bg)}.p3xr-key-type-row .p3xr-key-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text}.p3xr-key-type-row .p3xr-value-col{overflow-x:hidden;overflow-y:auto;max-height:200px;white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text}.p3xr-key-type-row .p3xr-value-col::-webkit-scrollbar{width:6px}.p3xr-key-type-row .p3xr-value-col::-webkit-scrollbar-track{background:transparent}.p3xr-key-type-row .p3xr-value-col::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.p3xr-key-type-row .p3xr-value-col:hover::-webkit-scrollbar-thumb{background:#80808066}.p3xr-key-type-row-actions{white-space:nowrap!important}.p3xr-key-type-row-actions mat-icon{cursor:pointer;font-size:24px;width:24px;height:24px;margin:0 2px;opacity:.7}.p3xr-key-type-row-actions mat-icon:hover{opacity:1}.p3xr-key-type-row-actions .icon-warn{color:var(--%NS%p3xr-btn-warn-bg)}.p3xr-key-type-row-actions .icon-accent{color:var(--%NS%p3xr-btn-accent-bg)}.p3xr-key-type-row-actions .icon-primary{color:var(--%NS%p3xr-btn-primary-bg)}.p3xr-key-stream-entry-block{border-bottom:1px solid var(--%NS%p3xr-list-border)}.p3xr-key-stream-entry-block:nth-child(odd){background-color:var(--%NS%p3xr-list-odd-bg)}.p3xr-key-stream-entry-block:hover{background-color:var(--%NS%p3xr-hover-bg)}.p3xr-key-stream-entry-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;font-size:13px}.p3xr-key-stream-timestamp{display:flex;align-items:center;gap:12px}.p3xr-key-stream-timestamp-human{opacity:.5;font-size:12px}.p3xr-key-stream-data{padding:0 16px 8px;overflow:auto;max-height:300px}.p3xr-timeseries-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:8px 0}.p3xr-timeseries-field{min-width:140px;max-width:200px}.p3xr-timeseries-chart-container{width:100%;min-height:400px}.p3xr-timeseries-chart-info{padding:4px 0;opacity:.6;font-size:13px}.p3xr-timeseries-info-key{min-width:180px;flex-shrink:0}.p3xr-timeseries-info-value{word-break:break-all}
`],encapsulation:2})}return i})();export{Rd as DatabaseKeyComponent};