@duplicati/ngclient 0.0.144 → 0.0.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/{chunk-X3IA226Q.js → chunk-2F6NVETW.js} +1 -1
  2. package/{chunk-VC72SWC4.js → chunk-2QJC4PGQ.js} +1 -1
  3. package/{chunk-PT7UQJD4.js → chunk-2UCO57JQ.js} +1 -1
  4. package/chunk-2UGURIOT.js +1 -0
  5. package/{chunk-4YL5DZVH.js → chunk-43JMN2ZY.js} +1 -1
  6. package/{chunk-LZUM5XKC.js → chunk-4TDUWDRL.js} +1 -1
  7. package/{chunk-SCOG2I64.js → chunk-62QANGOE.js} +1 -1
  8. package/{chunk-XNVRJH42.js → chunk-6LTGTS6B.js} +1 -1
  9. package/{chunk-73RDJP55.js → chunk-6OPAGPKF.js} +1 -1
  10. package/{chunk-LEXA637O.js → chunk-7B43LCPI.js} +1 -1
  11. package/{chunk-KOVQRACM.js → chunk-7EBTJOD7.js} +1 -1
  12. package/{chunk-6GC5VKTI.js → chunk-7IQY6U5W.js} +1 -1
  13. package/chunk-A6VGO6B5.js +1 -0
  14. package/{chunk-GHFYBZHQ.js → chunk-AJTK6HBC.js} +1 -1
  15. package/chunk-B2D4QGDJ.js +1 -0
  16. package/chunk-BPJCKQYP.js +1 -0
  17. package/{chunk-UACX27D3.js → chunk-DDWLL7XA.js} +1 -1
  18. package/{chunk-GUH5TMOS.js → chunk-DELLEGXW.js} +1 -1
  19. package/{chunk-IHNX6WZQ.js → chunk-DFMGS3IN.js} +1 -1
  20. package/chunk-DFMPWF6R.js +1 -0
  21. package/chunk-DKTUN7FF.js +1 -0
  22. package/{chunk-KGJAK6OP.js → chunk-DLMKZACT.js} +1 -1
  23. package/{chunk-FFY3NRCC.js → chunk-DNDTLTUM.js} +1 -1
  24. package/{chunk-3UN32GIC.js → chunk-DVDTYV66.js} +1 -1
  25. package/{chunk-IGOZJJE3.js → chunk-E66CBA5F.js} +1 -1
  26. package/{chunk-JA7OQSO3.js → chunk-EBIM5FBM.js} +1 -1
  27. package/{chunk-GO22DJ44.js → chunk-ESUPNSKH.js} +1 -1
  28. package/{chunk-OTMW34HV.js → chunk-FCRM5DER.js} +1 -1
  29. package/chunk-FDCY62KM.js +1 -0
  30. package/chunk-FFEDQIYN.js +1 -0
  31. package/{chunk-XQ4CAUD4.js → chunk-FUOS2UGQ.js} +1 -1
  32. package/{chunk-BIETD4DI.js → chunk-FZHTJSDJ.js} +1 -1
  33. package/{chunk-BXRW2LGW.js → chunk-GB3UMYUD.js} +1 -1
  34. package/chunk-H7K35UUX.js +1 -0
  35. package/chunk-HI4XLHO3.js +1 -0
  36. package/{chunk-QDFCX6XE.js → chunk-HNWRQABR.js} +3 -3
  37. package/{chunk-J2MHNGNQ.js → chunk-IFW3O4YJ.js} +1 -1
  38. package/{chunk-CTEFMU6N.js → chunk-J3ONM4TQ.js} +1 -1
  39. package/{chunk-CDRDYQEV.js → chunk-KDYD6LMI.js} +1 -1
  40. package/{chunk-GCZWFRPZ.js → chunk-KGKIF5H4.js} +1 -1
  41. package/chunk-KLW6HEOS.js +1 -0
  42. package/{chunk-K3ZQ67VT.js → chunk-L6CWVBZ6.js} +1 -1
  43. package/chunk-LVP2TPMO.js +1 -0
  44. package/{chunk-5PSLWJTF.js → chunk-M6WWZKV7.js} +1 -1
  45. package/chunk-MAQO5X5Q.js +1 -0
  46. package/{chunk-GDBU3Z7P.js → chunk-MSLKIHQQ.js} +1 -1
  47. package/{chunk-UT6XGEMV.js → chunk-MVNLSG6Z.js} +1 -1
  48. package/{chunk-USU2EHJV.js → chunk-N5SC4SKW.js} +1 -1
  49. package/{chunk-QY6E755W.js → chunk-N6ABN43N.js} +1 -1
  50. package/{chunk-WWFNG47J.js → chunk-NJEX2N4Q.js} +1 -1
  51. package/{chunk-JIHMT35A.js → chunk-NJZSEKTD.js} +1 -1
  52. package/{chunk-J3BBLPAD.js → chunk-NOPMCS2Z.js} +1 -1
  53. package/{chunk-ACH476VA.js → chunk-NQ27E6KP.js} +1 -1
  54. package/{chunk-QGFC5ZUR.js → chunk-O64ZZGQZ.js} +1 -1
  55. package/{chunk-CZLLEVMJ.js → chunk-OMMUXRXE.js} +1 -1
  56. package/{chunk-AO4O42CM.js → chunk-OWDKOVPL.js} +1 -1
  57. package/{chunk-TJOWPBPB.js → chunk-PN3U7MRX.js} +1 -1
  58. package/{chunk-CFNP4FBG.js → chunk-POMLWQHO.js} +1 -1
  59. package/{chunk-BGUKMOKY.js → chunk-QDFDQHU3.js} +1 -1
  60. package/{chunk-7AMBMWZP.js → chunk-QHC3CY43.js} +1 -1
  61. package/{chunk-ARXKB7WH.js → chunk-QITXA3NT.js} +1 -1
  62. package/chunk-QYI4IMJE.js +8 -0
  63. package/{chunk-J5PSMGKZ.js → chunk-R5RIFWZO.js} +1 -1
  64. package/chunk-RPU4AJBK.js +1 -0
  65. package/chunk-RUFE3SMI.js +1 -0
  66. package/{chunk-WJPLJKPQ.js → chunk-RUXCS4ZK.js} +1 -1
  67. package/{chunk-7X7K5IXS.js → chunk-SFSB73YO.js} +1 -1
  68. package/{chunk-B5FUQFEQ.js → chunk-TDKBGGNK.js} +1 -1
  69. package/{chunk-6XBSQDXR.js → chunk-TIWH4NKT.js} +1 -1
  70. package/{chunk-XHUUCB2W.js → chunk-TKO3OH2C.js} +1 -1
  71. package/chunk-U5C62E46.js +1 -0
  72. package/chunk-UIIHBXLB.js +1 -0
  73. package/{chunk-OXOOR7I4.js → chunk-UIJYCGKA.js} +1 -1
  74. package/{chunk-ETCRT3EV.js → chunk-UKQFDBNO.js} +1 -1
  75. package/{chunk-CWBEE627.js → chunk-UP5EOICU.js} +1 -1
  76. package/{chunk-6WWCFRZ5.js → chunk-VHE3K2F5.js} +1 -1
  77. package/{chunk-66BSPEOQ.js → chunk-VTSUHAP5.js} +1 -1
  78. package/chunk-W6DRPPZU.js +1 -0
  79. package/{chunk-UW4GBMEP.js → chunk-WS76KLII.js} +1 -1
  80. package/{chunk-T4TFHAZT.js → chunk-XJZ5GM36.js} +1 -1
  81. package/{chunk-ZGAC2JKG.js → chunk-Z3EPZZGY.js} +1 -1
  82. package/{chunk-FVE45QKX.js → chunk-ZNWZFRFW.js} +1 -1
  83. package/index.html +2 -2
  84. package/{main-SUSCPR3H.js → main-Z5T5HH5Q.js} +1 -1
  85. package/package.json +1 -1
  86. package/styles-LRXGHWCZ.css +1 -0
  87. package/chunk-2CTSAUUN.js +0 -1
  88. package/chunk-2NU5Y4V7.js +0 -1
  89. package/chunk-2RB5RKNM.js +0 -1
  90. package/chunk-74NKDA4G.js +0 -1
  91. package/chunk-7WD3AN66.js +0 -1
  92. package/chunk-AB2L3URR.js +0 -1
  93. package/chunk-B7NRTB6T.js +0 -1
  94. package/chunk-C2L3SQU3.js +0 -1
  95. package/chunk-ERKYRXHP.js +0 -8
  96. package/chunk-HKZX6OB5.js +0 -1
  97. package/chunk-L2EO4M4B.js +0 -1
  98. package/chunk-ODVCGM2O.js +0 -1
  99. package/chunk-QFU6VJXV.js +0 -1
  100. package/chunk-QNOIURSX.js +0 -1
  101. package/chunk-UGLRUY6T.js +0 -1
  102. package/chunk-UUODEERG.js +0 -1
  103. package/chunk-WHKW5IYF.js +0 -1
  104. package/chunk-WRNQOX5R.js +0 -1
  105. package/chunk-ZVIRETHC.js +0 -1
  106. package/styles-EZGVWHZF.css +0 -1
@@ -1 +1 @@
1
- import{a as Ie}from"./chunk-GUH5TMOS.js";import{a as Re}from"./chunk-66BSPEOQ.js";import{c as ke,e as Le,i as Ae,s as $e}from"./chunk-USU2EHJV.js";import{A as we,a as Me,d as ve,e as Ne,f as Se,l as Oe,n as xe,p as ye}from"./chunk-WRNQOX5R.js";import{h as De}from"./chunk-J3BBLPAD.js";import{ea as be}from"./chunk-WJPLJKPQ.js";import{Ab as d,Ac as j,B as le,Bb as g,Bc as Te,Cb as H,H as Q,Hc as Fe,Ib as U,Jb as L,Oc as $,Pc as W,Qb as he,Ra as m,Rb as pe,Sb as A,Tb as ue,Tc as ie,Ub as _e,Uc as E,Vc as ne,Wb as y,Yb as u,Zb as ge,_ as V,_b as G,bb as ae,ea as b,ec as J,fa as M,fc as fe,gb as K,gc as Y,hc as me,ic as x,lc as F,mc as Ce,n as re,nc as Pe,oa as O,qc as Z,r as B,rc as ee,sc as te,ub as v,vb as N,x as se,xb as ce,yb as de,zb as k,zc as Ee}from"./chunk-QDFCX6XE.js";import{a as X,b as q}from"./chunk-EUDKD2JW.js";var je=["treeContainer"],ze=["formRef"],Xe=[[["label"]],[["label"]],[["input"]]],qe=["label","label","input"],Qe=o=>({children:o,level:0}),We=o=>({$implicit:o}),Ke=(o,t)=>({children:o,level:t}),Ue=()=>({maxWidth:"700px",width:"100%"}),Je=(o,t)=>t.id;function Ye(o,t){if(o&1){let e=L();d(0,"sh-button-group")(1,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("browse"))}),A(2,4),g(),d(3,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("path"))}),A(4,5),g()()}if(o&2){let e=u();m(),x("active",e.pathDiscoveryMethod()==="browse"),m(2),x("active",e.pathDiscoveryMethod()==="path")}}function Ze(o,t){o&1&&H(0,"sh-progress-bar",12)}function et(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-down"),g())}function tt(o,t){o&1&&H(0,"sh-icon",24)}function it(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-right"),g())}function nt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-open"),g())}function ot(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-user"),g())}function rt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"file"),g())}function st(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder"),g())}function lt(o,t){if(o&1&&(v(0,et,2,0,"sh-icon",24)(1,tt,1,0,"sh-icon",24)(2,it,2,0,"sh-icon",24),v(3,nt,2,0,"sh-icon",22)(4,ot,2,0,"sh-icon",22)(5,rt,2,0,"sh-icon",22)(6,st,2,0,"sh-icon",22)),o&2){let e=u(2).$implicit;N(e.children.length?0:e.cls==="file"?1:2),m(3),N(e.children.length?3:e.id==="%HOME%"?4:e.cls==="file"?5:6)}}function at(o,t){o&1&&(d(0,"sh-icon",22),F(1,"desktop-tower"),g())}function ct(o,t){o&1&&U(0)}function dt(o,t){if(o&1&&K(0,ct,1,0,"ng-container",13),o&2){let e=u(2).$implicit,i=u().$implicit;u();let n=Y(7);k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(5,We,Te(2,Ke,e.children,i.level+1)))}}function ht(o,t){if(o&1){let e=L();d(0,"div",20,3),y("click",function(){b(e);let n=u().$implicit,r=u(2);return M(r.toggleNode(n.id,n))}),d(2,"div",21),v(3,lt,7,2)(4,at,2,0,"sh-icon",22),g(),d(5,"div",23),y("click",function(n){b(e);let r=u().$implicit,a=u(2);return M(a.toggleSelectedNode(n,r))}),F(6),g()(),v(7,dt,1,7,"ng-container")}if(o&2){let e=u().$implicit,i=u().$implicit,n=u();x("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",i.level===0),m(2),x("file",e.cls==="file"),m(),N(e.id!=="/"?3:4),m(3),Pe(" ",e.text," "),m(),N(e.children.length>0?7:-1)}}function pt(o,t){if(o&1&&v(0,ht,8,17),o&2){let e=t.$implicit,i=u(2);N(e.hidden&&i._showHiddenNodes()||!e.hidden?0:-1)}}function ut(o,t){if(o&1&&(d(0,"sh-list"),ce(1,pt,1,1,null,null,Je),g()),o&2){let e=t.$implicit;me("padding-left",e.level*.25,"rem"),m(),de(e.children)}}function _t(o,t){o&1&&U(0)}function gt(o,t){if(o&1){let e=L();d(0,"sh-toggle",25),y("click",function(){b(e);let n=u();return M(n._showHiddenNodes.set(!n._showHiddenNodes()))}),A(1,6),g()}if(o&2){let e=u();x("active",e._showHiddenNodes()),m(),ue(e.showFiles()?"files":"folders"),_e(1)}}function ft(o,t){if(o&1){let e=L();d(0,"button",26),y("click",function(){b(e);let n=u();return M(n.openCreateFolderDialog())}),A(1,7),g()}if(o&2){let e=u();k("disabled",!e.isCurrentPathFolder())}}function mt(o,t){if(o&1){let e=L();d(0,"sh-dialog",27),te("isOpenChange",function(n){b(e);let r=u();return ee(r.createFolderDialogOpen,n)||(r.createFolderDialogOpen=n),M(n)}),d(1,"header",28)(2,"h2"),A(3,8),g()(),d(4,"div",29)(5,"div"),F(6," Folder will be created under "),d(7,"pre"),F(8),g()(),d(9,"sh-form-field")(10,"textarea",30),te("ngModelChange",function(n){b(e);let r=u();return ee(r.createFolderPath,n)||(r.createFolderPath=n),M(n)}),g()()(),d(11,"footer",31)(12,"button",32),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!1))}),F(13,"Cancel"),g(),d(14,"button",33),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!0))}),he(15,9),H(16,"sh-icon"),pe(),g()()()}if(o&2){let e,i=u();Z("isOpen",i.createFolderDialogOpen),k("options",Ee(5,Ue)),m(8),Ce(i.currentPath()),m(2),Z("ngModel",i.createFolderPath),m(4),k("disabled",!((e=i.createFolderPath())!=null&&e.length))}}var Be=(r=>(r[r.ExcludedByParent=-2]="ExcludedByParent",r[r.Excluded=-1]="Excluded",r[r.None=0]="None",r[r.Included=1]="Included",r[r.IncludedByParent=2]="IncludedByParent",r))(Be||{}),T="/",oe=class o{#t=V(De);#n=V(Re);#d=V(Ne);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPaths=E([]);initialNodes=E([]);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);enableCreateFolder=E(!1);hideShortcuts=E(!1);includes=ie();excludes=ie();_showHiddenNodes=O(!1);createFolderDialogOpen=O(!1);createFolderPath=O(null);treeContainerRef=ne("treeContainer");formRef=ne("formRef");pathDiscoveryMethod=O("browse");isLoading=O(!1);currentPath=O("/");#o=O(null);treeSearchQuery=O("");treeNodes=O([]);isWindows=$(()=>this.#n.systemInfo()?.OSType==="Windows");pathDelimiter=$(()=>this.isWindows()?"\\":"/");filterGroups=this.#n.filterGroups();isByBackupSettings=$(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=$(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Be;treeStructure=$(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(l=>l!==""&&l!==T),i=structuredClone(e);for(let l=0;l<i.length;l++){let f=i[l].slice(1);if(f.startsWith("{")&&f.endsWith("}")){let _=f.slice(1,-1),c=this.filterGroups?.FilterGroups[_];if(c&&c.length){let S=c.map(C=>`-${C}`);i.splice(l,1,...S)}}}let n=this.searchableTreeNodes(),r=this.rootPaths(),a=this.accepts(),p=this.pathDelimiter(),s=[];return r.length>0?s=r.map(l=>{let h=this.#s(i,l,"folder",null);return{id:l,resolvedpath:l,text:l,parentPath:"",children:[],evalState:h,isIndeterminate:!1,cls:this.#e(l,p)?"folder":"file"}}):s=[{id:T,resolvedpath:T,text:$localize`Computer`,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}],s.map(l=>{let h=new Map,f=l?.id;a&&(l.accepted=!0),h.set(l.id,l);let _=r.length>0?n.filter(c=>c.parentPath.startsWith(l.id)):n;for(let c of _){let C=(r.length>0?c.id.replace(f??"",""):c.id).split(p).filter(Boolean),P="",w=l;for(let R of C){if(P+=R+p,!h.has(P)){let z=c.hidden===!0&&t?0:this.#s(i,c.id,c.cls,w),D={id:c.id,isIndeterminate:this.isIndeterminate(i,c.id),evalState:z,parentPath:P,resolvedpath:c.cls=="folder"?this.#r(c.resolvedpath):P,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};a&&(D.accepted=this.matchAccepts(a,D)),h.set(P,D),w.children.push(D)}w=h.get(P)}}return l}),s});#r(t){let e=this.pathDelimiter();return t?t.endsWith(e)||t===T?t:t+e:T}#s(t,e,i,n){if(n&&n.evalState===-1)return-2;let r=0,a=this.pathDelimiter(),p=t.filter(h=>!h.startsWith("-")&&!h.startsWith("+")),s=t.filter(h=>h.startsWith("-")||h.startsWith("+")),l=this.multiSelect();if(p.length===0)return r;for(let h=0;h<p.length;h++){let f=p[h];if(e===f){r=1;break}if(!l||!this.#e(f,a))continue;if(e?.startsWith(f)){r=1;break}}if(s.length===0)return r;for(let h=0;h<s.length;h++){let f=s[h],_=f.slice(1),c=f.startsWith("-")?-1:1;if(this.#e(_,a)){if(i!=="folder")continue;if(e===_){r=c;break}}if(_.startsWith("*")&&_.endsWith(`*${a}`)){if(i!=="folder")continue;let C=_.slice(1,-2);if(C==="")break;if(e?.includes(C+a)){r=c;break}}if(_.startsWith("[.*")&&_.endsWith(`[^\\${a}]*]`)){if(i!=="file")continue;let C=_.slice(3,-7);if(new RegExp(C).test(e)){r=c;break}}if(_.startsWith("[")&&_.endsWith("]")){let C=_.slice(1,-1),P=this.translateCSharpRegex(C);if(new RegExp(`${P}`).test(e)){r=c;break}}if(_.startsWith("*.")){if(i!=="file"||_.replace("*.","").length===0)continue;if(this.#l(e,_,!0)){r=c;break}}if(_==="")continue;if(_===e){r=c;break}if(this.#l(e,_,!0)){r=c;break}}return r}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let i=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(i,(n,r,a)=>`(${a})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.filter(i=>!i.startsWith("-")&&this.#e(i,this.pathDelimiter())).some(i=>i.startsWith(e))}isCurrentPathFolder(){let t=this.currentPath();return t?t.endsWith(this.pathDelimiter())||t.startsWith("%")&&t.endsWith("%")&&!t.includes(this.pathDelimiter()):!1}#l(t,e,i=!1){let n=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${n}${i?"$":""}`).test(t)}showHiddenNodesEffect=W(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=W(()=>{let t=this.pathDiscoveryMethod(),e=this.#o();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id===T)return!0;let i=t.split(",");if(i.length===0)return!0;let n="."+e.id.slice(e.id.indexOf("."));return n?i.some(r=>n.endsWith(r)):!1}currentPathEffect=W(()=>{let t=this.#o();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=W(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#h(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#o.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();if(t)this.currentPath.set(t),this.#_(t);else{let e=this.rootPaths(),i=this.initialNodes();e&&e.length>0?(i&&i.length>0&&this.treeNodes.set(i.map(n=>({id:n.id,leaf:n.leaf,cls:n.cls,text:n.text,iconCls:n.iconCls,fileSize:n.fileSize,resolvedpath:n.resolvedpath,parentPath:this.getParentPath(n.id??"")}))),this.#i(null,e[0])):this.#i(null,T)}}getParentPath(t){let e=this.pathDelimiter(),i=t.split(e);return i.length<=1?T:(i.pop(),i.length!==0&&i.pop(),i.join(e)+e)}toggleSelectedNode(t,e){if(e.id===T||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let n=this.currentPath().split("\0").filter(s=>s!==""&&s!==T),a=this.isChildOfSelected(e)?`-${e.id}`:e.id,p=this.#e(e.id,this.pathDelimiter());if(this.multiSelect())if(n.includes(e.id))this.currentPath.set(n.filter(s=>s!==e.id&&!(p&&s.startsWith(a))).join("\0"));else if(n.some(s=>s==a))this.currentPath.set(n.filter(s=>s!==a).join("\0"));else{let s=p?n.filter(l=>!l.startsWith(e.id)):n;this.currentPath.set([...s,a].join("\0"))}else n.includes(e.id)?this.currentPath.set(n.filter(s=>s!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(i=>i!==""&&i!==T&&this.#e(i,this.pathDelimiter())).some(i=>t.id?.startsWith(i)||`-${t.id}`.startsWith(i))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(i=>i.filter(n=>!n.id?.startsWith(e.id)||n.id===e.id)):this.#i(e,t))}openCreateFolderDialog(){return this.createFolderPath.set(null),this.createFolderDialogOpen.set(!0),!1}closeCreateFolderDialog(t){if(t&&this.createFolderPath()?.length&&this.isCurrentPathFolder()){let e=this.createFolderPath()?.trim();if(e){let i=this.currentPath(),n=this.#r(e),r=i+n;this.#t.postApiV1RemoteoperationCreate({requestBody:{path:"file://"+r}}).subscribe({next:()=>{this.currentPath.set(r),this.#i(null,i),setTimeout(()=>{this.#a()},500),this.createFolderDialogOpen.set(!1)},error:a=>{let p=a?.message?.match(/user-information\s*:\s*(.*?)(?:\s*,|$)/i),s=p?p[1]:a?.message||$localize`An error occurred while trying to create the folder.`;this.#d.open(Ie,{data:{title:$localize`Cannot create folder`,message:s,confirmText:$localize`OK`,cancelText:void 0}})}})}}else this.createFolderDialogOpen.set(!1);return!1}#a(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#h(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#p(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#u(t){let e=this.backupSettings();if(this.#n.hasV2ListOperations())return this.#t.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(B(i=>i.Data??[]));{let i={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(i).pipe(B(n=>n.Files??[]))}}#c(t){return this.isByBackupSettings()?this.#u(t):this.#p(t)}#_(t){let e=this.pathDelimiter(),i=t.split("\0").filter(s=>s.startsWith("-")).map(s=>s.slice(1,-1)),n=t.split("\0").filter(s=>!s.startsWith("-")).filter(Boolean),r=n.map(s=>{let l=s.split(e);return l.at(-1)!==""&&l.pop(),l}),a=[T];r.forEach(s=>{s.forEach((l,h)=>{let f=s.slice(0,h+1).join(e);f!==""&&(a.includes(f)||a.push(f))})}),this.isLoading.set(!0);let p=a.map(s=>this.#c(s).pipe(B(l=>({status:"success",value:l,url:s})),le(l=>re({status:"error",value:l,url:s}))));se(p).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:s=>{let l=s.filter(f=>f.status==="success"),h=s.filter(f=>f.status==="error");this.treeNodes.update(f=>{let _=l.flatMap(S=>S.value.map(C=>{let P=C.id,w=C.id.startsWith("%")&&C.id.endsWith("%")?C.resolvedpath+e:C.id,R=P&&P.split(e).filter(Boolean).slice(0,-1).join(e),z=P&&P.split(e).filter(Boolean).join(e),D=e+z,Ve=n.findIndex(I=>this.multiSelect()?D.startsWith(I):D===I)>-1,He=n.findIndex(I=>I===P)>-1,Ge=i.findIndex(I=>I===D)>-1;return q(X({},C),{cls:this.#e(w,e)||w==T?"folder":"file",parentPath:R.startsWith("%")?R:e+R,isSelected:Ve&&!Ge||He})})),c=[...new Map([...f,..._].map(S=>[S.id,S])).values()];return this.#a(),this.hideShortcuts()?c.filter(S=>!S.id.startsWith("%")):c})}})}#e(t,e){return t.startsWith("%")&&t.endsWith("%")||t.endsWith(e)}#i(t=null,e=T){let i=this.pathDelimiter();this.isLoading.set(!0),this.#c(e).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:n=>{let r=this.isByBackupSettings()?n.map(a=>({text:a.Path.split(i).filter(p=>p!=="").pop(),id:a.Path,cls:this.#e(a.Path,i)?"folder":"file",leaf:t!==null,resolvedpath:a.Path,hidden:!1})):n;this.treeNodes.update(a=>{let p=r.map(l=>{let h=this.#e(l.id,i)?"folder":"file";return q(X({},l),{cls:h,parentPath:e})}),s=[...new Map([...a,...p].map(l=>[l.id,l])).values()];return this.hideShortcuts()?s.filter(l=>!l.id.startsWith("%")):s})}})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=ae({type:o,selectors:[["app-file-tree"]],viewQuery:function(e,i){e&1&&(J(i.treeContainerRef,je,5),J(i.formRef,ze,5)),e&2&&fe(2)},hostVars:2,hostBindings:function(e,i){e&2&&x("disabled",i.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPaths:[1,"rootPaths"],initialNodes:[1,"initialNodes"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],enableCreateFolder:[1,"enableCreateFolder"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:qe,decls:18,vars:17,consts:()=>{let t;t=$localize` Browse path `;let e;e=$localize` Manually type path `;let i;i=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let n;n=$localize` Create folder `;let r;r=$localize`Enter new folder path`;let a;return a=$localize` Create folder ${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:folder-plus${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,i,n,r,a,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"footer"],[1,"primary","raised","browse-files-toggle",3,"active"],["shButton","","type","button",1,"small","create-folder",3,"disabled"],[1,"form-field"],[3,"isOpen","options"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"],["shButton","","type","button",1,"small","create-folder",3,"click","disabled"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click","disabled"]]},template:function(e,i){if(e&1&&(ge(Xe),v(0,Ye,5,4,"sh-button-group"),d(1,"div",10),G(2,0,["ngProjectAs","label",5,["label"]]),d(3,"div",11,0),v(5,Ze,1,0,"sh-progress-bar",12),K(6,ut,3,2,"ng-template",null,1,Fe)(8,_t,1,0,"ng-container",13),g(),d(9,"div",14),v(10,gt,2,3,"sh-toggle",15),v(11,ft,2,1,"button",16),g()(),d(12,"div",17,2)(14,"sh-form-field"),G(15,1,["ngProjectAs","label",5,["label"]]),G(16,2,["ngProjectAs","input",5,["input"]]),g()(),v(17,mt,17,6,"sh-dialog",18)),e&2){let n=Y(7);N(i.multiSelect()?-1:0),m(),x("hidden",i.pathDiscoveryMethod()!=="browse"),m(2),x("visualize-accepted",i.accepts()),m(2),N(i.isLoading()?5:-1),m(3),k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(15,We,j(13,Qe,i.treeStructure()))),m(2),N(!i.accepts()&&!i.isByBackupSettings()?10:-1),m(),N(i.enableCreateFolder()?11:-1),m(),x("hidden",i.pathDiscoveryMethod()!=="path"),m(5),N(i.createFolderDialogOpen()?17:-1)}},dependencies:[Se,we,Me,Oe,xe,ye,ve,be,$e,ke,Le,Ae],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] sh-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-4);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-1);position:relative}.browse-files[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-3);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-2)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-4)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(sh-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:3rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-9)}.hidden[_ngcontent-%COMP%]{display:none}.footer[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}'],changeDetection:0})};export{oe as a};
1
+ import{a as Ie}from"./chunk-DELLEGXW.js";import{a as Re}from"./chunk-VTSUHAP5.js";import{c as ke,e as Le,i as Ae,s as $e}from"./chunk-N5SC4SKW.js";import{A as we,a as Me,d as ve,e as Ne,f as Se,l as Oe,n as xe,p as ye}from"./chunk-H7K35UUX.js";import{h as De}from"./chunk-NOPMCS2Z.js";import{ea as be}from"./chunk-RUXCS4ZK.js";import{Ab as d,Ac as j,B as le,Bb as g,Bc as Te,Cb as H,H as Q,Hc as Fe,Ib as U,Jb as L,Oc as $,Pc as W,Qb as he,Ra as m,Rb as pe,Sb as A,Tb as ue,Tc as ie,Ub as _e,Uc as E,Vc as ne,Wb as y,Yb as u,Zb as ge,_ as V,_b as G,bb as ae,ea as b,ec as J,fa as M,fc as fe,gb as K,gc as Y,hc as me,ic as x,lc as F,mc as Ce,n as re,nc as Pe,oa as O,qc as Z,r as B,rc as ee,sc as te,ub as v,vb as N,x as se,xb as ce,yb as de,zb as k,zc as Ee}from"./chunk-HNWRQABR.js";import{a as X,b as q}from"./chunk-EUDKD2JW.js";var je=["treeContainer"],ze=["formRef"],Xe=[[["label"]],[["label"]],[["input"]]],qe=["label","label","input"],Qe=o=>({children:o,level:0}),We=o=>({$implicit:o}),Ke=(o,t)=>({children:o,level:t}),Ue=()=>({maxWidth:"700px",width:"100%"}),Je=(o,t)=>t.id;function Ye(o,t){if(o&1){let e=L();d(0,"sh-button-group")(1,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("browse"))}),A(2,4),g(),d(3,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("path"))}),A(4,5),g()()}if(o&2){let e=u();m(),x("active",e.pathDiscoveryMethod()==="browse"),m(2),x("active",e.pathDiscoveryMethod()==="path")}}function Ze(o,t){o&1&&H(0,"sh-progress-bar",12)}function et(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-down"),g())}function tt(o,t){o&1&&H(0,"sh-icon",24)}function it(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-right"),g())}function nt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-open"),g())}function ot(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-user"),g())}function rt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"file"),g())}function st(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder"),g())}function lt(o,t){if(o&1&&(v(0,et,2,0,"sh-icon",24)(1,tt,1,0,"sh-icon",24)(2,it,2,0,"sh-icon",24),v(3,nt,2,0,"sh-icon",22)(4,ot,2,0,"sh-icon",22)(5,rt,2,0,"sh-icon",22)(6,st,2,0,"sh-icon",22)),o&2){let e=u(2).$implicit;N(e.children.length?0:e.cls==="file"?1:2),m(3),N(e.children.length?3:e.id==="%HOME%"?4:e.cls==="file"?5:6)}}function at(o,t){o&1&&(d(0,"sh-icon",22),F(1,"desktop-tower"),g())}function ct(o,t){o&1&&U(0)}function dt(o,t){if(o&1&&K(0,ct,1,0,"ng-container",13),o&2){let e=u(2).$implicit,i=u().$implicit;u();let n=Y(7);k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(5,We,Te(2,Ke,e.children,i.level+1)))}}function ht(o,t){if(o&1){let e=L();d(0,"div",20,3),y("click",function(){b(e);let n=u().$implicit,r=u(2);return M(r.toggleNode(n.id,n))}),d(2,"div",21),v(3,lt,7,2)(4,at,2,0,"sh-icon",22),g(),d(5,"div",23),y("click",function(n){b(e);let r=u().$implicit,a=u(2);return M(a.toggleSelectedNode(n,r))}),F(6),g()(),v(7,dt,1,7,"ng-container")}if(o&2){let e=u().$implicit,i=u().$implicit,n=u();x("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",i.level===0),m(2),x("file",e.cls==="file"),m(),N(e.id!=="/"?3:4),m(3),Pe(" ",e.text," "),m(),N(e.children.length>0?7:-1)}}function pt(o,t){if(o&1&&v(0,ht,8,17),o&2){let e=t.$implicit,i=u(2);N(e.hidden&&i._showHiddenNodes()||!e.hidden?0:-1)}}function ut(o,t){if(o&1&&(d(0,"sh-list"),ce(1,pt,1,1,null,null,Je),g()),o&2){let e=t.$implicit;me("padding-left",e.level*.25,"rem"),m(),de(e.children)}}function _t(o,t){o&1&&U(0)}function gt(o,t){if(o&1){let e=L();d(0,"sh-toggle",25),y("click",function(){b(e);let n=u();return M(n._showHiddenNodes.set(!n._showHiddenNodes()))}),A(1,6),g()}if(o&2){let e=u();x("active",e._showHiddenNodes()),m(),ue(e.showFiles()?"files":"folders"),_e(1)}}function ft(o,t){if(o&1){let e=L();d(0,"button",26),y("click",function(){b(e);let n=u();return M(n.openCreateFolderDialog())}),A(1,7),g()}if(o&2){let e=u();k("disabled",!e.isCurrentPathFolder())}}function mt(o,t){if(o&1){let e=L();d(0,"sh-dialog",27),te("isOpenChange",function(n){b(e);let r=u();return ee(r.createFolderDialogOpen,n)||(r.createFolderDialogOpen=n),M(n)}),d(1,"header",28)(2,"h2"),A(3,8),g()(),d(4,"div",29)(5,"div"),F(6," Folder will be created under "),d(7,"pre"),F(8),g()(),d(9,"sh-form-field")(10,"textarea",30),te("ngModelChange",function(n){b(e);let r=u();return ee(r.createFolderPath,n)||(r.createFolderPath=n),M(n)}),g()()(),d(11,"footer",31)(12,"button",32),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!1))}),F(13,"Cancel"),g(),d(14,"button",33),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!0))}),he(15,9),H(16,"sh-icon"),pe(),g()()()}if(o&2){let e,i=u();Z("isOpen",i.createFolderDialogOpen),k("options",Ee(5,Ue)),m(8),Ce(i.currentPath()),m(2),Z("ngModel",i.createFolderPath),m(4),k("disabled",!((e=i.createFolderPath())!=null&&e.length))}}var Be=(r=>(r[r.ExcludedByParent=-2]="ExcludedByParent",r[r.Excluded=-1]="Excluded",r[r.None=0]="None",r[r.Included=1]="Included",r[r.IncludedByParent=2]="IncludedByParent",r))(Be||{}),T="/",oe=class o{#t=V(De);#n=V(Re);#d=V(Ne);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPaths=E([]);initialNodes=E([]);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);enableCreateFolder=E(!1);hideShortcuts=E(!1);includes=ie();excludes=ie();_showHiddenNodes=O(!1);createFolderDialogOpen=O(!1);createFolderPath=O(null);treeContainerRef=ne("treeContainer");formRef=ne("formRef");pathDiscoveryMethod=O("browse");isLoading=O(!1);currentPath=O("/");#o=O(null);treeSearchQuery=O("");treeNodes=O([]);isWindows=$(()=>this.#n.systemInfo()?.OSType==="Windows");pathDelimiter=$(()=>this.isWindows()?"\\":"/");filterGroups=this.#n.filterGroups();isByBackupSettings=$(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=$(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Be;treeStructure=$(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(l=>l!==""&&l!==T),i=structuredClone(e);for(let l=0;l<i.length;l++){let f=i[l].slice(1);if(f.startsWith("{")&&f.endsWith("}")){let _=f.slice(1,-1),c=this.filterGroups?.FilterGroups[_];if(c&&c.length){let S=c.map(C=>`-${C}`);i.splice(l,1,...S)}}}let n=this.searchableTreeNodes(),r=this.rootPaths(),a=this.accepts(),p=this.pathDelimiter(),s=[];return r.length>0?s=r.map(l=>{let h=this.#s(i,l,"folder",null);return{id:l,resolvedpath:l,text:l,parentPath:"",children:[],evalState:h,isIndeterminate:!1,cls:this.#e(l,p)?"folder":"file"}}):s=[{id:T,resolvedpath:T,text:$localize`Computer`,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}],s.map(l=>{let h=new Map,f=l?.id;a&&(l.accepted=!0),h.set(l.id,l);let _=r.length>0?n.filter(c=>c.parentPath.startsWith(l.id)):n;for(let c of _){let C=(r.length>0?c.id.replace(f??"",""):c.id).split(p).filter(Boolean),P="",w=l;for(let R of C){if(P+=R+p,!h.has(P)){let z=c.hidden===!0&&t?0:this.#s(i,c.id,c.cls,w),D={id:c.id,isIndeterminate:this.isIndeterminate(i,c.id),evalState:z,parentPath:P,resolvedpath:c.cls=="folder"?this.#r(c.resolvedpath):P,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};a&&(D.accepted=this.matchAccepts(a,D)),h.set(P,D),w.children.push(D)}w=h.get(P)}}return l}),s});#r(t){let e=this.pathDelimiter();return t?t.endsWith(e)||t===T?t:t+e:T}#s(t,e,i,n){if(n&&n.evalState===-1)return-2;let r=0,a=this.pathDelimiter(),p=t.filter(h=>!h.startsWith("-")&&!h.startsWith("+")),s=t.filter(h=>h.startsWith("-")||h.startsWith("+")),l=this.multiSelect();if(p.length===0)return r;for(let h=0;h<p.length;h++){let f=p[h];if(e===f){r=1;break}if(!l||!this.#e(f,a))continue;if(e?.startsWith(f)){r=1;break}}if(s.length===0)return r;for(let h=0;h<s.length;h++){let f=s[h],_=f.slice(1),c=f.startsWith("-")?-1:1;if(this.#e(_,a)){if(i!=="folder")continue;if(e===_){r=c;break}}if(_.startsWith("*")&&_.endsWith(`*${a}`)){if(i!=="folder")continue;let C=_.slice(1,-2);if(C==="")break;if(e?.includes(C+a)){r=c;break}}if(_.startsWith("[.*")&&_.endsWith(`[^\\${a}]*]`)){if(i!=="file")continue;let C=_.slice(3,-7);if(new RegExp(C).test(e)){r=c;break}}if(_.startsWith("[")&&_.endsWith("]")){let C=_.slice(1,-1),P=this.translateCSharpRegex(C);if(new RegExp(`${P}`).test(e)){r=c;break}}if(_.startsWith("*.")){if(i!=="file"||_.replace("*.","").length===0)continue;if(this.#l(e,_,!0)){r=c;break}}if(_==="")continue;if(_===e){r=c;break}if(this.#l(e,_,!0)){r=c;break}}return r}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let i=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(i,(n,r,a)=>`(${a})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.filter(i=>!i.startsWith("-")&&this.#e(i,this.pathDelimiter())).some(i=>i.startsWith(e))}isCurrentPathFolder(){let t=this.currentPath();return t?t.endsWith(this.pathDelimiter())||t.startsWith("%")&&t.endsWith("%")&&!t.includes(this.pathDelimiter()):!1}#l(t,e,i=!1){let n=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${n}${i?"$":""}`).test(t)}showHiddenNodesEffect=W(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=W(()=>{let t=this.pathDiscoveryMethod(),e=this.#o();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id===T)return!0;let i=t.split(",");if(i.length===0)return!0;let n="."+e.id.slice(e.id.indexOf("."));return n?i.some(r=>n.endsWith(r)):!1}currentPathEffect=W(()=>{let t=this.#o();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=W(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#h(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#o.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();if(t)this.currentPath.set(t),this.#_(t);else{let e=this.rootPaths(),i=this.initialNodes();e&&e.length>0?(i&&i.length>0&&this.treeNodes.set(i.map(n=>({id:n.id,leaf:n.leaf,cls:n.cls,text:n.text,iconCls:n.iconCls,fileSize:n.fileSize,resolvedpath:n.resolvedpath,parentPath:this.getParentPath(n.id??"")}))),this.#i(null,e[0])):this.#i(null,T)}}getParentPath(t){let e=this.pathDelimiter(),i=t.split(e);return i.length<=1?T:(i.pop(),i.length!==0&&i.pop(),i.join(e)+e)}toggleSelectedNode(t,e){if(e.id===T||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let n=this.currentPath().split("\0").filter(s=>s!==""&&s!==T),a=this.isChildOfSelected(e)?`-${e.id}`:e.id,p=this.#e(e.id,this.pathDelimiter());if(this.multiSelect())if(n.includes(e.id))this.currentPath.set(n.filter(s=>s!==e.id&&!(p&&s.startsWith(a))).join("\0"));else if(n.some(s=>s==a))this.currentPath.set(n.filter(s=>s!==a).join("\0"));else{let s=p?n.filter(l=>!l.startsWith(e.id)):n;this.currentPath.set([...s,a].join("\0"))}else n.includes(e.id)?this.currentPath.set(n.filter(s=>s!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(i=>i!==""&&i!==T&&this.#e(i,this.pathDelimiter())).some(i=>t.id?.startsWith(i)||`-${t.id}`.startsWith(i))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(i=>i.filter(n=>!n.id?.startsWith(e.id)||n.id===e.id)):this.#i(e,t))}openCreateFolderDialog(){return this.createFolderPath.set(null),this.createFolderDialogOpen.set(!0),!1}closeCreateFolderDialog(t){if(t&&this.createFolderPath()?.length&&this.isCurrentPathFolder()){let e=this.createFolderPath()?.trim();if(e){let i=this.currentPath(),n=this.#r(e),r=i+n;this.#t.postApiV1RemoteoperationCreate({requestBody:{path:"file://"+r}}).subscribe({next:()=>{this.currentPath.set(r),this.#i(null,i),setTimeout(()=>{this.#a()},500),this.createFolderDialogOpen.set(!1)},error:a=>{let p=a?.message?.match(/user-information\s*:\s*(.*?)(?:\s*,|$)/i),s=p?p[1]:a?.message||$localize`An error occurred while trying to create the folder.`;this.#d.open(Ie,{data:{title:$localize`Cannot create folder`,message:s,confirmText:$localize`OK`,cancelText:void 0}})}})}}else this.createFolderDialogOpen.set(!1);return!1}#a(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#h(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#p(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#u(t){let e=this.backupSettings();if(this.#n.hasV2ListOperations())return this.#t.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(B(i=>i.Data??[]));{let i={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(i).pipe(B(n=>n.Files??[]))}}#c(t){return this.isByBackupSettings()?this.#u(t):this.#p(t)}#_(t){let e=this.pathDelimiter(),i=t.split("\0").filter(s=>s.startsWith("-")).map(s=>s.slice(1,-1)),n=t.split("\0").filter(s=>!s.startsWith("-")).filter(Boolean),r=n.map(s=>{let l=s.split(e);return l.at(-1)!==""&&l.pop(),l}),a=[T];r.forEach(s=>{s.forEach((l,h)=>{let f=s.slice(0,h+1).join(e);f!==""&&(a.includes(f)||a.push(f))})}),this.isLoading.set(!0);let p=a.map(s=>this.#c(s).pipe(B(l=>({status:"success",value:l,url:s})),le(l=>re({status:"error",value:l,url:s}))));se(p).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:s=>{let l=s.filter(f=>f.status==="success"),h=s.filter(f=>f.status==="error");this.treeNodes.update(f=>{let _=l.flatMap(S=>S.value.map(C=>{let P=C.id,w=C.id.startsWith("%")&&C.id.endsWith("%")?C.resolvedpath+e:C.id,R=P&&P.split(e).filter(Boolean).slice(0,-1).join(e),z=P&&P.split(e).filter(Boolean).join(e),D=e+z,Ve=n.findIndex(I=>this.multiSelect()?D.startsWith(I):D===I)>-1,He=n.findIndex(I=>I===P)>-1,Ge=i.findIndex(I=>I===D)>-1;return q(X({},C),{cls:this.#e(w,e)||w==T?"folder":"file",parentPath:R.startsWith("%")?R:e+R,isSelected:Ve&&!Ge||He})})),c=[...new Map([...f,..._].map(S=>[S.id,S])).values()];return this.#a(),this.hideShortcuts()?c.filter(S=>!S.id.startsWith("%")):c})}})}#e(t,e){return t.startsWith("%")&&t.endsWith("%")||t.endsWith(e)}#i(t=null,e=T){let i=this.pathDelimiter();this.isLoading.set(!0),this.#c(e).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:n=>{let r=this.isByBackupSettings()?n.map(a=>({text:a.Path.split(i).filter(p=>p!=="").pop(),id:a.Path,cls:this.#e(a.Path,i)?"folder":"file",leaf:t!==null,resolvedpath:a.Path,hidden:!1})):n;this.treeNodes.update(a=>{let p=r.map(l=>{let h=this.#e(l.id,i)?"folder":"file";return q(X({},l),{cls:h,parentPath:e})}),s=[...new Map([...a,...p].map(l=>[l.id,l])).values()];return this.hideShortcuts()?s.filter(l=>!l.id.startsWith("%")):s})}})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=ae({type:o,selectors:[["app-file-tree"]],viewQuery:function(e,i){e&1&&(J(i.treeContainerRef,je,5),J(i.formRef,ze,5)),e&2&&fe(2)},hostVars:2,hostBindings:function(e,i){e&2&&x("disabled",i.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPaths:[1,"rootPaths"],initialNodes:[1,"initialNodes"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],enableCreateFolder:[1,"enableCreateFolder"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:qe,decls:18,vars:17,consts:()=>{let t;t=$localize` Browse path `;let e;e=$localize` Manually type path `;let i;i=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let n;n=$localize` Create folder `;let r;r=$localize`Enter new folder path`;let a;return a=$localize` Create folder ${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:folder-plus${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,i,n,r,a,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"footer"],[1,"primary","raised","browse-files-toggle",3,"active"],["shButton","","type","button",1,"small","create-folder",3,"disabled"],[1,"form-field"],[3,"isOpen","options"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"],["shButton","","type","button",1,"small","create-folder",3,"click","disabled"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click","disabled"]]},template:function(e,i){if(e&1&&(ge(Xe),v(0,Ye,5,4,"sh-button-group"),d(1,"div",10),G(2,0,["ngProjectAs","label",5,["label"]]),d(3,"div",11,0),v(5,Ze,1,0,"sh-progress-bar",12),K(6,ut,3,2,"ng-template",null,1,Fe)(8,_t,1,0,"ng-container",13),g(),d(9,"div",14),v(10,gt,2,3,"sh-toggle",15),v(11,ft,2,1,"button",16),g()(),d(12,"div",17,2)(14,"sh-form-field"),G(15,1,["ngProjectAs","label",5,["label"]]),G(16,2,["ngProjectAs","input",5,["input"]]),g()(),v(17,mt,17,6,"sh-dialog",18)),e&2){let n=Y(7);N(i.multiSelect()?-1:0),m(),x("hidden",i.pathDiscoveryMethod()!=="browse"),m(2),x("visualize-accepted",i.accepts()),m(2),N(i.isLoading()?5:-1),m(3),k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(15,We,j(13,Qe,i.treeStructure()))),m(2),N(!i.accepts()&&!i.isByBackupSettings()?10:-1),m(),N(i.enableCreateFolder()?11:-1),m(),x("hidden",i.pathDiscoveryMethod()!=="path"),m(5),N(i.createFolderDialogOpen()?17:-1)}},dependencies:[Se,we,Me,Oe,xe,ye,ve,be,$e,ke,Le,Ae],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] sh-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-4);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-1);position:relative}.browse-files[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-3);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-2)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-4)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(sh-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:3rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-9)}.hidden[_ngcontent-%COMP%]{display:none}.footer[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}'],changeDetection:0})};export{oe as a};
@@ -1 +1 @@
1
- import{a as Ce}from"./chunk-XNVRJH42.js";import{a as ge}from"./chunk-3UN32GIC.js";import{a as me}from"./chunk-OXOOR7I4.js";import{a as Te}from"./chunk-66BSPEOQ.js";import{c as Ee,e as Oe,i as fe,k as Ae,s as G}from"./chunk-USU2EHJV.js";import{b as oe}from"./chunk-ETCRT3EV.js";import{a as ae,b as se,e as le,g as re,i as _e,l as ue,p as pe,q as Se,s as ce,t as de}from"./chunk-WRNQOX5R.js";import{h as A}from"./chunk-J3BBLPAD.js";import{a as Pe}from"./chunk-B5FUQFEQ.js";import{la as ie}from"./chunk-WJPLJKPQ.js";import{Ab as s,Bb as l,Cb as C,Dc as H,Ec as te,Fc as ne,H as k,Jb as R,Oc as U,Qb as E,Ra as r,Rb as O,Sb as p,Tc as x,Vb as Q,Wb as S,Yb as T,_ as d,bb as f,ea as N,fa as M,hc as ee,ic as m,lc as g,nc as L,oa as c,oc as z,qc as b,rc as B,sc as y,ub as F,vb as D,wb as Z,xb as q,yb as J,zb as I}from"./chunk-QDFCX6XE.js";function Re(a,n){if(a&1){let i=R();s(0,"sh-radio",10),S("click",function(){let t=N(i).$implicit,o=T();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=T();m("active",e.pauseOption()===i.value),r(),L(" ",i.label," ")}}var be=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],$=class a{#e=d(A);pauseOptions=c(be);closed=x();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(k(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),q(5,Re,2,3,"sh-radio",8,Z),l(),s(7,"div",9)(8,"sh-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"sh-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),p(16,4),l()()),i&2&&(r(5),J(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[G,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},Be=["mbps","gbps"],Fe=8,W=1024,w=W*1024,K=w*1024,Y=K*1024,De=Y*1024,ye={B:1,KB:W,MB:w,GB:K,TB:Y,PB:De},Ue=1e3,V=Ue*1e3,X=V*1e3,ve=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:K,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:W,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],v=class a{#e=d(A);closed=x();isSubmitting=c(!1);sizeOptions=c([...Be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(ye[i.toUpperCase()]||w)*Fe;return t===0?{value:0,unit:"mbps"}:t>=X?{value:parseFloat((t/X).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/V).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*X;break;case"mbps":e=n*V;break}let t=e/Fe;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of ve)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],u=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(u.value),this.maxUploadUnit.set(u.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],u=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(u.value),this.maxDownloadUnit.set(u.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:u,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),h=Me[P];h?n=`${u}${h}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:u,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),h=Me[P];h?i=`${u}${h}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(k(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:u=>{console.error("Failed to submit throttle settings:",u)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),p(2,0),l(),s(3,"p"),p(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),p(9,2),l(),s(10,"sh-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),y("ngModelChange",function(o){return B(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"sh-select",10)(13,"input",11),y("ngModelChange",function(o){return B(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),p(16,3),l(),s(17,"sh-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),y("ngModelChange",function(o){return B(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"sh-select",10)(20,"input",11),y("ngModelChange",function(o){return B(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),p(25,5),l()()),i&2&&(r(11),b("ngModel",e.maxUpload),r(),I("isClearable",!1)("options",e.sizeOptions()),r(),b("ngModel",e.maxUploadUnit),r(5),b("ngModel",e.maxDownload),r(),I("isClearable",!1)("options",e.sizeOptions()),r(),b("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[G,Ee,Ae,Oe,fe,ue,de],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function ke(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"sh-progress-bar",11)),a&2){let i=T();r(),z("",i.statusData().actionText," - ",i.statusData().statusText),r(),I("value",i.statusData().progress*100)}}function Le(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"sh-icon"),g(3,"clock"),l(),g(4),H(5,"relativeTime"),H(6,"date"),l()),a&2){let i,e=T();r(),L(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function xe(a,n){a&1&&(s(0,"div",7),p(1,1),l())}function Ge(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"sh-spinner"),O(),l()),a&2&&(r(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function $e(a,n){if(a&1){let i=R();s(0,"button",10),S("click",function(){N(i);let t=T(2);return M(t.abort())}),E(1,3),C(2,"sh-icon"),O(),l()}}function we(a,n){if(a&1){let i=R();s(0,"button",10),S("click",function(){N(i);let t=T(2);return M(t.stop())}),E(1,4),C(2,"sh-icon"),O(),l()}}function ze(a,n){if(a&1&&F(0,$e,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=T();D(i.isStopping()?0:1)}}function He(a,n){a&1&&(E(0,0,1),C(1,"sh-icon"),O())}function Xe(a,n){a&1&&(E(0,0,2),C(1,"sh-icon"),O())}var Ie=new Date,j=class a{#e=d(A);#t=d(Ce);#n=d(le);#a=d(ge);#s=d(oe);#l=d(Te);#i=d(me);minsAgo=Ie.setMinutes(Ie.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=U(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=U(()=>this.runningTask()==this.#o());#o=c(-1);pgState=U(()=>this.#i.serverState());nextBackup=U(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(v,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open($,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["shButton","",3,"click"],[1,"raised","primary",3,"value"],["shButton",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),F(2,ke,3,3)(3,Le,7,8,"div",7)(4,xe,2,0,"div",7)(5,Ge,3,4,"div",8),l(),s(6,"div",9),F(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),F(10,He,2,0)(11,Xe,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"sh-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),D((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),D(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),D(e.clientIsRunning()?10:11)}},dependencies:[pe,ae,re,ce,Pe,ie],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem;flex:1 0}.current-backup-progress[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{max-width:18.75rem;width:100%}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
1
+ import{a as Ce}from"./chunk-6LTGTS6B.js";import{a as ge}from"./chunk-DVDTYV66.js";import{a as me}from"./chunk-UIJYCGKA.js";import{a as Te}from"./chunk-VTSUHAP5.js";import{c as Ee,e as Oe,i as fe,k as Ae,s as G}from"./chunk-N5SC4SKW.js";import{b as oe}from"./chunk-UKQFDBNO.js";import{a as ae,b as se,e as le,g as re,i as _e,l as ue,p as pe,q as Se,s as ce,t as de}from"./chunk-H7K35UUX.js";import{h as A}from"./chunk-NOPMCS2Z.js";import{a as Pe}from"./chunk-TDKBGGNK.js";import{la as ie}from"./chunk-RUXCS4ZK.js";import{Ab as s,Bb as l,Cb as C,Dc as H,Ec as te,Fc as ne,H as k,Jb as R,Oc as U,Qb as E,Ra as r,Rb as O,Sb as p,Tc as x,Vb as Q,Wb as S,Yb as T,_ as d,bb as f,ea as N,fa as M,hc as ee,ic as m,lc as g,nc as L,oa as c,oc as z,qc as b,rc as B,sc as y,ub as F,vb as D,wb as Z,xb as q,yb as J,zb as I}from"./chunk-HNWRQABR.js";function Re(a,n){if(a&1){let i=R();s(0,"sh-radio",10),S("click",function(){let t=N(i).$implicit,o=T();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=T();m("active",e.pauseOption()===i.value),r(),L(" ",i.label," ")}}var be=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],$=class a{#e=d(A);pauseOptions=c(be);closed=x();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(k(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),q(5,Re,2,3,"sh-radio",8,Z),l(),s(7,"div",9)(8,"sh-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"sh-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),p(16,4),l()()),i&2&&(r(5),J(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[G,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},Be=["mbps","gbps"],Fe=8,W=1024,w=W*1024,K=w*1024,Y=K*1024,De=Y*1024,ye={B:1,KB:W,MB:w,GB:K,TB:Y,PB:De},Ue=1e3,V=Ue*1e3,X=V*1e3,ve=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:K,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:W,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],v=class a{#e=d(A);closed=x();isSubmitting=c(!1);sizeOptions=c([...Be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(ye[i.toUpperCase()]||w)*Fe;return t===0?{value:0,unit:"mbps"}:t>=X?{value:parseFloat((t/X).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/V).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*X;break;case"mbps":e=n*V;break}let t=e/Fe;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of ve)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],u=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(u.value),this.maxUploadUnit.set(u.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],u=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(u.value),this.maxDownloadUnit.set(u.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:u,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),h=Me[P];h?n=`${u}${h}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:u,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),h=Me[P];h?i=`${u}${h}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(k(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:u=>{console.error("Failed to submit throttle settings:",u)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),p(2,0),l(),s(3,"p"),p(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),p(9,2),l(),s(10,"sh-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),y("ngModelChange",function(o){return B(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"sh-select",10)(13,"input",11),y("ngModelChange",function(o){return B(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),p(16,3),l(),s(17,"sh-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),y("ngModelChange",function(o){return B(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"sh-select",10)(20,"input",11),y("ngModelChange",function(o){return B(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),p(25,5),l()()),i&2&&(r(11),b("ngModel",e.maxUpload),r(),I("isClearable",!1)("options",e.sizeOptions()),r(),b("ngModel",e.maxUploadUnit),r(5),b("ngModel",e.maxDownload),r(),I("isClearable",!1)("options",e.sizeOptions()),r(),b("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[G,Ee,Ae,Oe,fe,ue,de],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function ke(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"sh-progress-bar",11)),a&2){let i=T();r(),z("",i.statusData().actionText," - ",i.statusData().statusText),r(),I("value",i.statusData().progress*100)}}function Le(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"sh-icon"),g(3,"clock"),l(),g(4),H(5,"relativeTime"),H(6,"date"),l()),a&2){let i,e=T();r(),L(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function xe(a,n){a&1&&(s(0,"div",7),p(1,1),l())}function Ge(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"sh-spinner"),O(),l()),a&2&&(r(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function $e(a,n){if(a&1){let i=R();s(0,"button",10),S("click",function(){N(i);let t=T(2);return M(t.abort())}),E(1,3),C(2,"sh-icon"),O(),l()}}function we(a,n){if(a&1){let i=R();s(0,"button",10),S("click",function(){N(i);let t=T(2);return M(t.stop())}),E(1,4),C(2,"sh-icon"),O(),l()}}function ze(a,n){if(a&1&&F(0,$e,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=T();D(i.isStopping()?0:1)}}function He(a,n){a&1&&(E(0,0,1),C(1,"sh-icon"),O())}function Xe(a,n){a&1&&(E(0,0,2),C(1,"sh-icon"),O())}var Ie=new Date,j=class a{#e=d(A);#t=d(Ce);#n=d(le);#a=d(ge);#s=d(oe);#l=d(Te);#i=d(me);minsAgo=Ie.setMinutes(Ie.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=U(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=U(()=>this.runningTask()==this.#o());#o=c(-1);pgState=U(()=>this.#i.serverState());nextBackup=U(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(v,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open($,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["shButton","",3,"click"],[1,"raised","primary",3,"value"],["shButton",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),F(2,ke,3,3)(3,Le,7,8,"div",7)(4,xe,2,0,"div",7)(5,Ge,3,4,"div",8),l(),s(6,"div",9),F(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),F(10,He,2,0)(11,Xe,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"sh-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),D((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),D(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),D(e.clientIsRunning()?10:11)}},dependencies:[pe,ae,re,ce,Pe,ie],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem;flex:1 0}.current-backup-progress[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{max-width:18.75rem;width:100%}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
@@ -1 +1 @@
1
- import{a as W}from"./chunk-WWFNG47J.js";import"./chunk-XNVRJH42.js";import{a as z}from"./chunk-3UN32GIC.js";import"./chunk-OXOOR7I4.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-66BSPEOQ.js";import"./chunk-CWBEE627.js";import"./chunk-USU2EHJV.js";import"./chunk-ZGAC2JKG.js";import"./chunk-ETCRT3EV.js";import{e as S}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{a as g,g as E,h as R,k as G,p as w}from"./chunk-WRNQOX5R.js";import{h as X}from"./chunk-J3BBLPAD.js";import"./chunk-B5FUQFEQ.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-73RDJP55.js";import{Ab as t,Ac as v,Bb as i,Cb as s,Gb as D,Hb as y,Qb as A,Ra as a,Rb as I,Sb as l,Tb as b,Ub as B,Yb as d,_ as u,bb as O,hb as h,lc as r,oc as L,rb as M,sb as k,ub as F,vb as P,wb as N,xb as x,yb as $,zb as _,zc as m}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var j=()=>[R,E,g,S],H=()=>["/restore-from-files"],q=()=>["/restore/from-config"],V=n=>["/restore",n];function J(n,o){if(n&1&&(t(0,"sh-card",5),s(1,"img",10),t(2,"div",7)(3,"h3"),l(4,1),i(),t(5,"p"),r(6),i()(),t(7,"button",8),A(8,2),s(9,"sh-icon"),I(),i()()),n&2){let e=o.$implicit;a(4),b((e.Backup==null?null:e.Backup.Name)??"Backup name missing"),B(4),a(2),L(" ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," "),a(),_("routerLink",v(4,V,e.Backup==null?null:e.Backup.ID))}}function K(n,o){if(n&1&&x(0,J,10,6,"sh-card",5,N),n&2){let e=d(2);$(e.backups())}}function Q(n,o){n&1&&(D(0),l(1,3),y())}function U(n,o){if(n&1&&F(0,K,2,0)(1,Q,2,0,"ng-container"),n&2){let e=d();P(e.backups().length?0:1)}}function Y(n,o){n&1&&(t(0,"div",11),s(1,"sh-progress-bar",12),t(2,"div",7)(3,"h3"),l(4,4),i()()())}var f=class n{#e=u(z);#t=u(X);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(o){this.#t.postApiV1BackupByIdRestore({id:o.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=O({type:n,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let o;o=$localize`Where do you want to restore from?`;let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let c;c=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let C;C=$localize`No backups founds`;let T;return T=$localize`Loading backups...`,[o,e,c,C,T,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["shButton","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,c){e&1&&(s(0,"app-status-bar"),t(1,"section")(2,"h2"),l(3,0),i(),t(4,"sh-card",5),s(5,"img",6),t(6,"div",7)(7,"h3"),r(8,"Direct restore from backup files"),i(),t(9,"p"),r(10,"Point to your backup files and restore from there."),i()(),t(11,"button",8),r(12," Start "),t(13,"sh-icon"),r(14,"play-circle"),i()()(),t(15,"sh-card",5),s(16,"img",9),t(17,"div",7)(18,"h3"),r(19,"Restore from configuration"),i(),t(20,"p"),r(21,"Load destination from an exported job or a storage provider"),i()(),t(22,"button",8),r(23," Start "),t(24,"sh-icon"),r(25,"play-circle"),i()()(),t(26,"sh-divider"),r(27,"Or existing"),i(),h(28,U,2,1)(29,Y,5,0),M(30,28,j,null,29),i()),e&2&&(a(11),_("routerLink",m(3,H)),a(11),_("routerLink",m(4,q)),a(8),k(!c.backupsLoading()))},dependencies:[W,R,E,G,g,w,S],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}sh-divider[_ngcontent-%COMP%]{color:var(--base-8)}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{f as default};
1
+ import{a as W}from"./chunk-NJEX2N4Q.js";import"./chunk-6LTGTS6B.js";import{a as z}from"./chunk-DVDTYV66.js";import"./chunk-UIJYCGKA.js";import"./chunk-DELLEGXW.js";import"./chunk-RHW5QVAY.js";import"./chunk-VTSUHAP5.js";import"./chunk-UP5EOICU.js";import"./chunk-N5SC4SKW.js";import"./chunk-Z3EPZZGY.js";import"./chunk-UKQFDBNO.js";import{e as S}from"./chunk-LVP2TPMO.js";import"./chunk-43JMN2ZY.js";import{a as g,g as E,h as R,k as G,p as w}from"./chunk-H7K35UUX.js";import{h as X}from"./chunk-NOPMCS2Z.js";import"./chunk-TDKBGGNK.js";import"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import"./chunk-6OPAGPKF.js";import{Ab as t,Ac as v,Bb as i,Cb as s,Gb as D,Hb as y,Qb as A,Ra as a,Rb as I,Sb as l,Tb as b,Ub as B,Yb as d,_ as u,bb as O,hb as h,lc as r,oc as L,rb as M,sb as k,ub as F,vb as P,wb as N,xb as x,yb as $,zb as _,zc as m}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";var j=()=>[R,E,g,S],H=()=>["/restore-from-files"],q=()=>["/restore/from-config"],V=n=>["/restore",n];function J(n,o){if(n&1&&(t(0,"sh-card",5),s(1,"img",10),t(2,"div",7)(3,"h3"),l(4,1),i(),t(5,"p"),r(6),i()(),t(7,"button",8),A(8,2),s(9,"sh-icon"),I(),i()()),n&2){let e=o.$implicit;a(4),b((e.Backup==null?null:e.Backup.Name)??"Backup name missing"),B(4),a(2),L(" ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," "),a(),_("routerLink",v(4,V,e.Backup==null?null:e.Backup.ID))}}function K(n,o){if(n&1&&x(0,J,10,6,"sh-card",5,N),n&2){let e=d(2);$(e.backups())}}function Q(n,o){n&1&&(D(0),l(1,3),y())}function U(n,o){if(n&1&&F(0,K,2,0)(1,Q,2,0,"ng-container"),n&2){let e=d();P(e.backups().length?0:1)}}function Y(n,o){n&1&&(t(0,"div",11),s(1,"sh-progress-bar",12),t(2,"div",7)(3,"h3"),l(4,4),i()()())}var f=class n{#e=u(z);#t=u(X);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(o){this.#t.postApiV1BackupByIdRestore({id:o.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=O({type:n,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let o;o=$localize`Where do you want to restore from?`;let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let c;c=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let C;C=$localize`No backups founds`;let T;return T=$localize`Loading backups...`,[o,e,c,C,T,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["shButton","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,c){e&1&&(s(0,"app-status-bar"),t(1,"section")(2,"h2"),l(3,0),i(),t(4,"sh-card",5),s(5,"img",6),t(6,"div",7)(7,"h3"),r(8,"Direct restore from backup files"),i(),t(9,"p"),r(10,"Point to your backup files and restore from there."),i()(),t(11,"button",8),r(12," Start "),t(13,"sh-icon"),r(14,"play-circle"),i()()(),t(15,"sh-card",5),s(16,"img",9),t(17,"div",7)(18,"h3"),r(19,"Restore from configuration"),i(),t(20,"p"),r(21,"Load destination from an exported job or a storage provider"),i()(),t(22,"button",8),r(23," Start "),t(24,"sh-icon"),r(25,"play-circle"),i()()(),t(26,"sh-divider"),r(27,"Or existing"),i(),h(28,U,2,1)(29,Y,5,0),M(30,28,j,null,29),i()),e&2&&(a(11),_("routerLink",m(3,H)),a(11),_("routerLink",m(4,q)),a(8),k(!c.backupsLoading()))},dependencies:[W,R,E,G,g,w,S],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}sh-divider[_ngcontent-%COMP%]{color:var(--base-8)}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{f as default};
@@ -1,2 +1,2 @@
1
- import{a as Ie,b as De}from"./chunk-FPPZ4BUR.js";import{$ as ve,B as ne,C as Re,H as Te,P as $,S as N,V as v,Y as I,Z as R,_ as T,ba as Be,ca as Ve,f as ie,ja as Pe,ka as ke,kb as Oe,n as z,o as oe,qa as Ee,r as O,x as be,z as ge}from"./chunk-QDFCX6XE.js";import{a as E,b as Ae}from"./chunk-EUDKD2JW.js";var M=class{},C=class{},g=class s{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(e){e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(`
1
+ import{a as Ie,b as De}from"./chunk-FPPZ4BUR.js";import{$ as ve,B as ne,C as Re,H as Te,P as $,S as N,V as v,Y as I,Z as R,_ as T,ba as Be,ca as Ve,f as ie,ja as Pe,ka as ke,kb as Oe,n as z,o as oe,qa as Ee,r as O,x as be,z as ge}from"./chunk-HNWRQABR.js";import{a as E,b as Ae}from"./chunk-EUDKD2JW.js";var M=class{},C=class{},g=class s{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(e){e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(`
2
2
  `).forEach(t=>{let r=t.indexOf(":");if(r>0){let o=t.slice(0,r),n=t.slice(r+1).trim();this.addHeaderEntry(o,n)}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof s?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new s;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof s?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let r=e.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(e.name,t);let o=(e.op==="a"?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":let n=e.value;if(!n)this.headers.delete(t),this.normalizedNames.delete(t);else{let i=this.headers.get(t);if(!i)return;i=i.filter(u=>n.indexOf(u)===-1),i.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,i)}break}}addHeaderEntry(e,t){let r=e.toLowerCase();this.maybeSetNormalizedName(e,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(e,t){let r=(Array.isArray(t)?t:[t]).map(n=>n.toString()),o=e.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(e,o)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var Q=class{encodeKey(e){return we(e)}encodeValue(e){return we(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function He(s,e){let t=new Map;return s.length>0&&s.replace(/^\?/,"").split("&").forEach(o=>{let n=o.indexOf("="),[i,u]=n==-1?[e.decodeKey(o),""]:[e.decodeKey(o.slice(0,n)),e.decodeValue(o.slice(n+1))],d=t.get(i)||[];d.push(u),t.set(i,d)}),t}var Ye=/%(\d[a-f0-9])/gi,Qe={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function we(s){return encodeURIComponent(s).replace(Ye,(e,t)=>Qe[t]??e)}function H(s){return`${s}`}var P=class s{map;encoder;updates=null;cloneFrom=null;constructor(e={}){if(this.encoder=e.encoder||new Q,e.fromString){if(e.fromObject)throw new N(2805,!1);this.map=He(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let r=e.fromObject[t],o=Array.isArray(r)?r.map(H):[H(r)];this.map.set(t,o)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(r=>{let o=e[r];Array.isArray(o)?o.forEach(n=>{t.push({param:r,value:n,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new s({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(H(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let r=this.map.get(e.param)||[],o=r.indexOf(H(e.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(e.param,r):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var Z=class{map=new Map;set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function Ze(s){switch(s){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Se(s){return typeof ArrayBuffer<"u"&&s instanceof ArrayBuffer}function Ne(s){return typeof Blob<"u"&&s instanceof Blob}function xe(s){return typeof FormData<"u"&&s instanceof FormData}function et(s){return typeof URLSearchParams<"u"&&s instanceof URLSearchParams}var J="Content-Type",ee="Accept",ce="X-Request-URL",Me="text/plain",Ce="application/json",Fe=`${Ce}, ${Me}, */*`,G=class s{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(e,t,r,o){this.url=t,this.method=e.toUpperCase();let n;if(Ze(this.method)||o?(this.body=r!==void 0?r:null,n=o):n=r,n){if(this.reportProgress=!!n.reportProgress,this.withCredentials=!!n.withCredentials,this.keepalive=!!n.keepalive,n.responseType&&(this.responseType=n.responseType),n.headers&&(this.headers=n.headers),n.context&&(this.context=n.context),n.params&&(this.params=n.params),n.priority&&(this.priority=n.priority),n.cache&&(this.cache=n.cache),n.credentials&&(this.credentials=n.credentials),typeof n.timeout=="number"){if(n.timeout<1||!Number.isInteger(n.timeout))throw new Error("");this.timeout=n.timeout}n.mode&&(this.mode=n.mode),n.redirect&&(this.redirect=n.redirect),this.transferCache=n.transferCache}if(this.headers??=new g,this.context??=new Z,!this.params)this.params=new P,this.urlWithParams=t;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=t;else{let u=t.indexOf("?"),d=u===-1?"?":u<t.length-1?"&":"";this.urlWithParams=t+d+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Se(this.body)||Ne(this.body)||xe(this.body)||et(this.body)?this.body:this.body instanceof P?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||xe(this.body)?null:Ne(this.body)?this.body.type||null:Se(this.body)?null:typeof this.body=="string"?Me:this.body instanceof P?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Ce:null}clone(e={}){let t=e.method||this.method,r=e.url||this.url,o=e.responseType||this.responseType,n=e.keepalive??this.keepalive,i=e.priority||this.priority,u=e.cache||this.cache,d=e.mode||this.mode,y=e.redirect||this.redirect,f=e.credentials||this.credentials,b=e.transferCache??this.transferCache,x=e.timeout??this.timeout,m=e.body!==void 0?e.body:this.body,D=e.withCredentials??this.withCredentials,w=e.reportProgress??this.reportProgress,c=e.headers||this.headers,l=e.params||this.params,A=e.context??this.context;return e.setHeaders!==void 0&&(c=Object.keys(e.setHeaders).reduce((V,h)=>V.set(h,e.setHeaders[h]),c)),e.setParams&&(l=Object.keys(e.setParams).reduce((V,h)=>V.set(h,e.setParams[h]),l)),new s(t,r,m,{params:l,headers:c,context:A,reportProgress:w,responseType:o,withCredentials:D,transferCache:b,keepalive:n,cache:u,priority:i,timeout:x,mode:d,redirect:y,credentials:f})}},k=function(s){return s[s.Sent=0]="Sent",s[s.UploadProgress=1]="UploadProgress",s[s.ResponseHeader=2]="ResponseHeader",s[s.DownloadProgress=3]="DownloadProgress",s[s.Response=4]="Response",s[s.User=5]="User",s}(k||{}),F=class{headers;status;statusText;url;ok;type;constructor(e,t=200,r="OK"){this.headers=e.headers||new g,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||r,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}},X=class s extends F{constructor(e={}){super(e)}type=k.ResponseHeader;clone(e={}){return new s({headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},L=class s extends F{body;constructor(e={}){super(e),this.body=e.body!==void 0?e.body:null}type=k.Response;clone(e={}){return new s({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},B=class extends F{name="HttpErrorResponse";message;error;ok=!1;constructor(e){super(e,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${e.url||"(unknown url)"}`:this.message=`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}},Le=200,tt=204;function ae(s,e){return{body:e,headers:s.headers,context:s.context,observe:s.observe,params:s.params,reportProgress:s.reportProgress,responseType:s.responseType,withCredentials:s.withCredentials,transferCache:s.transferCache,keepalive:s.keepalive,priority:s.priority,cache:s.cache,mode:s.mode,redirect:s.redirect}}var _=(()=>{class s{handler;constructor(t){this.handler=t}request(t,r,o={}){let n;if(t instanceof G)n=t;else{let d;o.headers instanceof g?d=o.headers:d=new g(o.headers);let y;o.params&&(o.params instanceof P?y=o.params:y=new P({fromObject:o.params})),n=new G(t,r,o.body!==void 0?o.body:null,{headers:d,context:o.context,params:y,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials})}let i=z(n).pipe(Re(d=>this.handler.handle(d)));if(t instanceof G||o.observe==="events")return i;let u=i.pipe(ge(d=>d instanceof L));switch(o.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(O(d=>{if(d.body!==null&&!(d.body instanceof ArrayBuffer))throw new N(2806,!1);return d.body}));case"blob":return u.pipe(O(d=>{if(d.body!==null&&!(d.body instanceof Blob))throw new N(2807,!1);return d.body}));case"text":return u.pipe(O(d=>{if(d.body!==null&&typeof d.body!="string")throw new N(2808,!1);return d.body}));case"json":default:return u.pipe(O(d=>d.body))}case"response":return u;default:throw new N(2809,!1)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:new P().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,ae(o,r))}post(t,r,o={}){return this.request("POST",t,ae(o,r))}put(t,r,o={}){return this.request("PUT",t,ae(o,r))}static \u0275fac=function(r){return new(r||s)(R(M))};static \u0275prov=v({token:s,factory:s.\u0275fac})}return s})(),st=/^\)\]\}',?\n/;function Ge(s){if(s.url)return s.url;let e=ce.toLocaleLowerCase();return s.headers.get(e)}var _e=new I(""),Y=(()=>{class s{fetchImpl=T(pe,{optional:!0})?.fetch??((...t)=>globalThis.fetch(...t));ngZone=T(Oe);destroyRef=T(ke);destroyed=!1;constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0})}handle(t){return new ie(r=>{let o=new AbortController;this.doRequest(t,o.signal,r).then(de,i=>r.error(new B({error:i})));let n;return t.timeout&&(n=this.ngZone.runOutsideAngular(()=>setTimeout(()=>{o.signal.aborted||o.abort(new DOMException("signal timed out","TimeoutError"))},t.timeout))),()=>{n!==void 0&&clearTimeout(n),o.abort()}})}async doRequest(t,r,o){let n=this.createRequestInit(t),i;try{let m=this.ngZone.runOutsideAngular(()=>this.fetchImpl(t.urlWithParams,E({signal:r},n)));rt(m),o.next({type:k.Sent}),i=await m}catch(m){o.error(new B({error:m,status:m.status??0,statusText:m.statusText,url:t.urlWithParams,headers:m.headers}));return}let u=new g(i.headers),d=i.statusText,y=Ge(i)??t.urlWithParams,f=i.status,b=null;if(t.reportProgress&&o.next(new X({headers:u,status:f,statusText:d,url:y})),i.body){let m=i.headers.get("content-length"),D=[],w=i.body.getReader(),c=0,l,A,V=typeof Zone<"u"&&Zone.current,h=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyed){await w.cancel(),h=!0;break}let{done:S,value:q}=await w.read();if(S)break;if(D.push(q),c+=q.length,t.reportProgress){A=t.responseType==="text"?(A??"")+(l??=new TextDecoder).decode(q,{stream:!0}):void 0;let me=()=>o.next({type:k.DownloadProgress,total:m?+m:void 0,loaded:c,partialText:A});V?V.run(me):me()}}}),h){o.complete();return}let U=this.concatChunks(D,c);try{let S=i.headers.get(J)??"";b=this.parseBody(t,U,S,f)}catch(S){o.error(new B({error:S,headers:new g(i.headers),status:i.status,statusText:i.statusText,url:Ge(i)??t.urlWithParams}));return}}f===0&&(f=b?Le:0),f>=200&&f<300?(o.next(new L({body:b,headers:u,status:f,statusText:d,url:y})),o.complete()):o.error(new B({error:b,headers:u,status:f,statusText:d,url:y}))}parseBody(t,r,o,n){switch(t.responseType){case"json":let i=new TextDecoder().decode(r).replace(st,"");if(i==="")return null;try{return JSON.parse(i)}catch(u){if(n<200||n>=300)return i;throw u}case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer}}createRequestInit(t){let r={},o;if(o=t.credentials,t.withCredentials&&(o="include"),t.headers.forEach((n,i)=>r[n]=i.join(",")),t.headers.has(ee)||(r[ee]=Fe),!t.headers.has(J)){let n=t.detectContentTypeHeader();n!==null&&(r[J]=n)}return{body:t.serializeBody(),method:t.method,headers:r,credentials:o,keepalive:t.keepalive,cache:t.cache,priority:t.priority,mode:t.mode,redirect:t.redirect}}concatChunks(t,r){let o=new Uint8Array(r),n=0;for(let i of t)o.set(i,n),n+=i.length;return o}static \u0275fac=function(r){return new(r||s)};static \u0275prov=v({token:s,factory:s.\u0275fac})}return s})(),pe=class{};function de(){}function rt(s){s.then(de,de)}function it(s,e){return e(s)}function ot(s,e,t){return(r,o)=>Ve(t,()=>e(r,n=>s(n,o)))}var le=new I(""),je=new I(""),Ue=new I("",{providedIn:"root",factory:()=>!0});var te=(()=>{class s extends M{backend;injector;chain=null;pendingTasks=T(Ee);contributeToStability=T(Ue);constructor(t,r){super(),this.backend=t,this.injector=r}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(le),...this.injector.get(je,[])]));this.chain=r.reduceRight((o,n)=>ot(o,n,this.injector),it)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(Te(r))}else return this.chain(t,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||s)(R(C),R(Be))};static \u0275prov=v({token:s,factory:s.\u0275fac})}return s})();var nt=/^\)\]\}',?\n/,at=RegExp(`^${ce}:`,"m");function pt(s){return"responseURL"in s&&s.responseURL?s.responseURL:at.test(s.getAllResponseHeaders())?s.getResponseHeader(ce):null}var ue=(()=>{class s{xhrFactory;constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new N(-2800,!1);let r=this.xhrFactory;return z(null).pipe($(()=>new ie(n=>{let i=r.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((c,l)=>i.setRequestHeader(c,l.join(","))),t.headers.has(ee)||i.setRequestHeader(ee,Fe),!t.headers.has(J)){let c=t.detectContentTypeHeader();c!==null&&i.setRequestHeader(J,c)}if(t.timeout&&(i.timeout=t.timeout),t.responseType){let c=t.responseType.toLowerCase();i.responseType=c!=="json"?c:"text"}let u=t.serializeBody(),d=null,y=()=>{if(d!==null)return d;let c=i.statusText||"OK",l=new g(i.getAllResponseHeaders()),A=pt(i)||t.url;return d=new X({headers:l,status:i.status,statusText:c,url:A}),d},f=()=>{let{headers:c,status:l,statusText:A,url:V}=y(),h=null;l!==tt&&(h=typeof i.response>"u"?i.responseText:i.response),l===0&&(l=h?Le:0);let U=l>=200&&l<300;if(t.responseType==="json"&&typeof h=="string"){let S=h;h=h.replace(nt,"");try{h=h!==""?JSON.parse(h):null}catch(q){h=S,U&&(U=!1,h={error:q,text:h})}}U?(n.next(new L({body:h,headers:c,status:l,statusText:A,url:V||void 0})),n.complete()):n.error(new B({error:h,headers:c,status:l,statusText:A,url:V||void 0}))},b=c=>{let{url:l}=y(),A=new B({error:c,status:i.status||0,statusText:i.statusText||"Unknown Error",url:l||void 0});n.error(A)},x=b;t.timeout&&(x=c=>{let{url:l}=y(),A=new B({error:new DOMException("Request timed out","TimeoutError"),status:i.status||0,statusText:i.statusText||"Request timeout",url:l||void 0});n.error(A)});let m=!1,D=c=>{m||(n.next(y()),m=!0);let l={type:k.DownloadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),t.responseType==="text"&&i.responseText&&(l.partialText=i.responseText),n.next(l)},w=c=>{let l={type:k.UploadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),n.next(l)};return i.addEventListener("load",f),i.addEventListener("error",b),i.addEventListener("timeout",x),i.addEventListener("abort",b),t.reportProgress&&(i.addEventListener("progress",D),u!==null&&i.upload&&i.upload.addEventListener("progress",w)),i.send(u),n.next({type:k.Sent}),()=>{i.removeEventListener("error",b),i.removeEventListener("abort",b),i.removeEventListener("load",f),i.removeEventListener("timeout",x),t.reportProgress&&(i.removeEventListener("progress",D),u!==null&&i.upload&&i.upload.removeEventListener("progress",w)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(r){return new(r||s)(R(De))};static \u0275prov=v({token:s,factory:s.\u0275fac})}return s})(),qe=new I(""),dt="XSRF-TOKEN",ut=new I("",{providedIn:"root",factory:()=>dt}),ct="X-XSRF-TOKEN",lt=new I("",{providedIn:"root",factory:()=>ct}),K=class{},ht=(()=>{class s{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(t,r){this.doc=t,this.cookieName=r}getToken(){let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Ie(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(r){return new(r||s)(R(Pe),R(ut))};static \u0275prov=v({token:s,factory:s.\u0275fac})}return s})();function yt(s,e){let t=s.url.toLowerCase();if(!T(qe)||s.method==="GET"||s.method==="HEAD"||t.startsWith("http://")||t.startsWith("https://"))return e(s);let r=T(K).getToken(),o=T(lt);return r!=null&&!s.headers.has(o)&&(s=s.clone({headers:s.headers.set(o,r)})),e(s)}var se=function(s){return s[s.Interceptors=0]="Interceptors",s[s.LegacyInterceptors=1]="LegacyInterceptors",s[s.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",s[s.NoXsrfProtection=3]="NoXsrfProtection",s[s.JsonpSupport=4]="JsonpSupport",s[s.RequestsMadeViaParent=5]="RequestsMadeViaParent",s[s.Fetch=6]="Fetch",s}(se||{});function ze(s,e){return{\u0275kind:s,\u0275providers:e}}function ft(...s){let e=[_,ue,te,{provide:M,useExisting:te},{provide:C,useFactory:()=>T(_e,{optional:!0})??T(ue)},{provide:le,useValue:yt,multi:!0},{provide:qe,useValue:!0},{provide:K,useClass:ht}];for(let t of s)e.push(...t.\u0275providers);return ve(e)}function mt(s){return ze(se.Interceptors,s.map(e=>({provide:le,useValue:e,multi:!0})))}function At(){return ze(se.Fetch,[Y,{provide:_e,useExisting:Y},{provide:C,useExisting:Y}])}var he=class{_fns;constructor(){this._fns=[]}eject(e){let t=this._fns.indexOf(e);t!==-1&&(this._fns=[...this._fns.slice(0,t),...this._fns.slice(t+1)])}use(e){this._fns=[...this._fns,e]}},a={BASE:"",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1",WITH_CREDENTIALS:!1,interceptors:{response:new he}};var j=class extends Error{url;status;statusText;body;request;constructor(e,t,r){super(r),this.name="ApiError",this.url=t.url,this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.request=e}};var W=s=>typeof s=="string",ye=s=>W(s)&&s!=="",fe=s=>s instanceof Blob,$e=s=>s instanceof FormData,gt=s=>{try{return btoa(s)}catch{return Buffer.from(s).toString("base64")}},Rt=s=>{let e=[],t=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},r=(o,n)=>{n!=null&&(n instanceof Date?t(o,n.toISOString()):Array.isArray(n)?n.forEach(i=>r(o,i)):typeof n=="object"?Object.entries(n).forEach(([i,u])=>r(`${o}[${i}]`,u)):t(o,n))};return Object.entries(s).forEach(([o,n])=>r(o,n)),e.length?`?${e.join("&")}`:""},Tt=(s,e)=>{let t=s.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",s.VERSION).replace(/{(.*?)}/g,(n,i)=>e.path?.hasOwnProperty(i)?t(String(e.path[i])):n),o=s.BASE+r;return e.query?o+Rt(e.query):o},vt=s=>{if(s.formData){let e=new FormData,t=(r,o)=>{W(o)||fe(o)?e.append(r,o):e.append(r,JSON.stringify(o))};return Object.entries(s.formData).filter(([,r])=>r!=null).forEach(([r,o])=>{Array.isArray(o)?o.forEach(n=>t(r,n)):t(r,o)}),e}},re=async(s,e)=>typeof e=="function"?e(s):e,Bt=(s,e)=>be({token:re(e,s.TOKEN),username:re(e,s.USERNAME),password:re(e,s.PASSWORD),additionalHeaders:re(e,s.HEADERS)}).pipe(O(({token:t,username:r,password:o,additionalHeaders:n})=>{let i=Object.entries(E(E({Accept:"application/json"},n),e.headers)).filter(([,u])=>u!=null).reduce((u,[d,y])=>Ae(E({},u),{[d]:String(y)}),{});if(ye(t)&&(i.Authorization=`Bearer ${t}`),ye(r)&&ye(o)){let u=gt(`${r}:${o}`);i.Authorization=`Basic ${u}`}return e.body!==void 0&&(e.mediaType?i["Content-Type"]=e.mediaType:fe(e.body)?i["Content-Type"]=e.body.type||"application/octet-stream":W(e.body)?i["Content-Type"]="text/plain":$e(e.body)||(i["Content-Type"]="application/json")),new g(i)})),Vt=s=>{if(s.body)return s.mediaType?.includes("application/json")||s.mediaType?.includes("+json")?JSON.stringify(s.body):W(s.body)||fe(s.body)||$e(s.body)?s.body:JSON.stringify(s.body)},Pt=(s,e,t,r,o,n,i)=>t.request(e.method,r,{headers:i,body:o??n,withCredentials:s.WITH_CREDENTIALS,observe:"response"}),kt=(s,e)=>{if(e){let t=s.headers.get(e);if(W(t))return t}},Et=s=>{if(s.status!==204&&s.body!==null)return s.body},Ot=(s,e)=>{let r=E({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},s.errors)[e.status];if(r)throw new j(s,e,r);if(!e.ok){let o=e.status??"unknown",n=e.statusText??"unknown",i=(()=>{try{return JSON.stringify(e.body,null,2)}catch{return}})();throw new j(s,e,`Generic Error: status: ${o}; status text: ${n}; body: ${i}`)}},p=(s,e,t)=>{let r=Tt(s,t),o=vt(t),n=Vt(t);return Bt(s,t).pipe($(i=>Pt(s,t,e,r,n,o,i)),$(async i=>{for(let f of s.interceptors.response._fns)i=await f(i);let u=Et(i),d=kt(i,t.responseHeader),y=u;return t.responseTransformer&&i.ok&&(y=await t.responseTransformer(u)),{url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:d??y}}),ne(i=>i.status?z({url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:i.error??i.statusText}):oe(()=>i)),O(i=>(Ot(t,i),i.body)),ne(i=>oe(()=>i)))};var Je=class s{constructor(e){this.http=e}getApiV1Commandline(){return p(a,this.http,{method:"GET",url:"/api/v1/commandline"})}static \u0275fac=function(t){return new(t||s)(R(_))};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})},Xe=class s{constructor(e){this.http=e}postApiV1Commandline(e){return p(a,this.http,{method:"POST",url:"/api/v1/commandline",body:e.requestBody,mediaType:"application/json"})}getApiV1Acknowledgements(){return p(a,this.http,{method:"GET",url:"/api/v1/acknowledgements"})}postApiV1AuthRefresh(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/auth/refresh",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthSignin(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/signin",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthLogin(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/login",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthIssuesignintoken(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issuesignintoken",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthRefreshLogout(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/auth/refresh/logout",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthIssuetokenByOperation(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issuetoken/{operation}",path:{operation:e.operation}})}postApiV1AuthIssueForeverToken(){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issue-forever-token"})}getApiV1Backupdefaults(){return p(a,this.http,{method:"GET",url:"/api/v1/backupdefaults"})}getApiV1Backups(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/backups",query:{orderBy:e.orderBy}})}postApiV1Backups(e){return p(a,this.http,{method:"POST",url:"/api/v1/backups",query:{temporary:e.temporary,existingdb:e.existingdb},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupsImport(e){return p(a,this.http,{method:"POST",url:"/api/v1/backups/import",body:e.requestBody,mediaType:"application/json"})}getApiV1BugreportByReportid(e){return p(a,this.http,{method:"GET",url:"/api/v1/bugreport/{reportid}",path:{reportid:e.reportid},query:{token:e.token}})}getApiV1Changelog(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/changelog",query:{"from-update":e.fromUpdate}})}getApiV1CommandlineByRunid(e){return p(a,this.http,{method:"GET",url:"/api/v1/commandline/{runid}",path:{runid:e.runid},query:{offset:e.offset,pagesize:e.pagesize}})}postApiV1CommandlineByRunidAbort(e){return p(a,this.http,{method:"POST",url:"/api/v1/commandline/{runid}/abort",path:{runid:e.runid}})}postApiV1Filesystem(e){return p(a,this.http,{method:"POST",url:"/api/v1/filesystem",query:{onlyFolders:e.onlyFolders,showHidden:e.showHidden},body:e.requestBody,mediaType:"application/json"})}postApiV1FilesystemValidate(e){return p(a,this.http,{method:"POST",url:"/api/v1/filesystem/validate",body:e.requestBody,mediaType:"application/json"})}getApiV1Hyperv(){return p(a,this.http,{method:"GET",url:"/api/v1/hyperv"})}getApiV1HypervByKey(e){return p(a,this.http,{method:"GET",url:"/api/v1/hyperv/{key}",path:{key:e.key}})}getApiV1Licenses(){return p(a,this.http,{method:"GET",url:"/api/v1/licenses"})}getApiV1LogdataPoll(e){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/poll",query:{level:e.level,id:e.id,pagesize:e.pagesize}})}getApiV1LogdataLog(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/log",query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1LogdataCrashlog(){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/crashlog"})}getApiV1Mssql(){return p(a,this.http,{method:"GET",url:"/api/v1/mssql"})}getApiV1MssqlByKey(e){return p(a,this.http,{method:"GET",url:"/api/v1/mssql/{key}",path:{key:e.key}})}getApiV1NotificationById(e){return p(a,this.http,{method:"GET",url:"/api/v1/notification/{id}",path:{id:e.id}})}deleteApiV1NotificationById(e){return p(a,this.http,{method:"DELETE",url:"/api/v1/notification/{id}",path:{id:e.id}})}getApiV1Notifications(){return p(a,this.http,{method:"GET",url:"/api/v1/notifications"})}getApiV1Progressstate(){return p(a,this.http,{method:"GET",url:"/api/v1/progressstate"})}getApiV1RemotecontrolStatus(){return p(a,this.http,{method:"GET",url:"/api/v1/remotecontrol/status"})}postApiV1RemoteoperationDbpath(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/dbpath",body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationTest(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/test",query:{autocreate:e.autocreate},body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationCreate(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/create",body:e.requestBody,mediaType:"application/json"})}getApiV1Serversettings(){return p(a,this.http,{method:"GET",url:"/api/v1/serversettings"})}patchApiV1Serversettings(e){return p(a,this.http,{method:"PATCH",url:"/api/v1/serversettings",body:e.requestBody,mediaType:"application/json"})}getApiV1ServersettingByKey(e){return p(a,this.http,{method:"GET",url:"/api/v1/serversetting/{key}",path:{key:e.key}})}putApiV1ServersettingByKey(e){return p(a,this.http,{method:"PUT",url:"/api/v1/serversetting/{key}",path:{key:e.key},body:e.requestBody,mediaType:"application/json"})}getApiV1Serverstate(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/serverstate",query:{lastEventId:e.lastEventId,longpoll:e.longpoll,duration:e.duration}})}postApiV1ServerstatePause(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/serverstate/pause",query:{duration:e.duration,pauseTransfers:e.pauseTransfers}})}postApiV1ServerstateResume(){return p(a,this.http,{method:"POST",url:"/api/v1/serverstate/resume"})}getApiV1Systeminfo(){return p(a,this.http,{method:"GET",url:"/api/v1/systeminfo"})}getApiV1SysteminfoFiltergroups(){return p(a,this.http,{method:"GET",url:"/api/v1/systeminfo/filtergroups"})}getApiV1Tasks(){return p(a,this.http,{method:"GET",url:"/api/v1/tasks"})}getApiV1TaskByTaskid(e){return p(a,this.http,{method:"GET",url:"/api/v1/task/{taskid}",path:{taskid:e.taskid}})}postApiV1TaskByTaskidStop(e){return p(a,this.http,{method:"POST",url:"/api/v1/task/{taskid}/stop",path:{taskid:e.taskid}})}postApiV1TaskByTaskidAbort(e){return p(a,this.http,{method:"POST",url:"/api/v1/task/{taskid}/abort",path:{taskid:e.taskid}})}getApiV1Uisettings(){return p(a,this.http,{method:"GET",url:"/api/v1/uisettings"})}postApiV1Uisettings(e){return p(a,this.http,{method:"POST",url:"/api/v1/uisettings",body:e.requestBody,mediaType:"application/json"})}getApiV1UisettingsByScheme(e){return p(a,this.http,{method:"GET",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme}})}patchApiV1UisettingsByScheme(e){return p(a,this.http,{method:"PATCH",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme},body:e.requestBody,mediaType:"application/json"})}postApiV1UpdatesCheck(){return p(a,this.http,{method:"POST",url:"/api/v1/updates/check"})}postApiV1WebmoduleByModulekey(e){return p(a,this.http,{method:"POST",url:"/api/v1/webmodule/{modulekey}",path:{modulekey:e.modulekey},body:e.requestBody,mediaType:"application/json"})}getApiV1BackupById(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}",path:{id:e.id}})}putApiV1BackupById(e){return p(a,this.http,{method:"PUT",url:"/api/v1/backup/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}deleteApiV1BackupById(e){return p(a,this.http,{method:"DELETE",url:"/api/v1/backup/{id}",path:{id:e.id},query:{"delete-remote-files":e.deleteRemoteFiles,"delete-local-db":e.deleteLocalDb,force:e.force}})}getApiV1BackupByIdFiles(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/files",path:{id:e.id},query:{filter:e.filter,time:e.time,"all-versions":e.allVersions,"prefix-only":e.prefixOnly,"folder-contents":e.folderContents}})}getApiV1BackupByIdLog(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/log",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdRemotelog(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/remotelog",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdFilesets(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/filesets",path:{id:e.id},query:{"include-metadata":e.includeMetadata,"from-remote-only":e.fromRemoteOnly}})}getApiV1BackupByIdExportArgsonly(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-argsonly",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExportCmdline(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-cmdline",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExport(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase,token:e.token}})}getApiV1BackupByIdIsdbusedelsewhere(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/isdbusedelsewhere",path:{id:e.id}})}getApiV1BackupByIdIsactive(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/isactive",path:{id:e.id}})}postApiV1BackupByIdDeletedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/deletedb",path:{id:e.id}})}postApiV1BackupByIdMovedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/movedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdUpdatedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/updatedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRestore(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/restore",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdCreatereport(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/createreport",path:{id:e.id}})}postApiV1BackupByIdRepair(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/repair",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRepairupdate(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/repairupdate",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdVacuum(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/vacuum",path:{id:e.id}})}postApiV1BackupByIdVerify(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/verify",path:{id:e.id}})}postApiV1BackupByIdCompact(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/compact",path:{id:e.id}})}postApiV1BackupByIdStart(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/start",path:{id:e.id},query:{skipQueue:e.skipQueue}})}postApiV1BackupByIdRun(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/run",path:{id:e.id},query:{skipQueue:e.skipQueue}})}postApiV1BackupByIdReportRemoteSize(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/report-remote-size",path:{id:e.id}})}postApiV1BackupByIdCopytotemp(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/copytotemp",path:{id:e.id}})}postApiV1RemotecontrolEnable(){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/enable"})}postApiV1RemotecontrolDisable(){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/disable"})}deleteApiV1RemotecontrolRegistration(){return p(a,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/registration"})}postApiV1RemotecontrolRegister(e){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/register",body:e.requestBody,mediaType:"application/json"})}deleteApiV1RemotecontrolRegister(){return p(a,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/register"})}postApiV2BackupListFilesets(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-filesets",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListFolder(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-folder",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListVersions(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-versions",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupSearch(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/search",body:e.requestBody,mediaType:"application/json"})}postApiV2DestinationTest(e){return p(a,this.http,{method:"POST",url:"/api/v2/destination/test",body:e.requestBody,mediaType:"application/json"})}static \u0275fac=function(t){return new(t||s)(R(_))};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})},Ke=class s{constructor(e){this.http=e}getApiV1Webmodules(){return p(a,this.http,{method:"GET",url:"/api/v1/webmodules"})}static \u0275fac=function(t){return new(t||s)(R(_))};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})};export{g as a,L as b,_ as c,ft as d,mt as e,At as f,Je as g,Xe as h,Ke as i};
@@ -1 +1 @@
1
- import{$ as ba,A as C,Aa as Ea,B as D,Ba as Fa,C as E,Ca as Ga,D as F,Da as Ha,E as G,Ea as Ia,F as H,Fa as Ja,G as I,Ga as Ka,H as J,Ha as La,I as K,Ia as Ma,J as L,Ja as Na,K as M,Ka as Oa,L as N,La as Pa,M as O,N as P,O as Q,P as R,Q as S,R as T,S as U,T as V,U as W,V as X,W as Y,X as Z,Y as _,Z as $,_ as aa,a as c,aa as ca,b as d,ba as da,c as e,ca as ea,d as f,da as fa,e as g,ea as ga,f as h,fa as ha,g as i,ga as ia,h as j,ha as ja,i as k,ia as ka,j as l,ja as la,k as m,ka as ma,l as n,la as na,m as o,ma as oa,n as p,na as pa,o as q,oa as qa,p as r,pa as ra,q as s,qa as sa,r as t,ra as ta,s as u,sa as ua,t as v,ta as va,u as w,ua as wa,v as x,va as za,w as y,wa as Aa,x as z,xa as Ba,y as A,ya as Ca,z as B,za as Da}from"./chunk-WJPLJKPQ.js";import{a as xa,b as ya}from"./chunk-FPPZ4BUR.js";import{Ba as b,ja as a}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{k as APP_BASE_HREF,ha as AsyncPipe,h as BrowserPlatformLocation,wa as CommonModule,ua as CurrencyPipe,ma as DATE_PIPE_DEFAULT_OPTIONS,la as DATE_PIPE_DEFAULT_TIMEZONE,a as DOCUMENT,na as DatePipe,sa as DecimalPipe,q as FormStyle,s as FormatWidth,n as HashLocationStrategy,oa as I18nPluralPipe,pa as I18nSelectPipe,b as IMAGE_CONFIG,Ia as IMAGE_LOADER,qa as JsonPipe,ra as KeyValuePipe,g as LOCATION_INITIALIZED,m as Location,j as LocationStrategy,ia as LowerCasePipe,W as NgClass,X as NgComponentOutlet,Z as NgFor,Z as NgForOf,Y as NgForOfContext,_ as NgIf,$ as NgIfContext,V as NgLocaleLocalization,U as NgLocalization,Pa as NgOptimizedImage,da as NgPlural,ea as NgPluralCase,fa as NgStyle,aa as NgSwitch,ba as NgSwitchCase,ca as NgSwitchDefault,ga as NgTemplateOutlet,o as NumberFormatStyle,t as NumberSymbol,Oa as PRECONNECT_CHECK_BLOCKLIST,l as PathLocationStrategy,ta as PercentPipe,f as PlatformLocation,p as Plural,va as SlicePipe,ja as TitleCasePipe,r as TranslationWidth,ka as UpperCasePipe,Fa as VERSION,Ga as ViewportScroller,u as WeekDay,ya as XhrFactory,R as formatCurrency,Q as formatDate,T as formatNumber,S as formatPercent,O as getCurrencySymbol,J as getLocaleCurrencyCode,I as getLocaleCurrencyName,H as getLocaleCurrencySymbol,C as getLocaleDateFormat,E as getLocaleDateTimeFormat,x as getLocaleDayNames,w as getLocaleDayPeriods,N as getLocaleDirection,z as getLocaleEraNames,L as getLocaleExtraDayPeriodRules,M as getLocaleExtraDayPeriods,A as getLocaleFirstDayOfWeek,v as getLocaleId,y as getLocaleMonthNames,G as getLocaleNumberFormat,F as getLocaleNumberSymbol,K as getLocalePluralCase,D as getLocaleTimeFormat,B as getLocaleWeekEndRange,P as getNumberOfCurrencyDigits,Da as isPlatformBrowser,Ea as isPlatformServer,Ja as provideCloudflareLoader,Ka as provideCloudinaryLoader,La as provideImageKitLoader,Ma as provideImgixLoader,Na as provideNetlifyLoader,Aa as registerLocaleData,e as \u0275DomAdapter,Ha as \u0275NullViewportScroller,Ba as \u0275PLATFORM_BROWSER_ID,Ca as \u0275PLATFORM_SERVER_ID,za as \u0275PlatformNavigation,c as \u0275getDOM,i as \u0275normalizeQueryParams,xa as \u0275parseCookieValue,d as \u0275setRootDomAdapter};
1
+ import{$ as ba,A as C,Aa as Ea,B as D,Ba as Fa,C as E,Ca as Ga,D as F,Da as Ha,E as G,Ea as Ia,F as H,Fa as Ja,G as I,Ga as Ka,H as J,Ha as La,I as K,Ia as Ma,J as L,Ja as Na,K as M,Ka as Oa,L as N,La as Pa,M as O,N as P,O as Q,P as R,Q as S,R as T,S as U,T as V,U as W,V as X,W as Y,X as Z,Y as _,Z as $,_ as aa,a as c,aa as ca,b as d,ba as da,c as e,ca as ea,d as f,da as fa,e as g,ea as ga,f as h,fa as ha,g as i,ga as ia,h as j,ha as ja,i as k,ia as ka,j as l,ja as la,k as m,ka as ma,l as n,la as na,m as o,ma as oa,n as p,na as pa,o as q,oa as qa,p as r,pa as ra,q as s,qa as sa,r as t,ra as ta,s as u,sa as ua,t as v,ta as va,u as w,ua as wa,v as x,va as za,w as y,wa as Aa,x as z,xa as Ba,y as A,ya as Ca,z as B,za as Da}from"./chunk-RUXCS4ZK.js";import{a as xa,b as ya}from"./chunk-FPPZ4BUR.js";import{Ba as b,ja as a}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";export{k as APP_BASE_HREF,ha as AsyncPipe,h as BrowserPlatformLocation,wa as CommonModule,ua as CurrencyPipe,ma as DATE_PIPE_DEFAULT_OPTIONS,la as DATE_PIPE_DEFAULT_TIMEZONE,a as DOCUMENT,na as DatePipe,sa as DecimalPipe,q as FormStyle,s as FormatWidth,n as HashLocationStrategy,oa as I18nPluralPipe,pa as I18nSelectPipe,b as IMAGE_CONFIG,Ia as IMAGE_LOADER,qa as JsonPipe,ra as KeyValuePipe,g as LOCATION_INITIALIZED,m as Location,j as LocationStrategy,ia as LowerCasePipe,W as NgClass,X as NgComponentOutlet,Z as NgFor,Z as NgForOf,Y as NgForOfContext,_ as NgIf,$ as NgIfContext,V as NgLocaleLocalization,U as NgLocalization,Pa as NgOptimizedImage,da as NgPlural,ea as NgPluralCase,fa as NgStyle,aa as NgSwitch,ba as NgSwitchCase,ca as NgSwitchDefault,ga as NgTemplateOutlet,o as NumberFormatStyle,t as NumberSymbol,Oa as PRECONNECT_CHECK_BLOCKLIST,l as PathLocationStrategy,ta as PercentPipe,f as PlatformLocation,p as Plural,va as SlicePipe,ja as TitleCasePipe,r as TranslationWidth,ka as UpperCasePipe,Fa as VERSION,Ga as ViewportScroller,u as WeekDay,ya as XhrFactory,R as formatCurrency,Q as formatDate,T as formatNumber,S as formatPercent,O as getCurrencySymbol,J as getLocaleCurrencyCode,I as getLocaleCurrencyName,H as getLocaleCurrencySymbol,C as getLocaleDateFormat,E as getLocaleDateTimeFormat,x as getLocaleDayNames,w as getLocaleDayPeriods,N as getLocaleDirection,z as getLocaleEraNames,L as getLocaleExtraDayPeriodRules,M as getLocaleExtraDayPeriods,A as getLocaleFirstDayOfWeek,v as getLocaleId,y as getLocaleMonthNames,G as getLocaleNumberFormat,F as getLocaleNumberSymbol,K as getLocalePluralCase,D as getLocaleTimeFormat,B as getLocaleWeekEndRange,P as getNumberOfCurrencyDigits,Da as isPlatformBrowser,Ea as isPlatformServer,Ja as provideCloudflareLoader,Ka as provideCloudinaryLoader,La as provideImageKitLoader,Ma as provideImgixLoader,Na as provideNetlifyLoader,Aa as registerLocaleData,e as \u0275DomAdapter,Ha as \u0275NullViewportScroller,Ba as \u0275PLATFORM_BROWSER_ID,Ca as \u0275PLATFORM_SERVER_ID,za as \u0275PlatformNavigation,c as \u0275getDOM,i as \u0275normalizeQueryParams,xa as \u0275parseCookieValue,d as \u0275setRootDomAdapter};
@@ -1 +1 @@
1
- import{Nc as f,Oc as D,Pc as w,Qc as x,Rc as h,S as d,_ as v,ia as y,k as m,ka as l,oa as b}from"./chunk-QDFCX6XE.js";import{a as p,b as g}from"./chunk-EUDKD2JW.js";function E(o,e){let s=e?.injector??v(y),n=new m(1),i=w(()=>{let t;try{t=o()}catch(u){f(()=>n.error(u));return}f(()=>n.next(t))},{injector:s,manualCleanup:!0});return s.get(l).onDestroy(()=>{i.destroy(),n.complete()}),n.asObservable()}function U(o,e){let n=!e?.manualCleanup?e?.injector?.get(l)??v(l):null,i=k(e?.equal),t;e?.requireSync?t=b({kind:0},{equal:i}):t=b({kind:1,value:e?.initialValue},{equal:i});let u,a=o.subscribe({next:r=>t.set({kind:1,value:r}),error:r=>{t.set({kind:2,error:r}),u?.()},complete:()=>{u?.()}});if(e?.requireSync&&t().kind===0)throw new d(601,!1);return u=n?.onDestroy(a.unsubscribe.bind(a)),D(()=>{let r=t();switch(r.kind){case 1:return r.value;case 2:throw r.error;case 0:throw new d(601,!1)}},{equal:e?.equal})}function k(o=Object.is){return(e,s)=>e.kind===1&&s.kind===1&&o(e.value,s.value)}function T(o){return x(g(p({},o),{loader:void 0,stream:e=>{let s,n=()=>s.unsubscribe();e.abortSignal.addEventListener("abort",n);let i=b({value:void 0}),t,u=new Promise(c=>t=c);function a(c){i.set(c),t?.(i),t=void 0}let r=o.stream??o.loader;if(r===void 0)throw new d(990,!1);return s=r(e).subscribe({next:c=>a({value:c}),error:c=>{a({error:h(c)}),e.abortSignal.removeEventListener("abort",n)},complete:()=>{t&&a({error:new d(991,!1)}),e.abortSignal.removeEventListener("abort",n)}}),u}}))}export{E as a,U as b,T as c};
1
+ import{Nc as f,Oc as D,Pc as w,Qc as x,Rc as h,S as d,_ as v,ia as y,k as m,ka as l,oa as b}from"./chunk-HNWRQABR.js";import{a as p,b as g}from"./chunk-EUDKD2JW.js";function E(o,e){let s=e?.injector??v(y),n=new m(1),i=w(()=>{let t;try{t=o()}catch(u){f(()=>n.error(u));return}f(()=>n.next(t))},{injector:s,manualCleanup:!0});return s.get(l).onDestroy(()=>{i.destroy(),n.complete()}),n.asObservable()}function U(o,e){let n=!e?.manualCleanup?e?.injector?.get(l)??v(l):null,i=k(e?.equal),t;e?.requireSync?t=b({kind:0},{equal:i}):t=b({kind:1,value:e?.initialValue},{equal:i});let u,a=o.subscribe({next:r=>t.set({kind:1,value:r}),error:r=>{t.set({kind:2,error:r}),u?.()},complete:()=>{u?.()}});if(e?.requireSync&&t().kind===0)throw new d(601,!1);return u=n?.onDestroy(a.unsubscribe.bind(a)),D(()=>{let r=t();switch(r.kind){case 1:return r.value;case 2:throw r.error;case 0:throw new d(601,!1)}},{equal:e?.equal})}function k(o=Object.is){return(e,s)=>e.kind===1&&s.kind===1&&o(e.value,s.value)}function T(o){return x(g(p({},o),{loader:void 0,stream:e=>{let s,n=()=>s.unsubscribe();e.abortSignal.addEventListener("abort",n);let i=b({value:void 0}),t,u=new Promise(c=>t=c);function a(c){i.set(c),t?.(i),t=void 0}let r=o.stream??o.loader;if(r===void 0)throw new d(990,!1);return s=r(e).subscribe({next:c=>a({value:c}),error:c=>{a({error:h(c)}),e.abortSignal.removeEventListener("abort",n)},complete:()=>{t&&a({error:new d(991,!1)}),e.abortSignal.removeEventListener("abort",n)}}),u}}))}export{E as a,U as b,T as c};
@@ -1 +1 @@
1
- import{a as v,c as N,e as E,i as O,k as P,s as D}from"./chunk-USU2EHJV.js";import{l as S,o as X,t as Y}from"./chunk-WRNQOX5R.js";import{Ab as u,Bb as s,Gb as L,Hb as x,Jb as W,Oc as m,Pc as f,Ra as a,Sb as I,Tb as F,Ub as A,Uc as g,Wb as j,Yb as b,Zb as T,_b as d,bb as C,ea as $,fa as w,gb as z,hc as G,lc as U,oa as l,oc as k,qc as c,rc as h,sc as _,tb as M,wb as B,xb as R,yb as V,yc as y,zb as p}from"./chunk-QDFCX6XE.js";var Q=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ee=["label","[prefix]","[suffix]"];function te(i,e){if(i&1&&U(0),i&2){let t=e.$implicit,n=b();k("",t.label,"",n.hasPerSecond()?"/s":"")}}var ne=[{value:"bytes",label:"Bytes"},{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],ie=["throttle-upload","throttle-download"],H=class i{customId=g();inputType=g();timespan=l(0);unit=l("MB");sizeOptions=l(ne);readonly=l(!1);hasPerSecond=m(()=>{let e=this.inputType();return e&&ie.includes(e)});onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});writeValue(e){if(e){let t=e.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);t?(this.timespan.set(parseInt(t[1],10)),this.unit.set(t[2].toUpperCase())):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ee,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(t,n){t&1&&(T(Q),u(0,"div",0),d(1,0,["ngProjectAs","label",5,["label"]]),s(),u(2,"sh-form-field")(3,"input",1),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(4,1),d(5,2),s(),u(6,"sh-select",2)(7,"input",3),_("ngModelChange",function(o){return h(n.unit,o)||(n.unit=o),o}),s(),z(8,te,1,2,"ng-template"),s()),t&2&&(a(2),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),G("--miw",0),p("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),a(),c("ngModel",n.unit))},dependencies:[Y,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};var oe=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ae=["label","[prefix]","[suffix]"];function se(i,e){if(i&1){let t=W();u(0,"button",7),j("click",function(){let r=$(t).$implicit,o=b();return w(o.updateUnit(r.value))}),I(1,1),s()}if(i&2){let t=e.$implicit;a(),F(t.label),A(1)}}var le=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],re=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],pe=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],K=class i{customId=g();inputType=g();timespan=l(0);#e="D";unit=l(this.#e);unitLabel=m(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=m(()=>{let e=this.inputType();return e&&pe.includes(e.replace("--",""))});timeOptions=m(()=>this.isShortTime()?le:re);readonly=l(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});inputTypeEffect=f(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,r=e.match(n);r?(this.timespan.set(parseInt(r[1],10)),this.unit.set(r[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ae,decls:11,vars:6,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator"],["shButton","","type","button",1,"trigger"],["menu",""],["shButton","","type","button",1,"small"],["shButton","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(T(oe),d(0,0,["ngProjectAs","label",5,["label"]]),u(1,"sh-form-field")(2,"input",2),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(3,1),d(4,2),s(),u(5,"sh-menu",3)(6,"button",4),I(7,0),s(),L(8,5),R(9,se,2,1,"button",6,B),x(),s()),t&2&&(a(),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),p("openIndicator",!0),a(2),F(n.unitLabel()),A(7),a(2),V(n.timeOptions()))},dependencies:[X,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{H as a,K as b};
1
+ import{a as v,c as N,e as E,i as O,k as P,s as D}from"./chunk-N5SC4SKW.js";import{l as S,o as X,t as Y}from"./chunk-H7K35UUX.js";import{Ab as u,Bb as s,Gb as L,Hb as x,Jb as W,Oc as m,Pc as f,Ra as a,Sb as I,Tb as F,Ub as A,Uc as g,Wb as j,Yb as b,Zb as T,_b as d,bb as C,ea as $,fa as w,gb as z,hc as G,lc as U,oa as l,oc as k,qc as c,rc as h,sc as _,tb as M,wb as B,xb as R,yb as V,yc as y,zb as p}from"./chunk-HNWRQABR.js";var Q=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ee=["label","[prefix]","[suffix]"];function te(i,e){if(i&1&&U(0),i&2){let t=e.$implicit,n=b();k("",t.label,"",n.hasPerSecond()?"/s":"")}}var ne=[{value:"bytes",label:"Bytes"},{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],ie=["throttle-upload","throttle-download"],H=class i{customId=g();inputType=g();timespan=l(0);unit=l("MB");sizeOptions=l(ne);readonly=l(!1);hasPerSecond=m(()=>{let e=this.inputType();return e&&ie.includes(e)});onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});writeValue(e){if(e){let t=e.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);t?(this.timespan.set(parseInt(t[1],10)),this.unit.set(t[2].toUpperCase())):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ee,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(t,n){t&1&&(T(Q),u(0,"div",0),d(1,0,["ngProjectAs","label",5,["label"]]),s(),u(2,"sh-form-field")(3,"input",1),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(4,1),d(5,2),s(),u(6,"sh-select",2)(7,"input",3),_("ngModelChange",function(o){return h(n.unit,o)||(n.unit=o),o}),s(),z(8,te,1,2,"ng-template"),s()),t&2&&(a(2),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),G("--miw",0),p("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),a(),c("ngModel",n.unit))},dependencies:[Y,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};var oe=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ae=["label","[prefix]","[suffix]"];function se(i,e){if(i&1){let t=W();u(0,"button",7),j("click",function(){let r=$(t).$implicit,o=b();return w(o.updateUnit(r.value))}),I(1,1),s()}if(i&2){let t=e.$implicit;a(),F(t.label),A(1)}}var le=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],re=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],pe=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],K=class i{customId=g();inputType=g();timespan=l(0);#e="D";unit=l(this.#e);unitLabel=m(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=m(()=>{let e=this.inputType();return e&&pe.includes(e.replace("--",""))});timeOptions=m(()=>this.isShortTime()?le:re);readonly=l(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});inputTypeEffect=f(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,r=e.match(n);r?(this.timespan.set(parseInt(r[1],10)),this.unit.set(r[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ae,decls:11,vars:6,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator"],["shButton","","type","button",1,"trigger"],["menu",""],["shButton","","type","button",1,"small"],["shButton","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(T(oe),d(0,0,["ngProjectAs","label",5,["label"]]),u(1,"sh-form-field")(2,"input",2),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(3,1),d(4,2),s(),u(5,"sh-menu",3)(6,"button",4),I(7,0),s(),L(8,5),R(9,se,2,1,"button",6,B),x(),s()),t&2&&(a(),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),p("openIndicator",!0),a(2),F(n.unitLabel()),A(7),a(2),V(n.timeOptions()))},dependencies:[X,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{H as a,K as b};
@@ -1 +1 @@
1
- import{a as te}from"./chunk-6GC5VKTI.js";import{a as pt}from"./chunk-WWFNG47J.js";import"./chunk-QGFC5ZUR.js";import{a as Tt}from"./chunk-LZUM5XKC.js";import{a as gt}from"./chunk-JA7OQSO3.js";import"./chunk-XNVRJH42.js";import"./chunk-3UN32GIC.js";import"./chunk-OXOOR7I4.js";import{a as ct}from"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import{a as K}from"./chunk-66BSPEOQ.js";import"./chunk-CWBEE627.js";import{c as Q,e as Z,i as J,m as St,s as Y,t as ee}from"./chunk-USU2EHJV.js";import"./chunk-ZGAC2JKG.js";import{a as nt}from"./chunk-ETCRT3EV.js";import"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{A as _t,C as dt,a as H,b as W,e as it,g as q,k as ot,l as j,p as st,q as at,r as lt,t as rt}from"./chunk-WRNQOX5R.js";import{h as L}from"./chunk-J3BBLPAD.js";import"./chunk-B5FUQFEQ.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-73RDJP55.js";import{Ab as i,B as $,Bb as o,Cb as I,H as R,Jb as P,Oa as qe,Oc as D,Pc as G,Qb as X,Ra as r,Rb as V,Sb as l,Tb as se,Ub as ae,V as We,Vb as Ze,Vc as tt,Wb as g,Yb as S,_ as N,a as Ue,b as Be,bb as w,c as He,ea as u,ec as Je,fa as m,fc as Ye,gb as oe,hb as je,ic as M,lc as O,mc as z,n as b,nc as U,oa as c,qc as y,rb as Ke,rc as v,sb as Qe,sc as A,ub as C,vb as E,wc as et,zb as f,zc as B}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var Ct=["formRef"],Et=()=>[import("./chunk-2NU5Y4V7.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"sh-alert",3),l(1,1),o())}function ft(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){u(t);let _=S();return v(_.settings,a)||(_.settings=a),m(a)}),o()}if(s&2){let t=S();y("options",t.settings),f("hasFreeTextSettings",!0)}}var Mt=["Bytes","KB","MB","GB","TB","PB"],x=class s{#e=N(te);#t=N(L);formRef=tt.required("formRef");settings=c([]);isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(Mt);lastRecievedServerSettings=c({});serverSettingsEffect=G(()=>{let e=this.#e.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],_)=>{if(n.startsWith("--")){let T=n.substring(2);this.settings.update(p=>(p.some(h=>h.Name===T)||p.push({Name:T,Value:a}),p))}_===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(p=>p.Name),_=Object.keys(t).filter(p=>p.startsWith("--")).filter(p=>!n.includes(p.replace("--",""))),T=e.reduce((p,h)=>(p[`--${h.Name}`]=h.Value,p),{});_.forEach(p=>{T[p]=null}),this.#t.patchApiV1Serversettings({requestBody:T}).pipe(R(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Je(n.formRef,Ct,5),t&2&&Ye()},decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["shButton","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),C(1,Nt,2,0,"sh-alert",3),i(2,"button",4),g("click",function(){return n.submit()}),X(3,0),I(4,"sh-icon"),V(),o()(),je(5,ft,1,2),Ke(6,5,Et)),t&2&&(r(),E(n.saved()?1:-1),r(),M("loader",n.isSubmitting()),r(4),Qe(!n.isLoadingOptions()))},dependencies:[ee,q,H,W],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}"],changeDetection:0})};var F=class s{#e=N(it);#t=N(L);#o=N(K);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=D(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=G(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#n(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#n(n)})}#i(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#n(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#e.open(ct,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#n(n),error:n=>e.#i(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=We({token:s,factory:s.\u0275fac,providedIn:"root"})};function Pt(s,e){if(s&1){let t=P();i(0,"sh-form-field",10)(1,"input",11),A("ngModelChange",function(a){u(t);let _=S(2);return v(_.registerUrl,a)||(_.registerUrl=a),m(a)}),o()(),i(2,"button",12),g("click",function(){u(t);let a=S(2);return m(a.register())}),l(3,0),o()}if(s&2){let t=S(2);r(),y("ngModel",t.registerUrl)}}function Ot(s,e){if(s&1&&(i(0,"div",8)(1,"label"),l(2,1),o(),i(3,"a",13),O(4),o()()),s&2){let t=S(2);r(3),f("href",et(t.claimUrl()),qe),r(),z(t.claimUrl())}}function Rt(s,e){s&1&&(i(0,"div",8)(1,"label"),l(2,2),o()())}function It(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.cancel())}),l(1,3),o()}}function yt(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.disable())}),l(1,4),o()}}function vt(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.enable())}),l(1,5),o(),i(2,"button",14),g("click",function(){u(t);let a=S(2);return m(a.delete())}),l(3,6),o()}}function At(s,e){if(s&1&&(i(0,"div",7),C(1,Pt,4,1),C(2,Ot,5,3,"div",8),C(3,Rt,3,0,"div",8),C(4,It,2,0,"button",9),C(5,yt,2,0,"button",9),C(6,vt,4,0),o()),s&2){let t=S();r(),E(t.state()==="inactive"?1:-1),r(),E(t.state()==="registered"?2:-1),r(),E(t.state()==="registering"?3:-1),r(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),r(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),r(),E(t.state()==="disabled"?6:-1)}}var ne=class s{#e=N(F);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let _;_=$localize`Disable remote control`;let T;T=$localize`Enable remote control`;let p;return p=$localize`Delete remote control setup`,[e,t,n,a,_,T,p,[1,"field-row"],[1,"field-col"],["type","button","shButton","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","sh-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","shButton","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","shButton","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&C(0,At,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[Y,Q,Z,J,j],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function mt(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var re=()=>({standalone:!0});function Gt(s,e){s&1&&(i(0,"sh-icon",69),O(1,"check"),o())}function bt(s,e){s&1&&(i(0,"sh-icon",70),O(1,"prohibit"),o())}function $t(s,e){if(s&1){let t=P();i(0,"button",74),g("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,34),o()}if(s&2){let t=S(2);M("loader",t.isUpdating())}}function wt(s,e){if(s&1){let t=P();i(0,"button",75),g("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,35),o()}if(s&2){let t=S(2);M("loader",t.isUpdating()),f("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",65),l(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){u(t);let _=S();return v(_.passphrase,a)||(_.passphrase=a),m(a)}),o()(),i(4,"sh-form-field")(5,"label",67),l(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){u(t);let _=S();return v(_.repeatPassphrase,a)||(_.repeatPassphrase=a),m(a)}),o(),C(8,Gt,2,0,"sh-icon",69)(9,bt,2,0,"sh-icon",70),o(),i(10,"div",48)(11,"button",71),g("click",function(){u(t);let a=S();return m(a.cancelPasswordChange())}),l(12,33),o(),C(13,$t,2,2,"button",72)(14,wt,2,3,"button",73),o()}if(s&2){let t=S();r(3),y("ngModel",t.passphrase),r(4),f("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),r(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),r(3),M("loader",t.isUpdating()),r(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"sh-icon",76),O(1,"check"),o())}function Dt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),g("click",function(){u(t);let a=S();return m(a.openPassphraseForm())}),l(2,36),o(),C(3,Ft,2,0,"sh-icon",76),o()}if(s&2){let t=S();r(3),E(t.passwordUpdated()?3:-1)}}function xt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",77),l(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){u(t);let _=S();return v(_.allowedHostnames,a)||(_.allowedHostnames=a),m(a)}),o()(),i(4,"sh-alert",79),l(5,38),o(),i(6,"button",74),g("click",function(){u(t);let a=S();return m(a.updateAllowedHostnames())}),l(7,39),o()}if(s&2){let t=S();r(3),y("ngModel",t.allowedHostnames),r(3),M("loader",t.updatingAllowedHosts())}}function kt(s,e){if(s&1&&O(0),s&2){let t,n=S();U(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Xt(s,e){s&1&&I(0,"sh-progress-bar",53)}function Vt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;U(" ",t.label," ")}}function zt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;U(" ",t.label," ")}}function Ut(s,e,t){let n=mt(s),a=n[Ue];t?.equal&&(a.equal=t.equal);let _;return n.set=T=>{clearTimeout(_),_=setTimeout(()=>Be(a,T),e)},n.update=T=>{clearTimeout(_),_=setTimeout(()=>He(a,T),e)},n}var Bt=[{value:"none",label:$localize`None`},{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=N(gt);#t=N(K);#o=N(L);#n=N(te);#i=N(F);#s=N(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#i.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#o.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(R(()=>this.updatingChannel.set(!1)),$(()=>(this.updateChannel.set(t),b(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(R(()=>this.updatingRemoteAccess.set(!1)),$(()=>(this.allowRemoteAccess.set(e),b(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(R(()=>this.updatingAllowedHosts.set(!1)),$(()=>(this.allowedHostnames.set(e),b(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#o.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(R(()=>this.updatingDisableTrayIconLogin.set(!1)),$(()=>(this.disableTrayIconLogin.set(e),b(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(R(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(Tt);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Bt);timeType=c("none");timeValue=Ut(0,300);timeRange=D(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=G(()=>{let e=this.timeValue(),t=this.#n.serverSettings();!t||t["startup-delay"]===""&&this.timeType()==="none"||this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.timeValue(),t=this.timeType(),n="";t!=="none"&&e!==0&&(n=`${e}${t}`),this.#o.patchApiV1Serversettings({requestBody:{"startup-delay":n}}).subscribe()}updateTimeType(e){this.timeType()==="none"&&this.timeValue.set(0),this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(R(()=>this.updatingUsageStatistics.set(!1)),$(()=>(this.usageStatistics.set(t),b(null)))).subscribe())}serverSettingsEffect=G(()=>{let e=this.#n.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),_=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(t==""?"none":_.includes(n)?n:"none"),this.timeValue.set(t==""?0:parseInt(a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-settings"]],decls:132,vars:46,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let _;_=$localize`Customize your application theme`;let T;T=$localize`Passwords`;let p;p=$localize`Change server passphrase`;let h;h=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let Se;Se=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let ge;ge=$localize`Allow remote access`;let pe;pe=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ne;Ne=$localize`Stable`;let fe;fe=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let ve;ve=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let k;k=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,k=Ze(k);let Ge;Ge=$localize`Advanced options`;let be;be=$localize`Enter new password`;let $e;$e=$localize`Repeat password`;let ie;ie=$localize`Password have to be filled and have to match`;let we;we=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let De;De=$localize` Update passphrase `;let xe;xe=$localize` Update passphrase `;let ke;ke=$localize`Change password`;let Xe;Xe=$localize`Allowed hostnames`;let Ve;Ve=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let ze;return ze=$localize` Update allowed hostnames `,[e,t,n,a,_,T,p,h,de,ce,Se,ge,pe,Te,ue,me,Ce,Ee,Ne,fe,Me,he,Pe,Oe,Re,Ie,ye,ve,Ae,k,Ge,we,Le,Fe,De,xe,ke,Xe,Ve,ze,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"ngModelChange","min","max","disabled","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",be,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",$e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loader"],["shButton","","shTooltip",ie,1,"raised","primary",3,"loader","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",ie,1,"raised","primary",3,"click","disabled"],[1,"sh-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(I(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),l(5,0),o(),i(6,"p"),l(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),l(11,2),o(),i(12,"p"),O(13),o()(),i(14,"div",43),I(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),l(19,3),o(),i(20,"p"),l(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),g("click",function(){return n.setLightMode()}),o(),i(25,"img",46),g("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),l(29,5),o(),i(30,"p"),l(31,6),o()(),i(32,"div",47),C(33,Lt,15,7)(34,Dt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),l(38,7),o(),i(39,"p"),l(40,8),o()(),i(41,"div",43)(42,"sh-select",49)(43,"input",50),g("ngModelChange",function(_){return n.updateLocale(_)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),l(47,9),o(),i(48,"p"),l(49,10),o()(),i(50,"div",51)(51,"sh-toggle",52),g("click",function(){return n.updateRemoteAccess()}),i(52,"label"),l(53,11),o()(),C(54,xt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),l(58,12),o(),i(59,"p"),l(60,13),o()(),i(61,"div",43)(62,"sh-toggle",52),g("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),l(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),l(68,15),o(),i(69,"p"),C(70,kt,1,1),o(),C(71,Xt,1,0,"sh-progress-bar",53),o(),i(72,"div",54)(73,"div",55),g("click",function(){return n.setNewChannel("")}),i(74,"sh-radio",56),l(75,16),o(),i(76,"p"),l(77,17),o()(),i(78,"div",55),g("click",function(){return n.setNewChannel("stable")}),i(79,"sh-radio",56),l(80,18),o(),i(81,"p"),l(82,19),o()(),i(83,"div",55),g("click",function(){return n.setNewChannel("beta")}),i(84,"sh-radio",56),l(85,20),o(),i(86,"p"),l(87,21),o()(),i(88,"div",55),g("click",function(){return n.setNewChannel("experimental")}),i(89,"sh-radio",56),l(90,22),o(),i(91,"p"),l(92,23),o()(),i(93,"div",55),g("click",function(){return n.setNewChannel("canary")}),i(94,"sh-radio",56),l(95,24),o(),i(96,"p"),l(97,25),o()()()()(),I(98,"sh-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),l(103,26),o(),i(104,"p"),l(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"sh-range-slider",58)(109,"input",59),A("ngModelChange",function(_){return v(n.timeValue,_)||(n.timeValue=_),_}),o()(),i(110,"sh-select",60)(111,"input",61),g("ngModelChange",function(_){return n.updateTimeType(_)}),o(),oe(112,Vt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),l(116,28),o(),i(117,"p"),X(118,29),I(119,"a",62)(120,"br")(121,"br"),V(),o()(),i(122,"div",43)(123,"sh-select",63)(124,"input",50),g("ngModelChange",function(_){return n.updateUsageStatistics(_)}),o(),oe(125,zt,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),l(130,30),o(),I(131,"app-advanced-options-settings"),o()()()),t&2){let a,_,T;r(13),z(n.remoteControlStatus()),r(11),M("active",!n.isDarkMode()),r(),M("active",n.isDarkMode()),r(8),E(n.showPassphraseForm()?33:34),r(9),f("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),r(),f("ngModel",n.langCtrl())("ngModelOptions",B(43,re)),r(8),M("active",n.allowRemoteAccess()),r(3),E(n.allowRemoteAccess()?54:-1),r(8),M("active",n.disableTrayIconLogin()),r(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),r(),E(n.updatingChannel()?71:-1),r(3),M("active",n.updateChannel()===""),r(),se((_=n.sysinfo())==null?null:_.DefaultUpdateChannel),ae(75),r(2),se((T=n.sysinfo())==null?null:T.ServerVersionType),ae(77),r(2),M("active",n.updateChannel()==="stable"),r(5),M("active",n.updateChannel()==="beta"),r(5),M("active",n.updateChannel()==="experimental"),r(5),M("active",n.updateChannel()==="canary"),r(14),f("unit",n.timeType()==="none"?"s":n.timeType()),r(),f("min",n.timeRange()[0])("max",n.timeRange()[1])("disabled",n.timeType()==="none"),y("ngModel",n.timeValue),f("ngModelOptions",B(44,re)),r(),f("options",n.timeTypeOptions())("isClearable",!1),r(),f("ngModel",n.timeType()),r(12),f("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),r(),f("ngModel",n.usageStatistics())("ngModelOptions",B(45,re))}},dependencies:[Y,Q,St,Z,J,ee,pt,ne,x,q,at,lt,st,_t,dt,j,H,ot,W,rt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;background:var(--base-1);border-bottom:1px solid var(--base-4)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-4)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:15rem;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] sh-radio[_ngcontent-%COMP%]{color:var(--base-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Ut as debounceSignal,_e as default};
1
+ import{a as te}from"./chunk-7IQY6U5W.js";import{a as pt}from"./chunk-NJEX2N4Q.js";import"./chunk-O64ZZGQZ.js";import{a as Tt}from"./chunk-4TDUWDRL.js";import{a as gt}from"./chunk-EBIM5FBM.js";import"./chunk-6LTGTS6B.js";import"./chunk-DVDTYV66.js";import"./chunk-UIJYCGKA.js";import{a as ct}from"./chunk-DELLEGXW.js";import"./chunk-RHW5QVAY.js";import{a as K}from"./chunk-VTSUHAP5.js";import"./chunk-UP5EOICU.js";import{c as Q,e as Z,i as J,m as St,s as Y,t as ee}from"./chunk-N5SC4SKW.js";import"./chunk-Z3EPZZGY.js";import{a as nt}from"./chunk-UKQFDBNO.js";import"./chunk-LVP2TPMO.js";import"./chunk-43JMN2ZY.js";import{A as _t,C as dt,a as H,b as W,e as it,g as q,k as ot,l as j,p as st,q as at,r as lt,t as rt}from"./chunk-H7K35UUX.js";import{h as L}from"./chunk-NOPMCS2Z.js";import"./chunk-TDKBGGNK.js";import"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import"./chunk-6OPAGPKF.js";import{Ab as i,B as $,Bb as o,Cb as I,H as R,Jb as P,Oa as qe,Oc as D,Pc as G,Qb as X,Ra as r,Rb as V,Sb as l,Tb as se,Ub as ae,V as We,Vb as Ze,Vc as tt,Wb as g,Yb as S,_ as N,a as Ue,b as Be,bb as w,c as He,ea as u,ec as Je,fa as m,fc as Ye,gb as oe,hb as je,ic as M,lc as O,mc as z,n as b,nc as U,oa as c,qc as y,rb as Ke,rc as v,sb as Qe,sc as A,ub as C,vb as E,wc as et,zb as f,zc as B}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";var Ct=["formRef"],Et=()=>[import("./chunk-DFMPWF6R.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"sh-alert",3),l(1,1),o())}function ft(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){u(t);let _=S();return v(_.settings,a)||(_.settings=a),m(a)}),o()}if(s&2){let t=S();y("options",t.settings),f("hasFreeTextSettings",!0)}}var Mt=["Bytes","KB","MB","GB","TB","PB"],x=class s{#e=N(te);#t=N(L);formRef=tt.required("formRef");settings=c([]);isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(Mt);lastRecievedServerSettings=c({});serverSettingsEffect=G(()=>{let e=this.#e.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],_)=>{if(n.startsWith("--")){let T=n.substring(2);this.settings.update(p=>(p.some(h=>h.Name===T)||p.push({Name:T,Value:a}),p))}_===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(p=>p.Name),_=Object.keys(t).filter(p=>p.startsWith("--")).filter(p=>!n.includes(p.replace("--",""))),T=e.reduce((p,h)=>(p[`--${h.Name}`]=h.Value,p),{});_.forEach(p=>{T[p]=null}),this.#t.patchApiV1Serversettings({requestBody:T}).pipe(R(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Je(n.formRef,Ct,5),t&2&&Ye()},decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["shButton","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),C(1,Nt,2,0,"sh-alert",3),i(2,"button",4),g("click",function(){return n.submit()}),X(3,0),I(4,"sh-icon"),V(),o()(),je(5,ft,1,2),Ke(6,5,Et)),t&2&&(r(),E(n.saved()?1:-1),r(),M("loader",n.isSubmitting()),r(4),Qe(!n.isLoadingOptions()))},dependencies:[ee,q,H,W],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}"],changeDetection:0})};var F=class s{#e=N(it);#t=N(L);#o=N(K);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=D(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=G(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#n(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#n(n)})}#i(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#n(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#e.open(ct,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#n(n),error:n=>e.#i(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=We({token:s,factory:s.\u0275fac,providedIn:"root"})};function Pt(s,e){if(s&1){let t=P();i(0,"sh-form-field",10)(1,"input",11),A("ngModelChange",function(a){u(t);let _=S(2);return v(_.registerUrl,a)||(_.registerUrl=a),m(a)}),o()(),i(2,"button",12),g("click",function(){u(t);let a=S(2);return m(a.register())}),l(3,0),o()}if(s&2){let t=S(2);r(),y("ngModel",t.registerUrl)}}function Ot(s,e){if(s&1&&(i(0,"div",8)(1,"label"),l(2,1),o(),i(3,"a",13),O(4),o()()),s&2){let t=S(2);r(3),f("href",et(t.claimUrl()),qe),r(),z(t.claimUrl())}}function Rt(s,e){s&1&&(i(0,"div",8)(1,"label"),l(2,2),o()())}function It(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.cancel())}),l(1,3),o()}}function yt(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.disable())}),l(1,4),o()}}function vt(s,e){if(s&1){let t=P();i(0,"button",12),g("click",function(){u(t);let a=S(2);return m(a.enable())}),l(1,5),o(),i(2,"button",14),g("click",function(){u(t);let a=S(2);return m(a.delete())}),l(3,6),o()}}function At(s,e){if(s&1&&(i(0,"div",7),C(1,Pt,4,1),C(2,Ot,5,3,"div",8),C(3,Rt,3,0,"div",8),C(4,It,2,0,"button",9),C(5,yt,2,0,"button",9),C(6,vt,4,0),o()),s&2){let t=S();r(),E(t.state()==="inactive"?1:-1),r(),E(t.state()==="registered"?2:-1),r(),E(t.state()==="registering"?3:-1),r(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),r(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),r(),E(t.state()==="disabled"?6:-1)}}var ne=class s{#e=N(F);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let _;_=$localize`Disable remote control`;let T;T=$localize`Enable remote control`;let p;return p=$localize`Delete remote control setup`,[e,t,n,a,_,T,p,[1,"field-row"],[1,"field-col"],["type","button","shButton","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","sh-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","shButton","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","shButton","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&C(0,At,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[Y,Q,Z,J,j],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function mt(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var re=()=>({standalone:!0});function Gt(s,e){s&1&&(i(0,"sh-icon",69),O(1,"check"),o())}function bt(s,e){s&1&&(i(0,"sh-icon",70),O(1,"prohibit"),o())}function $t(s,e){if(s&1){let t=P();i(0,"button",74),g("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,34),o()}if(s&2){let t=S(2);M("loader",t.isUpdating())}}function wt(s,e){if(s&1){let t=P();i(0,"button",75),g("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,35),o()}if(s&2){let t=S(2);M("loader",t.isUpdating()),f("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",65),l(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){u(t);let _=S();return v(_.passphrase,a)||(_.passphrase=a),m(a)}),o()(),i(4,"sh-form-field")(5,"label",67),l(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){u(t);let _=S();return v(_.repeatPassphrase,a)||(_.repeatPassphrase=a),m(a)}),o(),C(8,Gt,2,0,"sh-icon",69)(9,bt,2,0,"sh-icon",70),o(),i(10,"div",48)(11,"button",71),g("click",function(){u(t);let a=S();return m(a.cancelPasswordChange())}),l(12,33),o(),C(13,$t,2,2,"button",72)(14,wt,2,3,"button",73),o()}if(s&2){let t=S();r(3),y("ngModel",t.passphrase),r(4),f("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),r(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),r(3),M("loader",t.isUpdating()),r(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"sh-icon",76),O(1,"check"),o())}function Dt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),g("click",function(){u(t);let a=S();return m(a.openPassphraseForm())}),l(2,36),o(),C(3,Ft,2,0,"sh-icon",76),o()}if(s&2){let t=S();r(3),E(t.passwordUpdated()?3:-1)}}function xt(s,e){if(s&1){let t=P();i(0,"sh-form-field")(1,"label",77),l(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){u(t);let _=S();return v(_.allowedHostnames,a)||(_.allowedHostnames=a),m(a)}),o()(),i(4,"sh-alert",79),l(5,38),o(),i(6,"button",74),g("click",function(){u(t);let a=S();return m(a.updateAllowedHostnames())}),l(7,39),o()}if(s&2){let t=S();r(3),y("ngModel",t.allowedHostnames),r(3),M("loader",t.updatingAllowedHosts())}}function kt(s,e){if(s&1&&O(0),s&2){let t,n=S();U(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Xt(s,e){s&1&&I(0,"sh-progress-bar",53)}function Vt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;U(" ",t.label," ")}}function zt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;U(" ",t.label," ")}}function Ut(s,e,t){let n=mt(s),a=n[Ue];t?.equal&&(a.equal=t.equal);let _;return n.set=T=>{clearTimeout(_),_=setTimeout(()=>Be(a,T),e)},n.update=T=>{clearTimeout(_),_=setTimeout(()=>He(a,T),e)},n}var Bt=[{value:"none",label:$localize`None`},{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=N(gt);#t=N(K);#o=N(L);#n=N(te);#i=N(F);#s=N(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#i.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#o.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(R(()=>this.updatingChannel.set(!1)),$(()=>(this.updateChannel.set(t),b(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(R(()=>this.updatingRemoteAccess.set(!1)),$(()=>(this.allowRemoteAccess.set(e),b(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(R(()=>this.updatingAllowedHosts.set(!1)),$(()=>(this.allowedHostnames.set(e),b(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#o.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(R(()=>this.updatingDisableTrayIconLogin.set(!1)),$(()=>(this.disableTrayIconLogin.set(e),b(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(R(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(Tt);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Bt);timeType=c("none");timeValue=Ut(0,300);timeRange=D(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=G(()=>{let e=this.timeValue(),t=this.#n.serverSettings();!t||t["startup-delay"]===""&&this.timeType()==="none"||this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.timeValue(),t=this.timeType(),n="";t!=="none"&&e!==0&&(n=`${e}${t}`),this.#o.patchApiV1Serversettings({requestBody:{"startup-delay":n}}).subscribe()}updateTimeType(e){this.timeType()==="none"&&this.timeValue.set(0),this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(R(()=>this.updatingUsageStatistics.set(!1)),$(()=>(this.usageStatistics.set(t),b(null)))).subscribe())}serverSettingsEffect=G(()=>{let e=this.#n.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),_=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(t==""?"none":_.includes(n)?n:"none"),this.timeValue.set(t==""?0:parseInt(a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-settings"]],decls:132,vars:46,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let _;_=$localize`Customize your application theme`;let T;T=$localize`Passwords`;let p;p=$localize`Change server passphrase`;let h;h=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let Se;Se=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let ge;ge=$localize`Allow remote access`;let pe;pe=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ne;Ne=$localize`Stable`;let fe;fe=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let ve;ve=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let k;k=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,k=Ze(k);let Ge;Ge=$localize`Advanced options`;let be;be=$localize`Enter new password`;let $e;$e=$localize`Repeat password`;let ie;ie=$localize`Password have to be filled and have to match`;let we;we=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let De;De=$localize` Update passphrase `;let xe;xe=$localize` Update passphrase `;let ke;ke=$localize`Change password`;let Xe;Xe=$localize`Allowed hostnames`;let Ve;Ve=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let ze;return ze=$localize` Update allowed hostnames `,[e,t,n,a,_,T,p,h,de,ce,Se,ge,pe,Te,ue,me,Ce,Ee,Ne,fe,Me,he,Pe,Oe,Re,Ie,ye,ve,Ae,k,Ge,we,Le,Fe,De,xe,ke,Xe,Ve,ze,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"ngModelChange","min","max","disabled","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",be,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",$e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loader"],["shButton","","shTooltip",ie,1,"raised","primary",3,"loader","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",ie,1,"raised","primary",3,"click","disabled"],[1,"sh-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(I(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),l(5,0),o(),i(6,"p"),l(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),l(11,2),o(),i(12,"p"),O(13),o()(),i(14,"div",43),I(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),l(19,3),o(),i(20,"p"),l(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),g("click",function(){return n.setLightMode()}),o(),i(25,"img",46),g("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),l(29,5),o(),i(30,"p"),l(31,6),o()(),i(32,"div",47),C(33,Lt,15,7)(34,Dt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),l(38,7),o(),i(39,"p"),l(40,8),o()(),i(41,"div",43)(42,"sh-select",49)(43,"input",50),g("ngModelChange",function(_){return n.updateLocale(_)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),l(47,9),o(),i(48,"p"),l(49,10),o()(),i(50,"div",51)(51,"sh-toggle",52),g("click",function(){return n.updateRemoteAccess()}),i(52,"label"),l(53,11),o()(),C(54,xt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),l(58,12),o(),i(59,"p"),l(60,13),o()(),i(61,"div",43)(62,"sh-toggle",52),g("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),l(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),l(68,15),o(),i(69,"p"),C(70,kt,1,1),o(),C(71,Xt,1,0,"sh-progress-bar",53),o(),i(72,"div",54)(73,"div",55),g("click",function(){return n.setNewChannel("")}),i(74,"sh-radio",56),l(75,16),o(),i(76,"p"),l(77,17),o()(),i(78,"div",55),g("click",function(){return n.setNewChannel("stable")}),i(79,"sh-radio",56),l(80,18),o(),i(81,"p"),l(82,19),o()(),i(83,"div",55),g("click",function(){return n.setNewChannel("beta")}),i(84,"sh-radio",56),l(85,20),o(),i(86,"p"),l(87,21),o()(),i(88,"div",55),g("click",function(){return n.setNewChannel("experimental")}),i(89,"sh-radio",56),l(90,22),o(),i(91,"p"),l(92,23),o()(),i(93,"div",55),g("click",function(){return n.setNewChannel("canary")}),i(94,"sh-radio",56),l(95,24),o(),i(96,"p"),l(97,25),o()()()()(),I(98,"sh-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),l(103,26),o(),i(104,"p"),l(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"sh-range-slider",58)(109,"input",59),A("ngModelChange",function(_){return v(n.timeValue,_)||(n.timeValue=_),_}),o()(),i(110,"sh-select",60)(111,"input",61),g("ngModelChange",function(_){return n.updateTimeType(_)}),o(),oe(112,Vt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),l(116,28),o(),i(117,"p"),X(118,29),I(119,"a",62)(120,"br")(121,"br"),V(),o()(),i(122,"div",43)(123,"sh-select",63)(124,"input",50),g("ngModelChange",function(_){return n.updateUsageStatistics(_)}),o(),oe(125,zt,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),l(130,30),o(),I(131,"app-advanced-options-settings"),o()()()),t&2){let a,_,T;r(13),z(n.remoteControlStatus()),r(11),M("active",!n.isDarkMode()),r(),M("active",n.isDarkMode()),r(8),E(n.showPassphraseForm()?33:34),r(9),f("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),r(),f("ngModel",n.langCtrl())("ngModelOptions",B(43,re)),r(8),M("active",n.allowRemoteAccess()),r(3),E(n.allowRemoteAccess()?54:-1),r(8),M("active",n.disableTrayIconLogin()),r(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),r(),E(n.updatingChannel()?71:-1),r(3),M("active",n.updateChannel()===""),r(),se((_=n.sysinfo())==null?null:_.DefaultUpdateChannel),ae(75),r(2),se((T=n.sysinfo())==null?null:T.ServerVersionType),ae(77),r(2),M("active",n.updateChannel()==="stable"),r(5),M("active",n.updateChannel()==="beta"),r(5),M("active",n.updateChannel()==="experimental"),r(5),M("active",n.updateChannel()==="canary"),r(14),f("unit",n.timeType()==="none"?"s":n.timeType()),r(),f("min",n.timeRange()[0])("max",n.timeRange()[1])("disabled",n.timeType()==="none"),y("ngModel",n.timeValue),f("ngModelOptions",B(44,re)),r(),f("options",n.timeTypeOptions())("isClearable",!1),r(),f("ngModel",n.timeType()),r(12),f("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),r(),f("ngModel",n.usageStatistics())("ngModelOptions",B(45,re))}},dependencies:[Y,Q,St,Z,J,ee,pt,ne,x,q,at,lt,st,_t,dt,j,H,ot,W,rt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;background:var(--base-1);border-bottom:1px solid var(--base-4)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-4)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:15rem;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-8)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] sh-radio[_ngcontent-%COMP%]{color:var(--base-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Ut as debounceSignal,_e as default};