@techdocs/cli 1.8.2-next.2 → 1.8.2-next.3

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 (66) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/embedded-app/.config-schema.json +93 -93
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/static/2000.e59f95de.chunk.js +5 -0
  5. package/dist/embedded-app/static/2000.e59f95de.chunk.js.map +1 -0
  6. package/dist/embedded-app/static/2136.04b92ddc.chunk.js +5 -0
  7. package/dist/embedded-app/static/2136.04b92ddc.chunk.js.map +1 -0
  8. package/dist/embedded-app/static/2604.82403d28.chunk.js +5 -0
  9. package/dist/embedded-app/static/2604.82403d28.chunk.js.map +1 -0
  10. package/dist/embedded-app/static/{3216.ac631978.chunk.js → 3216.2ad91911.chunk.js} +2 -2
  11. package/dist/embedded-app/static/{3216.ac631978.chunk.js.map → 3216.2ad91911.chunk.js.map} +1 -1
  12. package/dist/embedded-app/static/{3472.d6c98551.chunk.js → 3472.083d3a54.chunk.js} +2 -2
  13. package/dist/embedded-app/static/{3472.d6c98551.chunk.js.map → 3472.083d3a54.chunk.js.map} +1 -1
  14. package/dist/embedded-app/static/4256.28999c0e.chunk.js +5 -0
  15. package/dist/embedded-app/static/4256.28999c0e.chunk.js.map +1 -0
  16. package/dist/embedded-app/static/496.fa9edfbf.chunk.js +5 -0
  17. package/dist/embedded-app/static/{2136.ba64702c.chunk.js.map → 496.fa9edfbf.chunk.js.map} +1 -1
  18. package/dist/embedded-app/static/{356.9eae4154.chunk.js → 636.6da734d7.chunk.js} +3 -3
  19. package/dist/embedded-app/static/636.6da734d7.chunk.js.map +1 -0
  20. package/dist/embedded-app/static/72.86c6077c.chunk.js +5 -0
  21. package/dist/embedded-app/static/72.86c6077c.chunk.js.map +1 -0
  22. package/dist/embedded-app/static/732.ba37d04a.chunk.js +5 -0
  23. package/dist/embedded-app/static/732.ba37d04a.chunk.js.map +1 -0
  24. package/dist/embedded-app/static/736.aa1a24e1.chunk.js +3 -0
  25. package/dist/embedded-app/static/736.aa1a24e1.chunk.js.map +1 -0
  26. package/dist/embedded-app/static/7380.48342232.chunk.js +5 -0
  27. package/dist/embedded-app/static/7380.48342232.chunk.js.map +1 -0
  28. package/dist/embedded-app/static/main.fe153bbe.js +495 -0
  29. package/dist/embedded-app/static/main.fe153bbe.js.map +1 -0
  30. package/dist/embedded-app/static/module-react-router-dom.dd995f7e.js +22 -0
  31. package/dist/embedded-app/static/module-react-router-dom.dd995f7e.js.map +1 -0
  32. package/dist/embedded-app/static/module-react-router.07bc98eb.js +22 -0
  33. package/dist/embedded-app/static/module-react-router.07bc98eb.js.map +1 -0
  34. package/dist/embedded-app/static/{runtime.a5edb6db.js → runtime.fe153bbe.js} +3 -3
  35. package/dist/embedded-app/static/runtime.fe153bbe.js.map +1 -0
  36. package/dist/embedded-app/static/vendor.fe153bbe.js +163 -0
  37. package/dist/embedded-app/static/vendor.fe153bbe.js.map +1 -0
  38. package/dist/index.cjs.js +1 -1
  39. package/package.json +4 -4
  40. package/dist/embedded-app/static/2000.29c21849.chunk.js +0 -5
  41. package/dist/embedded-app/static/2000.29c21849.chunk.js.map +0 -1
  42. package/dist/embedded-app/static/2136.ba64702c.chunk.js +0 -5
  43. package/dist/embedded-app/static/2604.e7dcd742.chunk.js +0 -5
  44. package/dist/embedded-app/static/2604.e7dcd742.chunk.js.map +0 -1
  45. package/dist/embedded-app/static/356.9eae4154.chunk.js.map +0 -1
  46. package/dist/embedded-app/static/4256.3a3f74a4.chunk.js +0 -5
  47. package/dist/embedded-app/static/4256.3a3f74a4.chunk.js.map +0 -1
  48. package/dist/embedded-app/static/496.cfeba817.chunk.js +0 -5
  49. package/dist/embedded-app/static/496.cfeba817.chunk.js.map +0 -1
  50. package/dist/embedded-app/static/72.9a3dbf13.chunk.js +0 -5
  51. package/dist/embedded-app/static/72.9a3dbf13.chunk.js.map +0 -1
  52. package/dist/embedded-app/static/732.1ba465ce.chunk.js +0 -5
  53. package/dist/embedded-app/static/732.1ba465ce.chunk.js.map +0 -1
  54. package/dist/embedded-app/static/7380.13fba490.chunk.js +0 -5
  55. package/dist/embedded-app/static/7380.13fba490.chunk.js.map +0 -1
  56. package/dist/embedded-app/static/9892.775e589e.chunk.js +0 -3
  57. package/dist/embedded-app/static/9892.775e589e.chunk.js.map +0 -1
  58. package/dist/embedded-app/static/main.a5edb6db.js +0 -495
  59. package/dist/embedded-app/static/main.a5edb6db.js.map +0 -1
  60. package/dist/embedded-app/static/module-react-router-dom.139b0dd8.js +0 -22
  61. package/dist/embedded-app/static/module-react-router-dom.139b0dd8.js.map +0 -1
  62. package/dist/embedded-app/static/module-react-router.5cd3c8c6.js +0 -22
  63. package/dist/embedded-app/static/module-react-router.5cd3c8c6.js.map +0 -1
  64. package/dist/embedded-app/static/runtime.a5edb6db.js.map +0 -1
  65. package/dist/embedded-app/static/vendor.a5edb6db.js +0 -164
  66. package/dist/embedded-app/static/vendor.a5edb6db.js.map +0 -1
@@ -0,0 +1,495 @@
1
+ (()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[1590],{52300:function(Z,T,t){"use strict";t.d(T,{q:function(){return o}});const o=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111")},14764:function(Z,T,t){"use strict";t.d(T,{IV:function(){return o},qt:function(){return i},s1:function(){return u}});const o="default",i="backstage.io/view-url",u="backstage.io/edit-url",A="kubernetes.io/api-server",m="kubernetes.io/api-server-certificate-authority",f="kubernetes.io/auth-provider"},83856:function(Z,T,t){"use strict";t.d(T,{WK:function(){return A},cZ:function(){return u},gH:function(){return m}});var o=t(14764);function i(f){let c=f.indexOf(":");const d=f.indexOf("/");d!==-1&&d<c&&(c=-1);const C=c===-1?void 0:f.slice(0,c),E=d===-1?void 0:f.slice(c+1,d),w=f.slice(Math.max(c+1,d+1));if(C===""||E===""||w==="")throw new TypeError(`Entity reference "${f}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:C,namespace:E,name:w}}function u(f){return{kind:f.kind,namespace:f.metadata.namespace||o.IV,name:f.metadata.name}}function A(f,c){if(!f)throw new Error("Entity reference must not be empty");const d=c==null?void 0:c.defaultKind,C=(c==null?void 0:c.defaultNamespace)||o.IV;let E,w,v;if(typeof f=="string"){const y=i(f);var O;E=(O=y.kind)!==null&&O!==void 0?O:d;var g;w=(g=y.namespace)!==null&&g!==void 0?g:C,v=y.name}else{var I;E=(I=f.kind)!==null&&I!==void 0?I:d;var P;w=(P=f.namespace)!==null&&P!==void 0?P:C,v=f.name}if(E)if(w){if(!v){const y=JSON.stringify(f);throw new Error(`Entity reference ${y} had missing or empty name`)}}else{const y=JSON.stringify(f);throw new Error(`Entity reference ${y} had missing or empty namespace`)}else{const y=JSON.stringify(f);throw new Error(`Entity reference ${y} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:E,namespace:w,name:v}}function m(f){let c,d,C;if("metadata"in f){c=f.kind;var E;d=(E=f.metadata.namespace)!==null&&E!==void 0?E:o.IV,C=f.metadata.name}else{c=f.kind;var w;d=(w=f.namespace)!==null&&w!==void 0?w:o.IV,C=f.name}return`${c.toLocaleLowerCase("en-US")}:${d.toLocaleLowerCase("en-US")}/${C.toLocaleLowerCase("en-US")}`}},89576:function(Z,T,t){"use strict";t.d(T,{QD:function(){return O},WG:function(){return g},a0:function(){return c},ag:function(){return o},o3:function(){return d}});const o="ownedBy",i="ownerOf",u="consumesApi",A="apiConsumedBy",m="providesApi",f="apiProvidedBy",c="dependsOn",d="dependencyOf",C="parentOf",E="childOf",w="memberOf",v="hasMember",O="partOf",g="hasPart"},7836:function(Z,T,t){"use strict";t.d(T,{Eg:function(){return o},mM:function(){return u}});const o="backstage.io/managed-by-location",i="backstage.io/managed-by-origin-location",u="backstage.io/source-location"},12644:function(Z,T,t){"use strict";t.d(T,{EF:function(){return m},MF:function(){return f},W:function(){return A}});var o=t(83856),i=t(7836);const u=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;function A(c){if(typeof c!="string")throw new TypeError(`Unable to parse location ref '${c}', unexpected argument ${typeof c}`);const d=c.indexOf(":");if(d<0)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const C=c.substring(0,d).trim(),E=c.substring(d+1).trim();if(!C||!E)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(C==="http"||C==="https")throw new TypeError(`Invalid location ref '${c}', please prefix it with 'url:', e.g. 'url:${c}'`);if(u.test(E))throw new TypeError(`Invalid location ref '${c}', target is a javascript: URL`);return{type:C,target:E}}function m(c){const{type:d,target:C}=c;if(d){if(!C)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");if(u.test(C))throw new TypeError(`Invalid location ref '${d}:${C}', target is a javascript: URL`);return`${d}:${C}`}function f(c){var d,C,E,w,v;const O=(v=(C=c.metadata)===null||C===void 0||(d=C.annotations)===null||d===void 0?void 0:d[i.mM])!==null&&v!==void 0?v:(w=c.metadata)===null||w===void 0||(E=w.annotations)===null||E===void 0?void 0:E[i.Eg];if(!O)throw new Error(`Entity '${(0,o.gH)(c)}' is missing location`);return A(O)}},43932:function(Z,T,t){"use strict";t.d(T,{U:function(){return C}});var o=t(77e3),i=t(33584),u=t(76048),A=t(85668),m=t(91872),f=t(56672),c=t(67264),d=t(89140);function C(E){const{text:w,language:v,showLineNumbers:O=!1,highlightedNumbers:g,customStyle:I,showCopyCodeButton:P=!1}=E,y=(0,u.c)(),D=y.palette.type==="dark"?f.c:c.c,M=y.palette.type==="dark"?"#256bf3":"#e6ffed";return(0,o.jsxs)(i.c,{position:"relative",children:[(0,o.jsx)(m.c,{customStyle:I,language:v,style:D,showLineNumbers:O,wrapLines:!0,lineNumberStyle:{color:y.palette.textVerySubtle},lineProps:b=>g!=null&&g.includes(b)?{style:{backgroundColor:M}}:{},children:w}),P&&(0,o.jsx)(i.c,{position:"absolute",top:0,right:0,children:(0,o.jsx)(d.s,{text:w})})]})}},89140:function(Z,T,t){"use strict";t.d(T,{s:function(){return C}});var o=t(77e3),i=t(15940),u=t(63908),A=t(67256),m=t(87648),f=t(44128),c=t(85668),d=t(66860);function C(E){const{text:w,tooltipDelay:v=1e3,tooltipText:O="Text copied to clipboard","aria-label":g="Copy text"}=E,I=(0,i.yk)(u.m),[P,y]=(0,c.useState)(!1),[{error:D},M]=(0,d.c)();(0,c.useEffect)(()=>{D&&I.post(D)},[D,I]);const b=H=>{H.stopPropagation(),y(!0),M(w)};return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(m.cp,{id:"copy-test-tooltip",title:O,placement:"top",leaveDelay:v,onClose:()=>y(!1),open:P,children:(0,o.jsx)(A.c,{onClick:b,"aria-label":g,children:(0,o.jsx)(f.c,{})})})})}},27284:function(Z,T,t){"use strict";t.d(T,{o:function(){return O}});var o=t(77e3),i=t(19947),u=t(40476),A=t(94700),m=t(85668),f=t.p+"static/missingAnnotation.67f79e98..svg",c=t.p+"static/noInformation.4b426325..svg",d=t.p+"static/createComponent.975d1e1e..svg",C=t.p+"static/noBuild.1715fa71..svg";const E=(0,u.c)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),w=({missing:g})=>{const I=E();switch(g){case"field":return(0,o.jsx)("img",{src:f,className:I.generalImg,alt:"annotation is missing"});case"info":return(0,o.jsx)("img",{src:c,alt:"no Information",className:I.generalImg});case"content":return(0,o.jsx)("img",{src:d,alt:"create Component",className:I.generalImg});case"data":return(0,o.jsx)("img",{src:C,alt:"no Build",className:I.generalImg});default:return null}},v=(0,u.c)(g=>({root:{backgroundColor:g.palette.background.default,padding:g.spacing(2,0,0,0)},action:{marginTop:g.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function O(g){const{title:I,description:P,missing:y,action:D}=g,M=v();return(0,o.jsxs)(i.c,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:M.root,spacing:2,children:[(0,o.jsx)(i.c,{item:!0,xs:12,md:6,children:(0,o.jsxs)(i.c,{container:!0,direction:"column",children:[(0,o.jsx)(i.c,{item:!0,xs:!0,children:(0,o.jsx)(A.c,{variant:"h5",children:I})}),(0,o.jsx)(i.c,{item:!0,xs:!0,children:(0,o.jsx)(A.c,{variant:"body1",children:P})}),(0,o.jsx)(i.c,{item:!0,xs:!0,className:M.action,children:D})]})}),(0,o.jsx)(i.c,{item:!0,xs:12,md:6,className:M.imageContainer,children:typeof y=="string"?(0,o.jsx)(w,{missing:y}):y.customImage})]})}},89940:function(Z,T,t){"use strict";t.d(T,{I:function(){return w}});var o=t(77e3),i=t(40476),u=t(14476),A=t(64848),m=t(46444),f=t(85668),c=t(89140),d=t(66972);const C=(0,i.c)(v=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:v.spacing(2)},divider:{margin:v.spacing(2)}}),{name:"BackstageErrorPanel"}),E=({error:v,message:O,stack:g,children:I})=>{const P=C();return(0,o.jsxs)(u.c,{dense:!0,children:[(0,o.jsxs)(A.c,{alignItems:"flex-start",children:[(0,o.jsx)(m.c,{classes:{secondary:P.text},primary:"Error",secondary:v}),(0,o.jsx)(c.s,{text:v})]}),(0,o.jsxs)(A.c,{alignItems:"flex-start",children:[(0,o.jsx)(m.c,{classes:{secondary:P.text},primary:"Message",secondary:O}),(0,o.jsx)(c.s,{text:O})]}),g&&(0,o.jsxs)(A.c,{alignItems:"flex-start",children:[(0,o.jsx)(m.c,{classes:{secondary:P.text},primary:"Stack Trace",secondary:g}),(0,o.jsx)(c.s,{text:g})]}),I]})};function w(v){const{title:O,error:g,defaultExpanded:I,titleFormat:P,children:y}=v;return(0,o.jsx)(d.E,{severity:"error",title:O!=null?O:g.message,defaultExpanded:I,titleFormat:P,children:(0,o.jsx)(E,{error:g.name,message:g.message,stack:g.stack,children:y})})}},38280:function(Z,T,t){"use strict";t.d(T,{cH:function(){return z}});var o=t(77e3),i=t(15940),u=t(36336),A=t(34420),m=t(5992),f=t(40476),c=t(94700),d=t(71252),C=t.n(d),E=t(67928),w=t.n(E),v=t(85668),O=t(33648),g=t(86968);function I(){const[k]=(0,O.CF)((0,o.jsx)(O.kX,{index:!0,element:(0,o.jsx)("div",{})}));return!k.index}const P=(0,f.c)({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",userSelect:"none",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"}},{name:"Link"}),y=k=>/^([a-z+.-]+):/.test(k),D=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,M=window.open;if(M&&!M.__backstage){const k=function(...J){const nt=String(J[0]);if(D.test(nt))throw new Error("Rejected window.open() with a javascript: URL as a security precaution");return M.apply(this,J)};k.__backstage=!0,window.open=k}const b=()=>{try{return(0,i.yk)(u.c).getOptionalString("app.baseUrl")}catch{return}},H=()=>{const k="http://sample.dev";var N;const J=(N=b())!==null&&N!==void 0?N:"/",{pathname:nt}=new URL(J,k);return(0,E.trimEnd)(nt,"/")},Q=k=>{let N=String(k);const J=H(),nt=y(N),it=N.startsWith(J);return!nt&&!it&&(N=J.concat(N)),N},q=k=>{if(k instanceof Array)return k.map(q).join(" ").trim();if(typeof k=="object"&&k){var N;return q(k==null||(N=k.props)===null||N===void 0?void 0:N.children)}return["string","number"].includes(typeof k)?String(k):""},z=v.forwardRef(({onClick:k,noTrack:N,...J},nt)=>{const it=P(),yt=(0,A.S)(),ft=I()?Q(J.to):J.to,wt=q(J.children)||ft,ct=y(ft),xt=ct&&!!/^https?:/.exec(ft);if(D.test(ft))throw new Error("Link component rejected javascript: URL as a security precaution");const at=V=>{k==null||k(V),N||yt.captureEvent("click",wt,{attributes:{to:ft}})};return ct?(0,o.jsxs)(m.c,{...xt?{target:"_blank",rel:"noopener"}:{},...J,...J["aria-label"]?{"aria-label":`${J["aria-label"]}, Opens in a new window`}:{},ref:nt,href:ft,onClick:at,className:C()(it.externalLink,J.className),children:[J.children,(0,o.jsx)(c.c,{component:"span",className:it.visuallyHidden,children:", Opens in a new window"})]}):(0,o.jsx)(m.c,{...J,ref:nt,component:g.cH,to:ft,onClick:at})})},692:function(Z,T,t){"use strict";t.d(T,{E:function(){return f}});var o=t(77e3),i=t(1275),u=t(85668),A=t(38280);const m=u.forwardRef((d,C)=>(0,o.jsx)(A.cH,{ref:C,...d,color:"initial"})),f=u.forwardRef((d,C)=>(0,o.jsx)(i.c,{ref:C,component:m,...d})),c=null},83172:function(Z,T,t){"use strict";t.d(T,{K:function(){return w}});var o=t(77e3),i=t(40476),u=t(87898),A=t(51554),m=t(85668),f=t(43932);const c=(0,i.c)(v=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${v.palette.border}`},"& th, & td":{border:`1px solid ${v.palette.border}`,padding:v.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:v.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:v.palette.background.paper},"& tr":{backgroundColor:v.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:v.palette.background.default},"& a":{color:v.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),d=(v,O)=>O?typeof O=="string"?v+O:m.Children.toArray(O.props.children).reduce(d,v):v,C=({level:v,children:O})=>{const P=m.Children.toArray(O).reduce(d,"").toLocaleLowerCase("en-US").replace(/\W/g,"-");return m.createElement(`h${v}`,{id:P},O)},E={code:({inline:v,className:O,children:g,...I})=>{const P=String(g).replace(/\n+$/,""),y=/language-(\w+)/.exec(O||"");return!v&&y?(0,o.jsx)(f.U,{language:y[1],text:P}):(0,o.jsx)("code",{className:O,...I,children:g})},h1:C,h2:C,h3:C,h4:C,h5:C,h6:C};function w(v){const{content:O,dialect:g="gfm",linkTarget:I,transformLinkUri:P,transformImageUri:y,className:D}=v,M=c();return(0,o.jsx)(u.s,{remarkPlugins:g==="gfm"?[A.c]:[],className:`${M.markdown} ${D}`,children:O,components:E,linkTarget:I,transformLinkUri:P,transformImageUri:y})}},12824:function(Z,T,t){"use strict";t.d(T,{b:function(){return f}});var o=t(77e3),i=t(33584),u=t(77600),A=t(76048),m=t(85668);function f(c){const d=(0,A.c)(),[C,E]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{const w=setTimeout(()=>E(!0),d.transitions.duration.short);return()=>clearTimeout(w)},[d.transitions.duration.short]),C?(0,o.jsx)(u.c,{...c,"data-testid":"progress"}):(0,o.jsx)(i.c,{display:"none"})}},6296:function(Z,T,t){"use strict";t.d(T,{Y:function(){return z}});var o=t(77e3),i=t(33584),u=t(66424),A=t(84480),m=t(53232),f=t(13488),c=t(54828),d=t(6280),C=t(87132),E=t(2304),w=t(93644),v=t(40476),O=t(94700),g=t(85668),I=t(29384);const P=(0,v.c)(k=>(0,w.c)({icon:{position:"absolute",right:k.spacing(.5),pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var D=()=>{const k=P();return(0,o.jsx)(I.c,{className:k.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"})})};const M=(0,v.c)(k=>(0,w.c)({icon:{position:"absolute",right:k.spacing(.5),pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var H=()=>{const k=M();return(0,o.jsx)(I.c,{className:k.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"})})};const Q=(0,E.c)(k=>(0,w.c)({root:{"label + &":{marginTop:k.spacing(3)},"&.Mui-focused > div[role=button]":{borderColor:k.palette.primary.main}},input:{borderRadius:k.shape.borderRadius,position:"relative",backgroundColor:k.palette.background.paper,border:"1px solid #ced4da",fontSize:k.typography.body1.fontSize,padding:k.spacing(1.25,3.25,1.25,1.5),transition:k.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:k.palette.background.paper,borderRadius:k.shape.borderRadius}}}),{name:"BackstageSelectInputBase"})(f.c),q=(0,v.c)(k=>(0,w.c)({formControl:{margin:k.spacing(1,0),maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:k.typography.body2.fontSize,fontFamily:k.typography.fontFamily,color:k.palette.text.primary,"&.Mui-focused":{color:k.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:k.typography.body2.fontSize,fontFamily:k.typography.fontFamily,color:k.palette.text.primary,"&.Mui-focused":{color:k.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function z(k){const{multiple:N,items:J,label:nt,placeholder:it,selected:yt,onChange:ft,triggerReset:wt,native:ct=!1,disabled:xt=!1,margin:at}=k,V=q(),[st,Ct]=(0,g.useState)(yt||(N?[]:"")),[St,At]=(0,g.useState)(!1);(0,g.useEffect)(()=>{Ct(N?[]:"")},[wt,N]),(0,g.useEffect)(()=>{Ct(yt||(N?[]:""))},[yt,N]);const ht=K=>{Ct(K.target.value),ft(K.target.value)},lt=K=>{if(xt){K.preventDefault();return}At(tt=>N&&!(K.target instanceof HTMLElement)?!0:!tt)},pt=()=>{At(!1)},G=K=>()=>{const tt=st.filter(rt=>rt!==K);Ct(tt),ft(tt)};return(0,o.jsx)(i.c,{className:V.root,children:(0,o.jsxs)(m.c,{className:V.formControl,children:[(0,o.jsx)(c.c,{className:V.formLabel,children:nt}),(0,o.jsxs)(C.c,{"aria-label":nt,value:st,native:ct,disabled:xt,"data-testid":"select",displayEmpty:!0,multiple:N,margin:at,onChange:ht,open:St,onOpen:lt,onClose:pt,input:(0,o.jsx)(Q,{}),label:nt,renderValue:K=>{var tt;return N&&st.length!==0?(0,o.jsx)(i.c,{className:V.chips,children:K.map(rt=>{const vt=J.find(mt=>mt.value===rt);return vt?(0,o.jsx)(A.c,{label:vt==null?void 0:vt.label,clickable:!0,onDelete:G(rt),className:V.chip},vt==null?void 0:vt.value):!1})}):(0,o.jsx)(O.c,{children:st.length===0?it||"":(tt=J.find(rt=>rt.value===K))===null||tt===void 0?void 0:tt.label})},IconComponent:()=>St?(0,o.jsx)(H,{}):(0,o.jsx)(D,{}),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null},children:[it&&!N&&(0,o.jsx)(d.c,{value:[],children:it}),ct?J&&J.map(K=>(0,o.jsx)("option",{value:K.value,children:K.label},K.value)):J&&J.map(K=>(0,o.jsxs)(d.c,{value:K.value,children:[N&&(0,o.jsx)(u.c,{color:"primary",checked:st.includes(K.value)||!1,className:V.checkbox}),K.label]},K.value))]})]})})}},19e3:function(Z,T,t){"use strict";t.d(T,{i:function(){return at}});var o=t(77e3),i=t(65252),u=t(33584),A=t(1275),m=t(89672),f=t(67256),c=t(62579),d=t(46444),C=t(6280),E=t(56104),w=t(76488),v=t(40476),O=t(94700),g=t(95664),I=t(85668),P=t(92232),y=t(68284);function D(V,st){const St=(0,i.I)().getSystemIcon(V);return St?(0,o.jsx)(St,{...st}):(0,o.jsx)(y.c,{...st})}function M(V){return D("brokenImage",V)}function b(V){return D("catalog",V)}function H(V){return D("chat",V)}function Q(V){return D("dashboard",V)}function q(V){return D("docs",V)}function z(V){return D("email",V)}function k(V){return D("github",V)}function N(V){return D("group",V)}function J(V){return D("help",V)}function nt(V){return D("user",V)}function it(V){return D("warning",V)}var yt=t(38280);const ft=(0,v.c)({popoverList:{minWidth:260,maxWidth:400},menuItem:{whiteSpace:"normal"}},{name:"BackstageSupportButton"}),wt=({icon:V})=>{const st=(0,i.I)();var Ct;const St=V&&(Ct=st.getSystemIcon(V))!==null&&Ct!==void 0?Ct:J;return(0,o.jsx)(St,{})},ct=({link:V})=>{var st;return(0,o.jsx)(yt.cH,{to:V.url,children:(st=V.title)!==null&&st!==void 0?st:V.url})},xt=({item:V})=>{var st;return(0,o.jsxs)(C.c,{children:[(0,o.jsx)(c.c,{children:(0,o.jsx)(wt,{icon:V.icon})}),(0,o.jsx)(d.c,{primary:V.title,secondary:(st=V.links)===null||st===void 0?void 0:st.reduce((Ct,St,At)=>[...Ct,At>0&&(0,o.jsx)("br",{},At),(0,o.jsx)(ct,{link:St},St.url)],[])})]})};function at(V){const{title:st,items:Ct,children:St}=V,{items:At}=(0,P.o)(),[ht,lt]=(0,I.useState)(!1),[pt,G]=(0,I.useState)(null),K=ft(),tt=(0,g.c)(mt=>mt.breakpoints.down("sm")),rt=mt=>{G(mt.currentTarget),lt(!0)},vt=()=>{lt(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.c,{display:"flex",ml:1,children:tt?(0,o.jsx)(f.c,{color:"primary",size:"small",onClick:rt,"data-testid":"support-button","aria-label":"Support",children:(0,o.jsx)(J,{})}):(0,o.jsx)(A.c,{"data-testid":"support-button","aria-label":"Support",color:"primary",onClick:rt,startIcon:(0,o.jsx)(J,{}),children:"Support"})}),(0,o.jsxs)(w.cp,{"data-testid":"support-button-popover",open:ht,anchorEl:pt,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:vt,children:[(0,o.jsxs)(E.c,{className:K.popoverList,autoFocusItem:Boolean(pt),children:[st&&(0,o.jsx)(C.c,{alignItems:"flex-start",className:K.menuItem,children:(0,o.jsx)(O.c,{variant:"subtitle1",children:st})}),I.Children.map(St,(mt,jt)=>(0,o.jsx)(C.c,{alignItems:"flex-start",className:K.menuItem,children:mt},`child-${jt}`)),(Ct!=null?Ct:At).map((mt,jt)=>(0,o.jsx)(xt,{item:mt},`item-${jt}`))]}),(0,o.jsx)(m.c,{children:(0,o.jsx)(A.c,{color:"primary",onClick:vt,"aria-label":"Close",children:"Close"})})]})]})}},85763:function(Z,T,t){"use strict";t.d(T,{o:function(){return ht}});var o=t(77e3),i=t(11016),u=t(33584),A=t(67256),m=t(2304),f=t(40476),c=t(76048),d=t(94700),C=t(11360),E=t(69824),w=t(39420),v=t(55056),O=t(83656),g=t(85324),I=t(10880),P=t(35936),y=t(74048),D=t(97668),M=t(79888),b=t(41980),H=t(79832),Q=t(85488),q=t(67928),z=t(85668),k=t(1275),N=t(6296);const J=(0,f.c)(G=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:G.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:G.spacing(7.5),justifyContent:"space-between",borderBottom:`1px solid ${G.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:G.spacing(2)}}}),{name:"BackstageTableFilters"}),nt=G=>{var K;const tt=J(),{onChangeFilters:rt}=G,[vt,mt]=(0,z.useState)({...G.selectedFilters}),[jt,Kt]=(0,z.useState)(!1),Bt=()=>{mt({}),Kt($t=>!$t)};return(0,z.useEffect)(()=>{rt(vt)},[vt,rt]),(0,o.jsxs)(u.c,{className:tt.root,children:[(0,o.jsxs)(u.c,{className:tt.header,children:[(0,o.jsx)(u.c,{className:tt.value,children:"Filters"}),(0,o.jsx)(k.c,{color:"primary",onClick:Bt,children:"Clear all"})]}),(0,o.jsx)(u.c,{className:tt.filters,children:((K=G.filters)===null||K===void 0?void 0:K.length)&&G.filters.map($t=>(0,o.jsx)(N.Y,{triggerReset:jt,...$t.element,selected:vt[$t.element.label],onChange:Dt=>mt({...vt,[$t.element.label]:Dt})},$t.element.label))})]})};var it=t(72904);function yt(G){return(0,o.jsx)("tbody",{"data-testid":"loading-indicator",children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:G.colSpan,children:(0,o.jsx)(u.c,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",minHeight:"15rem"},children:(0,o.jsx)(it.c,{size:"5rem"})})})})})}const ft={Add:(0,z.forwardRef)((G,K)=>(0,o.jsx)(C.c,{...G,ref:K})),Check:(0,z.forwardRef)((G,K)=>(0,o.jsx)(w.c,{...G,ref:K})),Clear:(0,z.forwardRef)((G,K)=>(0,o.jsx)(g.c,{...G,ref:K})),Delete:(0,z.forwardRef)((G,K)=>(0,o.jsx)(I.c,{...G,ref:K})),DetailPanel:(0,z.forwardRef)((G,K)=>(0,o.jsx)(O.c,{...G,ref:K})),Edit:(0,z.forwardRef)((G,K)=>(0,o.jsx)(P.c,{...G,ref:K})),Export:(0,z.forwardRef)((G,K)=>(0,o.jsx)(H.c,{...G,ref:K})),Filter:(0,z.forwardRef)((G,K)=>(0,o.jsx)(y.c,{...G,ref:K})),FirstPage:(0,z.forwardRef)((G,K)=>(0,o.jsx)(D.c,{...G,ref:K})),LastPage:(0,z.forwardRef)((G,K)=>(0,o.jsx)(M.c,{...G,ref:K})),NextPage:(0,z.forwardRef)((G,K)=>(0,o.jsx)(O.c,{...G,ref:K})),PreviousPage:(0,z.forwardRef)((G,K)=>(0,o.jsx)(v.c,{...G,ref:K})),ResetSearch:(0,z.forwardRef)((G,K)=>(0,o.jsx)(g.c,{...G,ref:K})),Search:(0,z.forwardRef)((G,K)=>(0,o.jsx)(y.c,{...G,ref:K})),SortArrow:(0,z.forwardRef)((G,K)=>(0,o.jsx)(E.c,{...G,ref:K})),ThirdStateCheck:(0,z.forwardRef)((G,K)=>(0,o.jsx)(b.c,{...G,ref:K})),ViewColumn:(0,z.forwardRef)((G,K)=>(0,o.jsx)(Q.c,{...G,ref:K}))};function wt(G,K){const tt=K.split(".");let rt=G[tt[0]];for(let vt=1;vt<tt.length;++vt){if(rt===void 0)return rt;const mt=tt[vt];rt=rt[mt]}return rt}const ct=(0,m.c)(G=>({header:{padding:G.spacing(1,2,1,2.5),borderTop:`1px solid ${G.palette.grey.A100}`,borderBottom:`1px solid ${G.palette.grey.A100}`,fontWeight:G.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(i.go),xt=(0,m.c)(G=>({root:{padding:G.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:G.typography.fontWeightBold}},searchField:{paddingRight:G.spacing(2)}}),{name:"BackstageTableToolbar"})(i.sp),at=(0,f.c)(G=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:G.typography.fontWeightBold,fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),V=(0,f.c)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function st(G,K){return G.map(tt=>{var rt;const vt=(rt=tt.headerStyle)!==null&&rt!==void 0?rt:{};let mt=tt.cellStyle||{};if(tt.highlight)if(vt.color=K.palette.textContrast,typeof mt=="object")mt.fontWeight=K.typography.fontWeightBold;else{const jt=mt;mt=(Kt,Bt,$t)=>({...jt(Kt,Bt,$t),fontWeight:K.typography.fontWeightBold})}return{...tt,headerStyle:vt,cellStyle:mt}})}function Ct(G,K){return(0,q.transform)(G,(tt,rt,vt)=>{(0,q.isEqual)(rt,K[vt])||(tt[vt]=rt)})}const St={search:"",filtersOpen:!1,filters:{}};function At(G){const{toolbarRef:K,setSearch:tt,hasFilters:rt,selectedFiltersLength:vt,toggleFilters:mt}=G,jt=at(),Kt=(0,z.useCallback)(Bt=>{G.onSearchChanged(Bt),tt(Bt)},[G,tt]);return rt?(0,o.jsxs)(u.c,{className:jt.root,children:[(0,o.jsxs)(u.c,{className:jt.root,children:[(0,o.jsx)(A.c,{onClick:mt,"aria-label":"filter list",children:(0,o.jsx)(y.c,{})}),(0,o.jsxs)(d.c,{className:jt.title,children:["Filters (",vt,")"]})]}),(0,o.jsx)(xt,{...G,ref:K,onSearchChanged:Kt})]}):(0,o.jsx)(xt,{...G,ref:K,onSearchChanged:Kt})}function ht(G){const{data:K,columns:tt,emptyContent:rt,options:vt,title:mt,subtitle:jt,localization:Kt,filters:Bt,initialState:$t,onStateChange:Dt,components:Vt,isLoading:De,...fe}=G,se=V(),Xt=(0,c.c)(),Mt={...St,...$t},[Gt,be]=(0,z.useState)(Mt.filtersOpen),Ge=(0,z.useCallback)(()=>be(Oe=>!Oe),[be]),[xe,on]=(0,z.useState)(Mt.filters),[Xe,_e]=(0,z.useState)(Mt.search);(0,z.useEffect)(()=>{if(Dt){const Oe=Ct({search:Xe,filtersOpen:Gt,filters:xe},St);Dt(Oe)}},[Xe,Gt,xe,Dt]);const Ve=(0,z.useCallback)(Oe=>{var Ne;return(Ne=tt.find(He=>He.title===Oe))===null||Ne===void 0?void 0:Ne.field},[tt]),le=(0,z.useMemo)(()=>{if(typeof K=="function"||!xe)return K;const Oe=Object.values(xe);return K&&Oe.flat().length?K.filter(He=>!!Object.entries(xe).filter(([,j])=>!!j.length).every(([j,p])=>{const B=wt(He,Ve(j));return Array.isArray(B)&&Array.isArray(p)?B.some(F=>p.includes(F)):Array.isArray(B)?B.includes(p):Array.isArray(p)?p.includes(B):B===p})):K},[K,xe,Ve]),ze=Object.values(xe).flat().length,ke=!!(Bt!=null&&Bt.length),cn=(0,z.useCallback)(Oe=>(0,o.jsx)(At,{setSearch:_e,hasFilters:ke,selectedFiltersLength:ze,toggleFilters:Ge,...Oe}),[Ge,ke,ze,_e]),Ue=typeof K!="function"&&K.length===0,ce=tt.length,Qe=(0,z.useMemo)(()=>lt({hasNoRows:Ue,emptyContent:rt,columnCount:ce,loading:De}),[Ue,rt,ce,De]);return(0,o.jsxs)(u.c,{className:se.root,children:[Gt&&K&&typeof K!="function"&&(Bt==null?void 0:Bt.length)&&(0,o.jsx)(nt,{filters:pt(Bt,K,tt),selectedFilters:xe,onChangeFilters:on}),(0,o.jsx)(i.cp,{components:{Header:ct,Body:Qe,Toolbar:cn,...Vt},options:{headerStyle:{textTransform:"uppercase"},...vt},columns:st(tt,Xt),icons:ft,title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d.c,{variant:"h5",component:"h2",children:mt}),jt&&(0,o.jsx)(d.c,{color:"textSecondary",variant:"body1",children:jt})]}),data:le,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter",searchTooltip:"Filter"},...Kt},...fe})]})}ht.icons=Object.freeze(ft);function lt({columnCount:G,emptyContent:K,hasNoRows:tt,loading:rt}){return vt=>rt?(0,o.jsx)(yt,{colSpan:G}):K&&tt?(0,o.jsx)("tbody",{children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:G,children:K})})}):(0,o.jsx)(i.TY,{...vt})}function pt(G,K,tt){const rt=mt=>{const jt=new Set,Kt=Bt=>{Bt!=null&&jt.add(Bt)};return K&&K.forEach(Bt=>{var $t;const Dt=wt(Bt,($t=tt.find(Vt=>Vt.title===mt))===null||$t===void 0?void 0:$t.field);Array.isArray(Dt)?Dt.forEach(Kt):Kt(Dt)}),jt},vt=mt=>({placeholder:"All results",label:mt.column,multiple:mt.type==="multiple-select",items:[...rt(mt.column)].sort().map(jt=>({label:jt,value:jt}))});return G.map(mt=>({type:mt.type,element:vt(mt)}))}},66972:function(Z,T,t){"use strict";t.d(T,{E:function(){return b}});var o=t(77e3),i=t(87984),u=t(40476),A=t(29412),m=t(78272),f=t(79528),c=t(19947),d=t(94700),C=t(34600),E=t(7312),w=t(85668),v=t(83172);const O=(H,Q)=>(Q.palette.type==="light"?i.sP:i.IV)(Q.palette[H].light,.6),g=(H,Q)=>(Q.palette.type==="light"?i.IV:i.sP)(Q.palette[H].light,.9),I=(0,u.c)(H=>({root:{marginRight:H.spacing(1),fill:({severity:Q})=>O(Q,H)}})),P=({severity:H})=>{const Q=I({severity:H});return(0,o.jsx)(C.c,{classes:Q})},y=({severity:H})=>{const Q=I({severity:H});return(0,o.jsx)(E.c,{classes:Q})},D=(0,u.c)(H=>({panel:{backgroundColor:({severity:Q})=>g(Q,H),color:({severity:Q})=>O(Q,H),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:Q})=>O(Q,H),fontWeight:H.typography.fontWeightBold},markdownContent:{"& p":{display:"inline"}},message:{width:"100%",display:"block",color:({severity:Q})=>O(Q,H),backgroundColor:({severity:Q})=>g(Q,H)},details:{width:"100%",display:"block",color:H.palette.textContrast,backgroundColor:H.palette.background.default,border:`1px solid ${H.palette.border}`,padding:H.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),M=H=>H.charAt(0).toLocaleUpperCase("en-US")+H.slice(1);function b(H){const{severity:Q="warning",title:q,titleFormat:z,message:k,children:N,defaultExpanded:J}=H,nt=D({severity:Q}),it=M(Q)+(q?`: ${q}`:"");return(0,o.jsxs)(A.c,{defaultExpanded:J!=null?J:!1,className:nt.panel,role:"alert",children:[(0,o.jsxs)(m.c,{expandIcon:(0,o.jsx)(y,{severity:Q}),className:nt.summary,children:[(0,o.jsx)(P,{severity:Q}),(0,o.jsx)(d.c,{className:nt.summaryText,variant:"subtitle1",children:z==="markdown"?(0,o.jsx)(v.K,{content:it,className:nt.markdownContent}):it})]}),(k||N)&&(0,o.jsx)(f.c,{children:(0,o.jsxs)(c.c,{container:!0,children:[k&&(0,o.jsx)(c.c,{item:!0,xs:12,children:(0,o.jsx)(d.c,{className:nt.message,variant:"body1",children:k})}),N&&(0,o.jsx)(c.c,{item:!0,xs:12,className:nt.details,children:N})]})})]})}},92232:function(Z,T,t){"use strict";t.d(T,{o:function(){return A}});var o=t(15940),i=t(36336);const u={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]};function A(){const f=(0,o.yi)().get(i.c),c=f==null?void 0:f.getOptionalConfig("app.support");return c?{url:c.getString("url"),items:c.getConfigArray("items").flatMap(d=>{var C;return{title:d.getString("title"),icon:d.getOptionalString("icon"),links:((C=d.getOptionalConfigArray("links"))!==null&&C!==void 0?C:[]).flatMap(E=>({url:E.getString("url"),title:E.getString("title")}))}})}:u}},46160:function(Z,T,t){"use strict";t.d(T,{k:function(){return c}});var o=t(77e3),i=t(40476),u=t(71252),A=t.n(u),m=t(85668);const f=(0,i.c)(d=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:d.spacing(3),paddingBottom:d.spacing(3),paddingLeft:d.spacing(2),paddingRight:d.spacing(2),[d.breakpoints.up("sm")]:{paddingLeft:d.spacing(3),paddingRight:d.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function c(d){const{className:C,stretch:E,noPadding:w,children:v,...O}=d,g=f();return(0,o.jsx)("article",{...O,className:A()(g.root,C,{[g.stretch]:E,[g.noPadding]:w}),children:v})}},6080:function(Z,T,t){"use strict";t.d(T,{Y:function(){return C}});var o=t(77e3),i=t(33584),u=t(40476),A=t(94700),m=t(85668),f=t(5475);const c=E=>(0,u.c)(w=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:w.spacing(2),textAlign:E.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:w.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),d=({title:E="Unknown page",className:w})=>(0,o.jsx)(A.c,{variant:"h4",component:"h2",className:w,"data-testid":"header-title",children:E});function C(E){const{description:w,title:v,titleComponent:O=void 0,children:g,textAlign:I="left"}=E,P=c({textAlign:I})(),y=O||(0,o.jsx)(d,{title:v,className:P.title});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.S,{title:v}),(0,o.jsxs)(i.c,{className:P.container,children:[(0,o.jsxs)(i.c,{className:P.leftItemsBox,children:[y,w&&(0,o.jsx)(A.c,{className:P.description,variant:"body2",children:w})]}),(0,o.jsx)(i.c,{className:P.rightItemsBox,children:g})]})]})}},93444:function(Z,T,t){"use strict";t.d(T,{a:function(){return P}});var o=t(77e3),i=t(19947),u=t(40476),A=t(94700),m=t(85668),f=t(33648),c=t(38280),d=t(92232),C=t.p+"static/mic-drop.fe3ef4d0..svg";const E=(0,u.c)(y=>({micDrop:{maxWidth:"60%",bottom:y.spacing(2),right:y.spacing(2),[y.breakpoints.down("xs")]:{maxWidth:"96%",bottom:"unset",right:"unset",margin:y.spacing(10,"auto",4)}}}),{name:"BackstageErrorPageMicDrop"}),w=()=>{const y=E();return(0,o.jsx)("img",{src:C,className:y.micDrop,alt:"Girl dropping mic from her hands"})};var v=t(43932);const O=(0,u.c)(y=>({title:{paddingBottom:y.spacing(5),[y.breakpoints.down("xs")]:{paddingBottom:y.spacing(4),fontSize:y.typography.h3.fontSize}}}),{name:"BackstageErrorPageStackDetails"});function g(y){const{stack:D}=y,M=O(),[b,H]=(0,m.useState)(!1);return b?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(A.c,{variant:"h6",className:M.title,children:(0,o.jsx)(c.cH,{to:"#",onClick:()=>H(!1),children:"Show less details"})}),(0,o.jsx)(v.U,{text:D,language:"text",showCopyCodeButton:!0,showLineNumbers:!0})]}):(0,o.jsx)(A.c,{variant:"h6",className:M.title,children:(0,o.jsx)(c.cH,{to:"#",onClick:()=>H(!0),children:"Show more details"})})}const I=(0,u.c)(y=>({container:{padding:y.spacing(8),[y.breakpoints.down("xs")]:{padding:y.spacing(2)}},title:{paddingBottom:y.spacing(5),[y.breakpoints.down("xs")]:{paddingBottom:y.spacing(4),fontSize:y.typography.h3.fontSize}},subtitle:{color:y.palette.textSubtle}}),{name:"BackstageErrorPage"});function P(y){const{status:D,statusMessage:M,additionalInfo:b,supportUrl:H,stack:Q}=y,q=I(),z=(0,f.i6)(),k=(0,d.o)();return(0,o.jsxs)(i.c,{container:!0,className:q.container,children:[(0,o.jsxs)(i.c,{item:!0,xs:12,sm:8,md:4,children:[(0,o.jsxs)(A.c,{"data-testid":"error",variant:"body1",className:q.subtitle,children:["ERROR ",D,": ",M]}),(0,o.jsx)(A.c,{variant:"body1",className:q.subtitle,children:b}),(0,o.jsx)(A.c,{variant:"h2",className:q.title,children:"Looks like someone dropped the mic!"}),(0,o.jsxs)(A.c,{variant:"h6",className:q.title,children:[(0,o.jsx)(c.cH,{to:"#","data-testid":"go-back-link",onClick:()=>z(-1),children:"Go back"}),"... or please"," ",(0,o.jsx)(c.cH,{to:H||k.url,children:"contact support"})," if you think this is a bug."]}),Q&&(0,o.jsx)(g,{stack:Q})]}),(0,o.jsx)(w,{})]})}},52844:function(Z,T,t){"use strict";t.d(T,{e:function(){return k}});var o=t(77e3),i=t(15940),u=t(36336),A=t(33584),m=t(19947),f=t(40476),c=t(87648),d=t(94700),C=t(85668),E=t(5475),w=t(38280),v=t(26961),O=t(14476),g=t(64848),I=t(76488),P=t(2304);const y=(0,P.c)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(d.c),D=(0,P.c)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(A.c);function M(N){const{children:J,...nt}=N,[it,yt]=C.useState(null),ft=C.Children.toArray(J),[wt,ct,...xt]=ft,at=xt.length?xt.pop():ft[ft.length-1],V=ft.length>3,st=At=>{yt(At.currentTarget)},Ct=()=>{yt(null)},St=Boolean(it);return(0,o.jsxs)(C.Fragment,{children:[(0,o.jsxs)(v.c,{"aria-label":"breadcrumb",...nt,children:[ft.length>1&&(0,o.jsx)(D,{clone:!0,children:wt}),ft.length>2&&(0,o.jsx)(D,{clone:!0,children:ct}),V&&(0,o.jsx)(y,{onClick:st,children:"..."}),(0,o.jsx)(A.c,{style:{fontStyle:"italic"},children:at})]}),(0,o.jsx)(I.cp,{open:St,anchorEl:it,onClose:Ct,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,o.jsx)(O.c,{children:xt.map((At,ht)=>(0,o.jsx)(g.c,{button:!0,children:(0,o.jsx)(D,{clone:!0,children:At})},ht))})})]})}var b=t(10656);const H=(0,f.c)(N=>({header:{gridArea:"pageHeader",padding:N.spacing(3),width:"100%",boxShadow:N.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:N.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[N.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto",alignItems:"center"},title:{color:N.page.fontColor,wordBreak:"break-word",fontSize:N.typography.h3.fontSize,marginBottom:0},subtitle:{color:N.page.fontColor,opacity:.8,display:"inline-block",marginTop:N.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:N.spacing(1),color:N.page.fontColor},breadcrumb:{color:N.page.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-N.spacing(.3),marginBottom:N.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-N.spacing(.3),marginBottom:N.spacing(.3)}}),{name:"BackstageHeader"}),Q=({type:N,typeLink:J,classes:nt,pageTitle:it})=>N?J?(0,o.jsxs)(M,{className:nt.breadcrumb,children:[(0,o.jsx)(w.cH,{to:J,children:N}),(0,o.jsx)(d.c,{children:it})]}):(0,o.jsx)(d.c,{className:nt.type,children:N}):null,q=({pageTitle:N,classes:J,tooltip:nt})=>{const{contentRef:it}=(0,b.W)(),yt=(0,o.jsx)(d.c,{ref:it,tabIndex:-1,className:J.title,variant:"h1",children:N});return nt?(0,o.jsx)(c.cp,{title:nt,placement:"top-start",children:yt}):yt},z=({classes:N,subtitle:J})=>J?typeof J!="string"?(0,o.jsx)(o.Fragment,{children:J}):(0,o.jsx)(d.c,{className:N.subtitle,variant:"subtitle2",component:"span",children:J}):null;function k(N){const{children:J,pageTitleOverride:nt,style:it,subtitle:yt,title:ft,tooltip:wt,type:ct,typeLink:xt}=N,at=H(),st=(0,i.yk)(u.c).getOptionalString("app.title")||"Backstage",Ct=nt||ft,St=ft||nt,At=`${Ct} | %s | ${st}`,ht=`${Ct} | ${st}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(E.S,{titleTemplate:At,defaultTitle:ht}),(0,o.jsxs)("header",{style:it,className:at.header,children:[(0,o.jsxs)(A.c,{className:at.leftItemsBox,children:[(0,o.jsx)(Q,{classes:at,type:ct,typeLink:xt,pageTitle:St}),(0,o.jsx)(q,{classes:at,pageTitle:St,tooltip:wt}),(0,o.jsx)(z,{classes:at,subtitle:yt})]}),(0,o.jsx)(m.c,{container:!0,className:at.rightItemsBox,spacing:4,children:J})]})]})}},34536:function(Z,T,t){"use strict";t.d(T,{K:function(){return f}});var o=t(77e3),i=t(85668),u=t(40476),A=t(65284);const m=(0,u.c)(c=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",overflowY:"auto",height:"100vh",[c.breakpoints.down("xs")]:{height:"100%"},"@media print":{display:"block",height:"auto",overflowY:"inherit"}}}),{name:"BackstagePage"});function f(c){const{themeId:d,children:C}=c,E=m();return(0,o.jsx)(A.c,{theme:w=>({...w,page:w.getPageTheme({themeId:d})}),children:(0,o.jsx)("main",{className:E.root,children:C})})}},35556:function(Z,T,t){"use strict";t.d(T,{Y:function(){return m}});var o=t(77e3),i=t(85668),u=t(52844),A=t(34536);function m(f){const{themeId:c,children:d,...C}=f;return(0,o.jsxs)(A.K,{themeId:c,children:[(0,o.jsx)(u.e,{...C}),d]})}},10656:function(Z,T,t){"use strict";t.d(T,{o:function(){return v},W:function(){return O}});var o=t(77e3),i=t(33584),u=t(40476),A=t(95664),m=t(85668),f=t(58948),c;(function(g){g.SIDEBAR_PIN_STATE="sidebarPinState"})(c||(c={}));const d={getSidebarPinState(){let g;try{g=JSON.parse(window.localStorage.getItem("sidebarPinState")||"true")}catch{return!0}return!!g},setSidebarPinState(g){return window.localStorage.setItem("sidebarPinState",JSON.stringify(g))}};var C=t(84568);const E=(0,u.c)(g=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[g.breakpoints.up("sm")]:{paddingLeft:I=>I.isPinned?I.sidebarConfig.drawerWidthOpen:I.sidebarConfig.drawerWidthClosed},[g.breakpoints.down("xs")]:{paddingBottom:I=>I.sidebarConfig.mobileSidebarHeight},"@media print":{padding:"0px !important"}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),w=(0,m.createContext)({content:{contentRef:void 0}});function v(g){const[I,P]=(0,m.useState)(()=>d.getSidebarPinState()),{sidebarConfig:y}=(0,m.useContext)(f.GO),D=(0,m.useRef)(null),M=(0,m.useMemo)(()=>({content:{contentRef:D}}),[D]);(0,m.useEffect)(()=>{d.setSidebarPinState(I)},[I]);const b=(0,A.c)(q=>q.breakpoints.down("xs"),{noSsr:!0}),H=()=>P(!I),Q=E({isPinned:I,sidebarConfig:y});return(0,o.jsx)(C.im,{value:{isPinned:I,toggleSidebarPinState:H,isMobile:b},children:(0,o.jsx)(w.Provider,{value:M,children:(0,o.jsx)(i.c,{className:Q.root,children:g.children})})})}function O(){const{content:g}=(0,m.useContext)(w);return{focusContent:(0,m.useCallback)(()=>{var P,y;g==null||(y=g.contentRef)===null||y===void 0||(P=y.current)===null||P===void 0||P.focus()},[g]),contentRef:g==null?void 0:g.contentRef}}},84568:function(Z,T,t){"use strict";t.d(T,{Ur:function(){return C},im:function(){return d}});var o=t(77e3),i=t(42772),u=t(68080),A=t(85668);const m={isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1},f=(0,A.createContext)(m),c=(0,i.IR)("sidebar-pin-state-context");function d(E){const{children:w,value:v}=E;return(0,o.jsx)(f.Provider,{value:v,children:(0,o.jsx)(c.Provider,{value:(0,u.O)({1:v}),children:w})})}const C=()=>{const E=(0,A.useContext)(c),w=(0,A.useContext)(f);if(E===void 0)return w||m;const v=E.atVersion(1);if(v===void 0)throw new Error("No context found for version 1.");return v}},58948:function(Z,T,t){"use strict";t.d(T,{GO:function(){return E},K8:function(){return w},M1:function(){return f},Mr:function(){return m},Wo:function(){return d}});var o=t(85668);const i=72,u=24,A=18,m={drawerWidthClosed:i,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:i,iconSize:i-u*2,iconPadding:u,selectedIndicatorWidth:3,userBadgePadding:A,userBadgeDiameter:i-A*2,mobileSidebarHeight:56},f=v=>({...m,...v,iconContainerWidth:m.drawerWidthClosed,iconSize:m.drawerWidthClosed-m.iconPadding*2,userBadgeDiameter:m.drawerWidthClosed-m.userBadgePadding*2}),c={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:m.defaultOpenDelayMs+200},d=v=>({...c,...v}),C="@backstage/core/sidebar-intro-dismissed",E=(0,o.createContext)({sidebarConfig:m,submenuConfig:c}),w=(0,o.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}})},73556:function(Z,T,t){"use strict";t.d(T,{cz:function(){return c},sT:function(){return f}});var o=t(77e3),i=t(42772),u=t(68080),A=t(85668);const m=(0,i.IR)("analytics-context"),f=()=>{const C=(0,A.useContext)(m);if(C===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const E=C.atVersion(1);if(E===void 0)throw new Error("No context found for version 1.");return E},c=C=>{const{attributes:E,children:w}=C,O={...f(),...E},g=(0,u.O)({1:O});return(0,o.jsx)(m.Provider,{value:g,children:w})};function d(C,E){const w=v=>_jsx(c,{attributes:E,children:_jsx(C,{...v})});return w.displayName=`WithAnalyticsContext(${C.displayName||C.name||"Component"})`,w}},51728:function(Z,T,t){"use strict";t.d(T,{A:function(){return m},E:function(){return A}});var o=t(51512),i=t(12539);const u=(0,i.U)("core-plugin-api:analytics-tracker-events",()=>({mostRecentGatheredNavigation:void 0,mostRecentRoutableExtensionRender:void 0,beforeUnloadRegistered:!1})),A="_ROUTABLE-EXTENSION-RENDERED";class m{setContext(c){this.context=c}captureEvent(c,d,{value:C,attributes:E}={}){const{_routeNodeType:w,...v}=this.context;if(c===A){u.mostRecentGatheredNavigation&&(u.mostRecentRoutableExtensionRender={context:{...v,extension:"App"}});return}if(u.mostRecentGatheredNavigation){try{this.analyticsApi.captureEvent({...u.mostRecentGatheredNavigation,...u.mostRecentRoutableExtensionRender})}catch(O){console.warn("Error during analytics event capture. %o",O)}u.mostRecentGatheredNavigation=void 0,u.mostRecentRoutableExtensionRender=void 0}if(c==="navigate"&&w==="gathered"&&v.pluginId==="root"){u.mostRecentGatheredNavigation={action:c,subject:d,value:C,attributes:E,context:v};return}try{this.analyticsApi.captureEvent({action:c,subject:d,value:C,attributes:E,context:v})}catch(O){console.warn("Error during analytics event capture. %o",O)}}constructor(c,d={routeRef:"unknown",pluginId:"root",extension:"App"}){(0,o._)(this,"analyticsApi",void 0),(0,o._)(this,"context",void 0),this.analyticsApi=c,this.context=d,u.beforeUnloadRegistered||(addEventListener("beforeunload",()=>{u.mostRecentGatheredNavigation&&(this.analyticsApi.captureEvent({...u.mostRecentGatheredNavigation,...u.mostRecentRoutableExtensionRender}),u.mostRecentGatheredNavigation=void 0,u.mostRecentRoutableExtensionRender=void 0)},{once:!0,passive:!0}),u.beforeUnloadRegistered=!0)}}},34420:function(Z,T,t){"use strict";t.d(T,{S:function(){return c}});var o=t(73556),i=t(15940),u=t(12412),A=t(85668),m=t(51728);function f(){try{return(0,i.yk)(u.G)}catch{return{captureEvent:()=>{}}}}function c(){const d=(0,A.useRef)(null),C=(0,o.sT)(),E=f();function w(){return d.current===null&&(d.current=new m.A(E)),d.current}const v=w();return v.setContext(C),v}},36352:function(Z,T,t){"use strict";t.d(T,{M:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.alert"})},12412:function(Z,T,t){"use strict";t.d(T,{G:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.analytics"})},36336:function(Z,T,t){"use strict";t.d(T,{c:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.config"})},43756:function(Z,T,t){"use strict";t.d(T,{y:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.discovery"})},63908:function(Z,T,t){"use strict";t.d(T,{m:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.error"})},40208:function(Z,T,t){"use strict";t.d(T,{O:function(){return i},a:function(){return u}});var o=t(18096),i;(function(A){A[A.None=0]="None",A[A.Active=1]="Active"})(i||(i={}));const u=(0,o.S)({id:"core.featureflags"})},67640:function(Z,T,t){"use strict";t.d(T,{_:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.fetch"})},89640:function(Z,T,t){"use strict";t.d(T,{S:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.identity"})},70660:function(Z,T,t){"use strict";t.d(T,{A:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"core.translation"})},18096:function(Z,T,t){"use strict";t.d(T,{S:function(){return u}});var o=t(51512);class i{get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}constructor(m){if((0,o._)(this,"config",void 0),this.config=m,!m.id.split(".").flatMap(c=>c.split("-")).every(c=>c.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${m.id}'`)}}function u(A){return new i(A)}},68108:function(Z,T,t){"use strict";t.d(T,{Q:function(){return o}});function o(i,u){return"id"in i?{api:i,deps:{},factory:()=>u}:i}},15940:function(Z,T,t){"use strict";t.d(T,{yi:function(){return m},yk:function(){return f}});var o=t(77e3),i=t(85668),u=t(42772),A=t(12416);function m(){const d=(0,u.eW)("api-context");if(!d)throw new A.g7("API context is not available");const C=d.atVersion(1);if(!C)throw new A.g7("ApiContext v1 not available");return C}function f(d){const E=m().get(d);if(!E)throw new A.g7(`No implementation available for ${d}`);return E}function c(d){return function(E){const w=O=>{const g=m(),I={};for(const P in d)if(d.hasOwnProperty(P)){const y=d[P],D=g.get(y);if(!D)throw new NotImplementedError(`No implementation available for ${y}`);I[P]=D}return _jsx(E,{...O,...I})},v=E.displayName||E.name||"Component";return w.displayName=`withApis(${v})`,w}}},65252:function(Z,T,t){"use strict";t.d(T,{I:function(){return i}});var o=t(42772);const i=()=>{const u=(0,o.eW)("app-context");if(!u)throw new Error("App context is not available");const A=u.atVersion(1);if(!A)throw new Error("AppContext v1 not available");return A}},61552:function(Z,T,t){"use strict";t.d(T,{q:function(){return m},w:function(){return A}});var o=t(12539);const i=(0,o.U)("component-data-store",()=>new WeakMap),u="__backstage_data";function A(f,c,d){const C=f;var E;let w=(E=C[u])!==null&&E!==void 0?E:i.get(f);if(w||(w={map:new Map},Object.defineProperty(C,u,{enumerable:!1,configurable:!0,writable:!1,value:w}),i.set(f,w)),w.map.has(c)){const v=f.displayName||f.name;throw new Error(`Attempted to attach duplicate data "${c}" to component "${v}"`)}w.map.set(c,d)}function m(f,c){if(!f)return;const d=f.type;if(!d)return;var C;const E=(C=d[u])!==null&&C!==void 0?C:i.get(d);if(E)return E.map.get(c)}},65016:function(Z,T,t){"use strict";t.d(T,{cT:function(){return v},uQ:function(){return O},Wm:function(){return w}});var o=t(77e3),i=t(85668),u=t(34420),A=t(73556),m=t(65252),f=t(98832),c=t(61552),d=t(51512);class C extends i.Component{static getDerivedStateFromError(I){return{error:I}}render(){const{error:I}=this.state,{app:P,plugin:y}=this.props,{ErrorBoundaryFallback:D}=P.getComponents();return I?(0,o.jsx)(D,{error:I,resetError:this.handleErrorReset,plugin:y}):this.props.children}constructor(...I){super(...I),(0,d._)(this,"state",{error:void 0}),(0,d._)(this,"handleErrorReset",()=>{this.setState({error:void 0})})}}var E=t(51728);function w(g){const{component:I,mountPoint:P,name:y}=g;return O({component:{lazy:()=>I().then(D=>{const M=H=>{const Q=(0,u.S)();try{(0,f.M)(P)}catch(q){if(typeof q=="object"&&q!==null){const{message:z}=q;if(typeof z=="string"&&z.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${P} was not discovered in the app element tree. Routable extension components may not be rendered by other components and must be directly available as an element within the App provider component.`)}throw q}return(0,i.useEffect)(()=>{Q.captureEvent(E.E,"")},[Q]),(0,o.jsx)(D,{...H})},b=y||D.displayName||D.name||"LazyComponent";return M.displayName=`RoutableExtension(${b})`,M},D=>b=>{const H=(0,m.I)(),{BootErrorPage:Q}=H.getComponents();return(0,o.jsx)(Q,{step:"load-chunk",error:D})})},data:{"core.mountPoint":P},name:y})}function v(g){const{component:I,name:P}=g;return O({component:I,name:P})}function O(g){const{data:I={},name:P}=g;P||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let y;if("lazy"in g.component){const M=g.component.lazy;y=(0,i.lazy)(()=>M().then(b=>({default:b})))}else y=g.component.sync;const D=P||y.displayName||y.name||"Component";return{expose(M){const b=H=>{const Q=(0,m.I)(),{Progress:q}=Q.getComponents(),z=I==null?void 0:I["core.mountPoint"];return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(q,{}),children:(0,o.jsx)(C,{app:Q,plugin:M,children:(0,o.jsx)(A.cz,{attributes:{pluginId:M.getId(),...P&&{extension:P},...z&&{routeRef:z.id}},children:(0,o.jsx)(y,{...H})})})})};(0,c.w)(b,"core.plugin",M),(0,c.w)(b,"core.extensionName",P);for(const[H,Q]of Object.entries(I))(0,c.w)(b,H,Q);return b.displayName=`Extension(${D})`,b}}}},62240:function(Z,T,t){"use strict";t.d(T,{a:function(){return d}});var o=t(51512),i=t(85668),u=t(61552),A=t(15940),m=t(40208);function f(C,E,w,v){return i.Children.toArray(C).flatMap(O=>{if(!(0,i.isValidElement)(O))return[];if(O.type===i.Fragment)return f(O.props.children,E,w,v);if((0,u.q)(O,"core.featureFlagged")){const g=O.props;return("with"in g?E.isActive(g.with):!E.isActive(g.without))?f(O.props.children,E,w,v):[]}if(w===void 0||w(O))return[O];if(v)throw new Error(v);return f(O.props.children,E,w,v)})}class c{selectByComponentData(E){const w=f(this.node,this.featureFlagsApi,v=>(0,u.q)(v,E.key)!==void 0,E.withStrictError);return new c(w,this.featureFlagsApi)}findComponentData(E){return f(this.node,this.featureFlagsApi,v=>(0,u.q)(v,E.key)!==void 0).map(v=>(0,u.q)(v,E.key)).filter(v=>v!==void 0)}getElements(){return f(this.node,this.featureFlagsApi)}constructor(E,w){(0,o._)(this,"node",void 0),(0,o._)(this,"featureFlagsApi",void 0),this.node=E,this.featureFlagsApi=w}}function d(C,E,w=[]){const v=(0,A.yk)(m.a),O=new c(C,v);return(0,i.useMemo)(()=>E(O),[C,...w])}},6344:function(Z,T,t){"use strict";t.d(T,{a:function(){return u}});var o=t(51512);class i{getId(){return this.config.id}getApis(){var m;return(m=this.config.apis)!==null&&m!==void 0?m:[]}getFeatureFlags(){var m,f;return(f=(m=this.config.featureFlags)===null||m===void 0?void 0:m.slice())!==null&&f!==void 0?f:[]}get routes(){var m;return(m=this.config.routes)!==null&&m!==void 0?m:{}}get externalRoutes(){var m;return(m=this.config.externalRoutes)!==null&&m!==void 0?m:{}}provide(m){return m.expose(this)}toString(){return`plugin{${this.config.id}}`}constructor(m){(0,o._)(this,"config",void 0),this.config=m}}function u(A){return new i(A)}},8256:function(Z,T,t){"use strict";t.d(T,{C:function(){return f}});var o=t(51512),i=t(13800);let u=i.m,A=u;class m{get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}constructor(d,C){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,A,void 0),this.id=d,this.params=C,this[u]="absolute"}}function f(c){var d;return new m(c.id,(d=c.params)!==null&&d!==void 0?d:[])}},13800:function(Z,T,t){"use strict";t.d(T,{m:function(){return i}});var o=t(12539);const i=(0,o.U)("route-ref-type",()=>Symbol("route-ref-type"))},98832:function(Z,T,t){"use strict";t.d(T,{M:function(){return A}});var o=t(85668),i=t(33648),u=t(42772);function A(m){const{pathname:f}=(0,i.IT)(),c=(0,u.eW)("routing-context");if(!c)throw new Error("Routing context is not available");const d=c.atVersion(1),C=(0,o.useMemo)(()=>d&&d.resolve(m,{pathname:f}),[d,m,f]);if(!c)throw new Error("useRouteRef used outside of routing context");if(!d)throw new Error("RoutingContext v1 not available");const E="optional"in m&&m.optional;if(!C&&!E)throw new Error(`No path for ${m}`);return C}},52276:function(Z,T,t){"use strict";t.d(T,{W:function(){return v},s:function(){return w}});var o=t(72576),i=t(96128),u=t(29480),A=t(51512),m=t(14044);function f(O){const g=new Array;function I(P,y){for(const[D,M]of Object.entries(P))typeof M=="string"?g.push([y+D,M]):I(M,`${y}${D}.`)}return I(O,""),Object.fromEntries(g)}var c=new WeakMap,d=new WeakMap,C=new WeakMap;class E{get id(){return(0,o._)(this,c)}get T(){throw new Error("Not implemented")}getDefaultMessages(){return(0,o._)(this,d)}setDefaultResource(g){(0,u._)(this,C,g)}getDefaultResource(){return(0,o._)(this,C)}toString(){return`TranslationRef{id=${this.id}}`}constructor(g){(0,i._)(this,c,{writable:!0,value:void 0}),(0,i._)(this,d,{writable:!0,value:void 0}),(0,i._)(this,C,{writable:!0,value:void 0}),(0,A._)(this,"$$type","@backstage/TranslationRef"),(0,A._)(this,"version","v1"),(0,u._)(this,c,g.id),(0,u._)(this,d,f(g.messages))}}function w(O){const g=new E(O);return O.translations&&g.setDefaultResource((0,m.s)({ref:g,translations:O.translations})),g}function v(O){const g=O;if(g.$$type!=="@backstage/TranslationRef")throw new Error(`Invalid translation ref, bad type '${g.$$type}'`);if(g.version!=="v1")throw new Error(`Invalid translation ref, bad version '${g.version}'`);return g}},14044:function(Z,T,t){"use strict";t.d(T,{e:function(){return o},s:function(){return i}});function o(u){const A=u;if(A.$$type!=="@backstage/TranslationResource")throw new Error(`Invalid translation resource, bad type '${A.$$type}'`);if(A.version!=="v1")throw new Error(`Invalid translation resource, bad version '${A.version}'`);return A}function i(u){return{$$type:"@backstage/TranslationResource",version:"v1",id:u.ref.id,resources:Object.entries(u.translations).map(([A,m])=>({language:A,loader:()=>m().then(f=>{const c=f.default;return{messages:(c==null?void 0:c.$$type)==="@backstage/TranslationMessages"?c.messages:c}})}))}}},23108:function(Z,T,t){"use strict";t.d(T,{i:function(){return A}});var o=t(51512),i=t(32272);async function u(m){try{const c=await m.text();if(c){var f;if(!((f=m.headers.get("content-type"))===null||f===void 0)&&f.startsWith("application/json"))try{const d=JSON.parse(c);if(d.error&&d.response)return d}catch{}return{error:{name:"Error",message:`Request failed with status ${m.status} ${m.statusText}, ${c}`},response:{statusCode:m.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${m.status} ${m.statusText}`},response:{statusCode:m.status}}}class A extends Error{static async fromResponse(f){const c=await u(f),d=c.response.statusCode||f.status,C=c.error.name||f.statusText,E=`Request failed with ${d} ${C}`,w=(0,i.gt)(c.error);return new A({message:E,response:f,data:c,cause:w})}constructor(f){super(f.message),(0,o._)(this,"response",void 0),(0,o._)(this,"body",void 0),(0,o._)(this,"cause",void 0),this.name="ResponseError",this.response=f.response,this.body=f.data,this.cause=f.cause}}},104:function(Z,T,t){"use strict";t.d(T,{e:function(){return o}});function o(u){if(typeof u!="object"||u===null||Array.isArray(u))return!1;const A=u;return!(typeof A.name!="string"||A.name===""||typeof A.message!="string")}function i(u){if(typeof u!="object"||u===null||Array.isArray(u))throw new Error(`Encountered invalid error, not an object, got '${u}'`);const A=u;if(typeof A.name!="string"||A.name==="")throw new Error(`Encountered error object without a name, got '${u}'`);if(typeof A.message!="string")throw new Error(`Encountered error object without a message, got '${u}'`)}},12416:function(Z,T,t){"use strict";t.d(T,{UL:function(){return d},g7:function(){return w}});var o=t(51512),i=t(104),u=t(32272);class A extends Error{constructor(I,P){var y,D;let M=I;if(P!==void 0){const b=(0,u.qy)(P);M?M+=`; caused by ${b}`:M=`caused by ${b}`}super(M),(0,o._)(this,"cause",void 0),(y=(D=Error).captureStackTrace)===null||y===void 0||y.call(D,this,this.constructor),(!this.name||this.name==="Error")&&this.constructor.name!=="Error"&&(this.name=this.constructor.name),this.cause=(0,i.e)(P)?P:void 0}}class m extends A{constructor(...I){super(...I),(0,o._)(this,"name","InputError")}}class f extends A{constructor(...I){super(...I),(0,o._)(this,"name","AuthenticationError")}}class c extends A{constructor(...I){super(...I),(0,o._)(this,"name","NotAllowedError")}}class d extends A{constructor(...I){super(...I),(0,o._)(this,"name","NotFoundError")}}class C extends A{constructor(...I){super(...I),(0,o._)(this,"name","ConflictError")}}class E extends A{constructor(...I){super(...I),(0,o._)(this,"name","NotModifiedError")}}class w extends A{constructor(...I){super(...I),(0,o._)(this,"name","NotImplementedError")}}class v extends null{}class O extends A{constructor(I,P){super(I,P),this.name=(0,i.e)(P)?P.name:"Error"}}},32272:function(Z,T,t){"use strict";t.d(T,{gt:function(){return m},qy:function(){return f}});var o=t(90200),i=t.n(o),u=t(104);function A(c,d){const E={name:"Unknown",message:"<no reason given>",...serializeErrorInternal(c)};return d!=null&&d.includeStack||delete E.stack,E}function m(c){const d=(0,o.deserializeError)(c);return c.stack||(d.stack=void 0),d}function f(c){if((0,u.e)(c)){const d=String(c);return d!=="[object Object]"?d:`${c.name}: ${c.message}`}return`unknown error '${c}'`}},87676:function(Z,T,t){"use strict";t.d(T,{G:function(){return Ne},u:function(){return He}});var o=t(51512),i=t(78700);const u="amazonaws.com";function A(j){var p;const B=j.getOptionalString("endpoint");var F;const gt=(F=j.getOptionalBoolean("s3ForcePathStyle"))!==null&&F!==void 0?F:!1;let et,Tt;if(B){try{const ve=new URL(B);et=ve.host,Tt=ve.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${B}' is not a valid URL`)}if(Tt!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${B}'`)}else et=u;const _t=j.getOptionalString("accessKeyId"),te=(p=j.getOptionalString("secretAccessKey"))===null||p===void 0?void 0:p.trim(),ge=j.getOptionalString("roleArn"),pe=j.getOptionalString("externalId");return{host:et,endpoint:B,s3ForcePathStyle:gt,accessKeyId:_t,secretAccessKey:te,roleArn:ge,externalId:pe}}function m(j){const p=j.map(A);return p.some(B=>B.host===u)||p.push({host:u}),p}class f{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){return(0,i.kh)(p)}resolveEditUrl(p){return p}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(f,"factory",({config:j})=>{var p;const B=m((p=j.getOptionalConfigArray("integrations.awsS3"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new f(F)),F=>F.config.host)});var c=t(72576),d=t(96128),C=t(29480);const E="GB";var w=new WeakMap,v=new WeakMap,O=new WeakMap,g=new WeakMap,I=new WeakMap,P=new WeakMap,y=new WeakMap;class D{static fromRepoUrl(p){const B=new URL(p);let F,gt,et;const Tt=B.pathname.split("/").map(ve=>decodeURIComponent(ve));if(Tt[2]==="_git"?(F=Tt[1],gt=et=Tt[3]):Tt[3]==="_git"?(F=Tt[1],gt=Tt[2],et=Tt[4]):Tt[4]==="_git"&&(F=`${Tt[1]}/${Tt[2]}`,gt=Tt[3],et=Tt[5]),!F||!gt||!et)throw new Error("Azure URL must point to a git repository");var _t;const te=(_t=B.searchParams.get("path"))!==null&&_t!==void 0?_t:void 0;let ge;const pe=B.searchParams.get("version");if(pe){if(pe.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");ge=pe.slice(2)}return new D(B.origin,F,gt,et,te,ge)}toRepoUrl(){let p;return(0,c._)(this,O)===(0,c._)(this,g)?p=(0,c._)(this,y).call(this,(0,c._)(this,v),"_git",(0,c._)(this,g)):p=(0,c._)(this,y).call(this,(0,c._)(this,v),(0,c._)(this,O),"_git",(0,c._)(this,g)),(0,c._)(this,I)&&p.searchParams.set("path",(0,c._)(this,I)),(0,c._)(this,P)&&p.searchParams.set("version",E+(0,c._)(this,P)),p.toString()}toFileUrl(){if(!(0,c._)(this,I))throw new Error("Azure URL must point to a specific path to be able to download a file");const p=(0,c._)(this,y).call(this,(0,c._)(this,v),(0,c._)(this,O),"_apis","git","repositories",(0,c._)(this,g),"items");return p.searchParams.set("api-version","6.0"),p.searchParams.set("path",(0,c._)(this,I)),(0,c._)(this,P)&&p.searchParams.set("version",(0,c._)(this,P)),p.toString()}toArchiveUrl(){const p=(0,c._)(this,y).call(this,(0,c._)(this,v),(0,c._)(this,O),"_apis","git","repositories",(0,c._)(this,g),"items");return p.searchParams.set("recursionLevel","full"),p.searchParams.set("download","true"),p.searchParams.set("api-version","6.0"),(0,c._)(this,I)&&p.searchParams.set("scopePath",(0,c._)(this,I)),(0,c._)(this,P)&&p.searchParams.set("version",(0,c._)(this,P)),p.toString()}toCommitsUrl(){const p=(0,c._)(this,y).call(this,(0,c._)(this,v),(0,c._)(this,O),"_apis","git","repositories",(0,c._)(this,g),"commits");return p.searchParams.set("api-version","6.0"),(0,c._)(this,P)&&p.searchParams.set("searchCriteria.itemVersion.version",(0,c._)(this,P)),p.toString()}getOwner(){return(0,c._)(this,v)}getProject(){return(0,c._)(this,O)}getRepo(){return(0,c._)(this,g)}getPath(){return(0,c._)(this,I)}getRef(){return(0,c._)(this,P)}constructor(p,B,F,gt,et,Tt){(0,d._)(this,w,{writable:!0,value:void 0}),(0,d._)(this,v,{writable:!0,value:void 0}),(0,d._)(this,O,{writable:!0,value:void 0}),(0,d._)(this,g,{writable:!0,value:void 0}),(0,d._)(this,I,{writable:!0,value:void 0}),(0,d._)(this,P,{writable:!0,value:void 0}),(0,d._)(this,y,{writable:!0,value:(..._t)=>{const te=new URL((0,c._)(this,w));return te.pathname=_t.map(ge=>encodeURIComponent(ge)).join("/"),te}}),(0,C._)(this,w,p),(0,C._)(this,v,B),(0,C._)(this,O,F),(0,C._)(this,g,gt),(0,C._)(this,I,et),(0,C._)(this,P,Tt)}}const M="dev.azure.com",b=["clientId","clientSecret","tenantId","personalAccessToken"],H=new Map([["ClientSecret",["clientId","clientSecret","tenantId"]],["ManagedIdentity",["clientId"]],["PersonalAccessToken",["personalAccessToken"]]]);function Q(j){for(const p of H.entries()){const[B,F]=p,gt=b.filter(et=>!F.includes(et));if(F.every(et=>j[et]!==void 0)&&gt.every(et=>j[et]===void 0))return{kind:B,organizations:j.organizations,...F.reduce((et,Tt)=>(et[Tt]=j[Tt],et),{})}}throw new Error("is not a valid credential")}function q(j){var p,B,F;const gt=(F=j.getOptionalString("host"))!==null&&F!==void 0?F:M;let et=(p=j.getOptionalConfigArray("credentials"))===null||p===void 0?void 0:p.map(de=>{var Qt,we;return{organizations:de.getOptionalStringArray("organizations"),personalAccessToken:(Qt=de.getOptionalString("personalAccessToken"))===null||Qt===void 0?void 0:Qt.trim(),tenantId:de.getOptionalString("tenantId"),clientId:de.getOptionalString("clientId"),clientSecret:(we=de.getOptionalString("clientSecret"))===null||we===void 0?void 0:we.trim()}});const Tt=(B=j.getOptionalString("token"))===null||B===void 0?void 0:B.trim();if(j.getOptional("credential")!==void 0&&j.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'credential' and 'credentials' cannot be used together. Use 'credentials' instead.");if(j.getOptional("token")!==void 0&&j.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'token' and 'credentials' cannot be used together. Use 'credentials' instead.");if(Tt!==void 0){const de=[{personalAccessToken:Tt}];var _t;et=(_t=et==null?void 0:et.concat(de))!==null&&_t!==void 0?_t:de}if(j.getOptional("credential")!==void 0){var te,ge;const de=[{organizations:j.getOptionalStringArray("credential.organizations"),token:(te=j.getOptionalString("credential.token"))===null||te===void 0?void 0:te.trim(),tenantId:j.getOptionalString("credential.tenantId"),clientId:j.getOptionalString("credential.clientId"),clientSecret:(ge=j.getOptionalString("credential.clientSecret"))===null||ge===void 0?void 0:ge.trim()}];var pe;et=(pe=et==null?void 0:et.concat(de))!==null&&pe!==void 0?pe:de}if(!(0,i.MB)(gt))throw new Error(`Invalid Azure integration config, '${gt}' is not a valid host`);let ve;if(et!==void 0){const de=et==null?void 0:et.reduce((Qt,we,Me)=>{let Nt;try{Q(we)}catch(ne){Nt=ne.message}return Nt!==void 0&&Qt.push(`credential at position ${Me+1} ${Nt}`),Qt},Array.of()).concat(Object.entries(et.filter(Qt=>Qt.organizations!==void 0&&Qt.organizations.length>0).reduce((Qt,we,Me)=>{var Nt;return(Nt=we.organizations)===null||Nt===void 0||Nt.forEach(ne=>{Qt[ne]||(Qt[ne]=[]),Qt[ne].push(Me+1)}),Qt},{})).filter(([Qt,we])=>we.length>1).reduce((Qt,[we,Me])=>(Qt.push(`organization ${we} is specified multiple times in credentials at positions ${Me.slice(0,Me.length-1).join(", ")} and ${Me[Me.length-1]}`),Qt),Array.of()));if((de==null?void 0:de.length)>0)throw new Error(`Invalid Azure integration config for ${gt}: ${de.join("; ")}`);if(ve=et.map(Qt=>Q(Qt)),ve.some(Qt=>Qt.kind!=="PersonalAccessToken")&&gt!==M)throw new Error(`Invalid Azure integration config for ${gt}, only personal access tokens can be used with hosts other than ${M}`);if(ve.filter(Qt=>Qt.organizations===void 0||Qt.organizations.length===0).length>1)throw new Error(`Invalid Azure integration config for ${gt}, you cannot specify multiple credentials without organizations`)}return{host:gt,credentials:ve}}function z(j){const p=j.map(q);return p.some(B=>B.host===M)||p.push({host:M}),p}class k{get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){const{url:B,base:F}=p;if((0,i.i0)(B))return B;try{const et=D.fromRepoUrl(F),Tt=new URL(F);var gt;const _t=new URL(`https://a.com${(gt=et.getPath())!==null&&gt!==void 0?gt:""}`),te=new URL(B,_t).pathname;return Tt.searchParams.set("path",te),p.lineNumber&&(Tt.searchParams.set("line",String(p.lineNumber)),Tt.searchParams.set("lineEnd",String(p.lineNumber+1)),Tt.searchParams.set("lineStartColumn","1"),Tt.searchParams.set("lineEndColumn","1")),Tt.toString()}catch{return new URL(B,F).toString()}}resolveEditUrl(p){return p}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(k,"factory",({config:j})=>{var p;const B=z((p=j.getOptionalConfigArray("integrations.azure"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new k(F)),F=>F.config.host)});var N=t(18480),J=t.n(N);const nt="bitbucket.org",it="https://api.bitbucket.org/2.0";function yt(j){var p;const B=nt,F=it,gt=j.getString("username"),et=(p=j.getString("appPassword"))===null||p===void 0?void 0:p.trim();return{host:B,apiBaseUrl:F,username:gt,appPassword:et}}function ft(j){const p=j.map(yt);return p.length===0&&p.push({host:nt,apiBaseUrl:it}),p}class wt{get type(){return"bitbucketCloud"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){const B=(0,i.kh)(p);if(p.lineNumber){const F=new URL(B);return F.hash=`lines-${p.lineNumber}`,F.toString()}return B}resolveEditUrl(p){const B=J()(p),F=new URL(p);return F.searchParams.set("mode","edit"),F.searchParams.set("at",B.ref),F.toString()}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(wt,"factory",({config:j})=>{var p;const B=ft((p=j.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new wt(F)),F=>F.config.host)});var ct=t(67928);const xt="bitbucket.org",at="https://api.bitbucket.org/2.0";function V(j){var p,B,F;const gt=(F=j.getOptionalString("host"))!==null&&F!==void 0?F:xt;let et=j.getOptionalString("apiBaseUrl");const Tt=(p=j.getOptionalString("token"))===null||p===void 0?void 0:p.trim(),_t=j.getOptionalString("username"),te=(B=j.getOptionalString("appPassword"))===null||B===void 0?void 0:B.trim();if(!(0,i.MB)(gt))throw new Error(`Invalid Bitbucket integration config, '${gt}' is not a valid host`);return et?et=(0,ct.trimEnd)(et,"/"):gt===xt?et=at:et=`https://${gt}/rest/api/1.0`,{host:gt,apiBaseUrl:et,token:Tt,username:_t,appPassword:te}}function st(j){const p=j.map(V);return p.some(B=>B.host===xt)||p.push({host:xt,apiBaseUrl:at}),p}class Ct{get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){const B=(0,i.kh)(p);if(!p.lineNumber)return B;const F=new URL(B);return this.integrationConfig.host==="bitbucket.org"?F.hash=`lines-${p.lineNumber}`:F.hash=`${p.lineNumber}`,F.toString()}resolveEditUrl(p){const B=J()(p),F=new URL(p);return F.searchParams.set("mode","edit"),F.searchParams.set("spa","0"),F.searchParams.set("at",B.ref),F.toString()}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(Ct,"factory",({config:j})=>{var p,B,F;const gt=st((F=j.getOptionalConfigArray("integrations.bitbucket"))!==null&&F!==void 0?F:[...(p=j.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&p!==void 0?p:[],...(B=j.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&B!==void 0?B:[]]);return(0,i.Kc)(gt.map(et=>new Ct(et)),et=>et.config.host)});function St(j){var p;const B=j.getString("host");let F=j.getOptionalString("apiBaseUrl");const gt=(p=j.getOptionalString("token"))===null||p===void 0?void 0:p.trim(),et=j.getOptionalString("username"),Tt=j.getOptionalString("password");if(!(0,i.MB)(B))throw new Error(`Invalid Bitbucket Server integration config, '${B}' is not a valid host`);return F?F=(0,ct.trimEnd)(F,"/"):F=`https://${B}/rest/api/1.0`,{host:B,apiBaseUrl:F,token:gt,username:et,password:Tt}}function At(j){return j.map(St)}class ht{get type(){return"bitbucketServer"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){const B=(0,i.kh)(p);if(p.lineNumber){const F=new URL(B);return F.hash=p.lineNumber.toString(),F.toString()}return B}resolveEditUrl(p){return p.includes("?")?p.substring(0,p.indexOf("?")):p}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(ht,"factory",({config:j})=>{var p;const B=At((p=j.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new ht(F)),F=>F.config.host)});function lt(j){var p;const B=j.getString("host");let F=j.getOptionalString("baseUrl"),gt=j.getOptionalString("cloneUrl"),et=j.getOptionalString("gitilesBaseUrl");const Tt=j.getOptionalString("username"),_t=(p=j.getOptionalString("password"))===null||p===void 0?void 0:p.trim();if((0,i.MB)(B)){if(F&&!(0,i.i0)(F))throw new Error(`Invalid Gerrit integration config, '${F}' is not a valid baseUrl`);if(gt&&!(0,i.i0)(gt))throw new Error(`Invalid Gerrit integration config, '${gt}' is not a valid cloneUrl`);if(et&&!(0,i.i0)(et))throw new Error(`Invalid Gerrit integration config, '${et}' is not a valid gitilesBaseUrl`)}else throw new Error(`Invalid Gerrit integration config, '${B}' is not a valid host`);return F?F=(0,ct.trimEnd)(F,"/"):F=`https://${B}`,et?et=(0,ct.trimEnd)(et,"/"):et=`https://${B}`,gt?gt=(0,ct.trimEnd)(gt,"/"):gt=F,{host:B,baseUrl:F,cloneUrl:gt,gitilesBaseUrl:et,username:Tt,password:_t}}function pt(j){return j.map(lt)}var G=t(52768).Sn;const K=")]}'";function tt(j,p){const B=new URL(j.gitilesBaseUrl),F=new URL(p),et=F.pathname.substring(F.pathname.startsWith("/a/")?2:0).replace(B.pathname,"").split("/").filter(ve=>!!ve),Tt=et.indexOf("+");if(Tt<=0)throw new Error(`Unable to parse project from url: ${p}`);const _t=(0,ct.trimStart)(et.slice(0,Tt).join("/"),"/"),te=et.indexOf("heads");if(te<=0)throw new Error(`Unable to parse branch from url: ${p}`);const ge=et[te+1],pe=et.slice(te+2).join("/");return{branch:ge,filePath:pe===""?"/":pe,project:_t}}function rt(j,p,B,F){return`${j.gitilesBaseUrl}/${p}/+/refs/heads/${B}/${(0,ct.trimStart)(F,"/")}`}function vt(j,p,B,F){const gt=F==="/"||F===""?".tar.gz":`/${F}.tar.gz`;return`${jt(j)}/${p}/+archive/refs/heads/${B}${gt}`}function mt(j){return j.password?"/a/":"/"}function jt(j){if(!j.baseUrl||!j.gitilesBaseUrl)throw new Error("Unexpected Gerrit config values. baseUrl or gitilesBaseUrl not set.");if(j.gitilesBaseUrl.startsWith(j.baseUrl))return j.gitilesBaseUrl.replace(j.baseUrl.concat("/"),j.baseUrl.concat(mt(j)));if(j.password)throw new Error("Since the baseUrl (Gerrit) is not part of the gitilesBaseUrl, an authentication URL could not be constructed.");return j.gitilesBaseUrl}function Kt(j,p){const{branch:B,project:F}=tt(j,p);return`${j.baseUrl}${mt(j)}projects/${encodeURIComponent(F)}/branches/${B}`}function Bt(j,p){const{project:B}=tt(j,p);return`${j.cloneUrl}${mt(j)}${B}`}function $t(j,p){const{branch:B,filePath:F,project:gt}=tt(j,p);return`${j.baseUrl}${mt(j)}projects/${encodeURIComponent(gt)}/branches/${B}/files/${encodeURIComponent(F)}/content`}function Dt(j){return`${j.baseUrl}${mt(j)}projects/`}function Vt(j){const p={};if(!j.password)return p;const B=G.from(`${j.username}:${j.password}`,"utf8");return p.Authorization=`Basic ${B.toString("base64")}`,{headers:p}}async function De(j){const p=await j.text();if(p.startsWith(K))try{return JSON.parse(p.slice(K.length))}catch(B){throw new Error(`Invalid response from Gerrit: ${p.slice(0,10)} - ${B}`)}throw new Error(`Gerrit JSON body prefix missing. Found: ${p.slice(0,10)}`)}class fe{get type(){return"gerrit"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){const{url:B,base:F,lineNumber:gt}=p;let et;if(B.startsWith("/")){const{branch:Tt,project:_t}=tt(this.config,F);return rt(this.config,_t,Tt,B)}return B?et=new URL(B,F):et=new URL(F),gt&&(et.hash=gt.toString()),et.toString()}resolveEditUrl(p){return p}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(fe,"factory",({config:j})=>{var p;const B=pt((p=j.getOptionalConfigArray("integrations.gerrit"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new fe(F)),F=>F.config.host)});var se=t(64944);const Xt="gitlab.com",Mt="https://gitlab.com/api/v4";function Gt(j){var p;const B=j.getString("host");let F=j.getOptionalString("apiBaseUrl");const gt=(p=j.getOptionalString("token"))===null||p===void 0?void 0:p.trim();let et=j.getOptionalString("baseUrl");if(F?F=(0,ct.trimEnd)(F,"/"):B===Xt&&(F=Mt),et?et=(0,ct.trimEnd)(et,"/"):et=`https://${B}`,(0,i.MB)(B)){if(!F||!(0,i.i0)(F))throw new Error(`Invalid GitLab integration config, '${F}' is not a valid apiBaseUrl`);if(!(0,i.i0)(et))throw new Error(`Invalid GitLab integration config, '${et}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${B}' is not a valid host`);return{host:B,token:gt,apiBaseUrl:F,baseUrl:et}}function be(j){const p=j.map(Gt);return p.some(B=>B.host===Xt)||p.push({host:Xt,apiBaseUrl:Mt,baseUrl:`https://${Xt}`}),p}function Ge(j){let p="";return j.host!==Xt&&(p=new URL(j.baseUrl).pathname),trimEnd(p,"/")}class xe{get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){return(0,i.kh)(p)}resolveEditUrl(p){return on(p,"edit")}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(xe,"factory",({config:j})=>{var p;const B=be((p=j.getOptionalConfigArray("integrations.gitlab"))!==null&&p!==void 0?p:[]);return(0,i.Kc)(B.map(F=>new xe(F)),F=>F.config.host)});function on(j,p){return j.replace(/\/\-\/(blob|tree|edit)\//,`/-/${p}/`)}function Xe(j){var p;const B=j.getString("host");let F=j.getOptionalString("baseUrl");const gt=j.getOptionalString("username"),et=(p=j.getOptionalString("password"))===null||p===void 0?void 0:p.trim();if(!(0,i.MB)(B))throw new Error(`Invalid Gitea integration config, '${B}' is not a valid host`);return F?F=(0,ct.trimEnd)(F,"/"):F=`https://${B}`,{host:B,baseUrl:F,username:gt,password:et}}var _e=t(52768).Sn;function Ve(j,p){const B=Ue(j,p);return`${B.url}/${B.owner}/${B.name}/_edit/${B.ref}/${B.path}`}function le(j,p){const B=Ue(j,p);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/contents/${B.path}?ref=${B.ref}`}function ze(j,p){const B=Ue(j,p);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/archive/${B.ref}.tar.gz`}function ke(j,p){const B=Ue(j,p);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/git/commits/${B.ref}`}function cn(j){const p={},{username:B,password:F}=j;return F?(B?p.Authorization=`basic ${_e.from(`${B}:${F}`).toString("base64")}`:p.Authorization=`token ${F}`,{headers:p}):p}function Ue(j,p){var B;const F=(B=j.baseUrl)!==null&&B!==void 0?B:`https://${j.host}`;try{const[gt,et,Tt,_t,te,ge,...pe]=p.replace(F,"").split("/"),ve=pe.join("/").replace(/^\//,"");return{url:F,owner:et,name:Tt,ref:ge,path:ve}}catch(gt){throw new Error(`Incorrect URL: ${p}, ${gt}`)}}class ce{get type(){return"gitea"}get title(){return this.config.host}resolveUrl(p){return(0,i.kh)(p)}resolveEditUrl(p){return Ve(this.config,p)}constructor(p){(0,o._)(this,"config",void 0),this.config=p}}(0,o._)(ce,"factory",({config:j})=>{var p;const F=((p=j.getOptionalConfigArray("integrations.gitea"))!==null&&p!==void 0?p:[]).map(gt=>Xe(gt));return(0,i.Kc)(F.map(gt=>new ce(gt)),gt=>gt.config.host)});class Qe{static fromConfig(p){return new Qe({awsS3:f.factory({config:p}),azure:k.factory({config:p}),bitbucket:Ct.factory({config:p}),bitbucketCloud:wt.factory({config:p}),bitbucketServer:ht.factory({config:p}),gerrit:fe.factory({config:p}),github:se.u.factory({config:p}),gitlab:xe.factory({config:p}),gitea:ce.factory({config:p})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get bitbucketCloud(){return this.byType.bitbucketCloud}get bitbucketServer(){return this.byType.bitbucketServer}get gerrit(){return this.byType.gerrit}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}get gitea(){return this.byType.gitea}list(){return Object.values(this.byType).flatMap(p=>p.list())}byUrl(p){let B=Object.values(this.byType).map(F=>F.byUrl(p)).filter(Boolean);if(B.length>1){const F=B.filter(gt=>!(gt instanceof Ct));F.length!==0&&(B=F)}return B[0]}byHost(p){return Object.values(this.byType).map(B=>B.byHost(p)).find(Boolean)}resolveUrl(p){const B=this.byUrl(p.base);return B?B.resolveUrl(p):(0,i.kh)(p)}resolveEditUrl(p){const B=this.byUrl(p);return B?B.resolveEditUrl(p):p}constructor(p){(0,o._)(this,"byType",void 0),this.byType=p}}var Oe=t(18096);class Ne{static fromConfig(p){return Qe.fromConfig(p)}}const He=(0,Oe.S)({id:"integration.scmintegrations"})},64944:function(Z,T,t){"use strict";t.d(T,{u:function(){return C},i:function(){return E}});var o=t(51512),i=t(78700),u=t(67928);const A="github.com",m="https://api.github.com",f="https://raw.githubusercontent.com";function c(w){var v,O,g;const I=(g=w.getOptionalString("host"))!==null&&g!==void 0?g:A;let P=w.getOptionalString("apiBaseUrl"),y=w.getOptionalString("rawBaseUrl");const D=(v=w.getOptionalString("token"))===null||v===void 0?void 0:v.trim(),M=(O=w.getOptionalConfigArray("apps"))===null||O===void 0?void 0:O.map(b=>({appId:b.getNumber("appId"),clientId:b.getString("clientId"),clientSecret:b.getString("clientSecret"),webhookSecret:b.getString("webhookSecret"),privateKey:b.getString("privateKey"),allowedInstallationOwners:b.getOptionalStringArray("allowedInstallationOwners")}));if(!(0,i.MB)(I))throw new Error(`Invalid GitHub integration config, '${I}' is not a valid host`);return P?P=(0,u.trimEnd)(P,"/"):I===A&&(P=m),y?y=(0,u.trimEnd)(y,"/"):I===A&&(y=f),{host:I,apiBaseUrl:P,rawBaseUrl:y,token:D,apps:M}}function d(w){const v=w.map(c);return v.some(O=>O.host===A)||v.push({host:A,apiBaseUrl:m,rawBaseUrl:f}),v}class C{get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){return E((0,i.kh)(v),"tree")}resolveEditUrl(v){return E(v,"edit")}parseRateLimitInfo(v){return{isRateLimited:v.status===429||v.status===403&&v.headers.get("x-ratelimit-remaining")==="0"}}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(C,"factory",({config:w})=>{var v;const O=d((v=w.getOptionalConfigArray("integrations.github"))!==null&&v!==void 0?v:[]);return(0,i.Kc)(O.map(g=>new C(g)),g=>g.config.host)});function E(w,v){return w.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(O,g,I,P)=>`//${g}/${I}/${P}/${v}/`)}},78700:function(Z,T,t){"use strict";t.d(T,{Kc:function(){return c},MB:function(){return m},i0:function(){return f},kh:function(){return d}});var o=t(18480),i=t.n(o),u=t(67928),A=t.n(u);function m(E){const w=new URL("http://example.com");return w.host=E,w.host===E}function f(E){try{return new URL(E),!0}catch{return!1}}function c(E,w){return{list(){return E},byUrl(v){try{const O=typeof v=="string"?new URL(v):v;return E.find(g=>w(g)===O.host)}catch{return}},byHost(v){return E.find(O=>w(O)===v)}}}function d(E){const{url:w,base:v,lineNumber:O}=E;try{return new URL(w),w}catch{}let g;if(w.startsWith("/")){const{filepath:I}=i()(v);g=new URL(v);const P=(0,u.trimEnd)(g.pathname.substring(0,g.pathname.length-I.length),"/");g.pathname=`${P}${w}`}else g=new URL(w,v);return g.search=new URL(v).search,O&&(g.hash=`L${O}`),g.toString()}function C(E){beforeAll(()=>E.listen({onUnhandledRequest:"error"})),afterAll(()=>E.close()),afterEach(()=>E.resetHandlers())}},37840:function(Z,T,t){"use strict";var o={};t.r(o),t.d(o,{TechDocsPlugin:function(){return f.Ie}});var i=t(77e3),u=t(85668),A=t(31032),m=t(33648),f=t(85216),c=t(43516),d=t(21016),C=t(70124),E=t(1275),w=t(93444),v=t(89940),O=t(12824),g=t(86968);function I({children:r}){return(0,m.Iz)()?(0,i.jsx)(i.Fragment,{children:r}):(0,i.jsx)(m.wF,{children:r})}const P=()=>(0,i.jsx)(w.a,{status:"404",statusMessage:"PAGE NOT FOUND"}),y=({step:r,error:e})=>{let n="";return r==="load-config"?n=`The configuration failed to load, someone should have a look at this error: ${e.message}`:r==="load-chunk"&&(n=`Lazy loaded chunk failed to load, try to reload the page: ${e.message}`),(0,i.jsx)(I,{children:(0,i.jsx)(w.a,{statusMessage:n,stack:e.stack})})},D=({error:r,resetError:e,plugin:n})=>(0,i.jsx)(v.I,{title:`Error in ${n==null?void 0:n.getId()}`,defaultExpanded:!0,error:r,children:(0,i.jsx)(E.c,{variant:"outlined",onClick:e,children:"Retry"})}),M={Progress:O.b,Router:g.kn,NotFoundErrorPage:P,BootErrorPage:y,ErrorBoundaryFallback:D};var b=t(51512);const H="Invalid discovery URL pattern,";class Q{static compile(e){const n=e.split(/\{\{\s*pluginId\s*\}\}/),s=n.join("pluginId");let a;try{a=new URL(s)}catch{throw new Error(`${H} URL '${s}' is invalid`)}if(a.hash)throw new Error(`${H} URL must not have a hash`);if(a.search)throw new Error(`${H} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${H} URL must not end with a slash`);return new Q(n)}async getBaseUrl(e){return this.parts.join(encodeURIComponent(e))}constructor(e){(0,b._)(this,"parts",void 0),this.parts=e}}var q=t(98880),z=t.n(q);let k=Symbol.observable;class N{[k](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(){(0,b._)(this,"isClosed",!1),(0,b._)(this,"terminatingError",void 0),(0,b._)(this,"observable",new(z())(e=>this.isClosed?(this.terminatingError?e.error(this.terminatingError):e.complete(),()=>{}):(this.subscribers.add(e),()=>{this.subscribers.delete(e)}))),(0,b._)(this,"subscribers",new Set)}}let J=Symbol.observable;class nt{[J](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=e,this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(e){(0,b._)(this,"isClosed",void 0),(0,b._)(this,"currentValue",void 0),(0,b._)(this,"terminatingError",void 0),(0,b._)(this,"observable",void 0),(0,b._)(this,"subscribers",new Set),this.isClosed=!1,this.currentValue=e,this.terminatingError=void 0,this.observable=new(z())(n=>this.isClosed?(this.terminatingError?n.error(this.terminatingError):n.complete(),()=>{}):(n.next(this.currentValue),this.subscribers.add(n),()=>{this.subscribers.delete(n)}))}}class it{post(e){this.subject.next(e)}alert$(){return this.subject}constructor(){(0,b._)(this,"subject",new N)}}class yt{captureEvent(e){}}class ft{post(e,n){return n!=null&&n.hidden||this.alertApi.post({message:e.message,severity:"error"}),this.errorApi.post(e,n)}error$(){return this.errorApi.error$()}constructor(e,n){(0,b._)(this,"alertApi",void 0),(0,b._)(this,"errorApi",void 0),this.alertApi=e,this.errorApi=n}}class wt{post(e,n){this.subject.next({error:e,context:n})}error$(){return this.subject}constructor(){(0,b._)(this,"subject",new N)}}class ct{static forward(e,n){window.addEventListener("unhandledrejection",s=>{e.post(s.reason,n)})}}const xt=new Map;class at{static create(e){var n;return new at((n=e.namespace)!==null&&n!==void 0?n:"",e.errorApi)}static addStorageEventListener(){window.addEventListener("storage",e=>{for(const[s,a]of xt.entries()){var n;!((n=e.key)===null||n===void 0)&&n.startsWith(s)&&a.handleStorageChange(e.key)}})}get(e){return this.snapshot(e).value}snapshot(e){let n,s="absent";try{const a=localStorage.getItem(this.getKeyName(e));a&&(n=JSON.parse(a,(l,S)=>(typeof S=="object"&&S!==null&&Object.freeze(S),S)),s="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${e}`))}return{key:e,value:n,presence:s}}forBucket(e){const n=`${this.namespace}/${e}`;return xt.has(n)||xt.set(n,new at(n,this.errorApi)),xt.get(n)}async set(e,n){localStorage.setItem(this.getKeyName(e),JSON.stringify(n)),this.notifyChanges(e)}async remove(e){localStorage.removeItem(this.getKeyName(e)),this.notifyChanges(e)}observe$(e){return at.hasSubscribed||(at.addStorageEventListener(),at.hasSubscribed=!0),this.observable.filter(({key:n})=>n===e)}handleStorageChange(e){if(!(e!=null&&e.startsWith(this.namespace)))return;const n=e==null?void 0:e.slice(`${this.namespace}/`.length);n.includes("/")||this.notifyChanges(decodeURIComponent(n))}getKeyName(e){return`${this.namespace}/${encodeURIComponent(e)}`}notifyChanges(e){const n=this.snapshot(e);for(const s of this.subscribers)s.next(n)}constructor(e,n){(0,b._)(this,"namespace",void 0),(0,b._)(this,"errorApi",void 0),(0,b._)(this,"subscribers",void 0),(0,b._)(this,"observable",void 0),this.namespace=e,this.errorApi=n,this.subscribers=new Set,this.observable=new(z())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)}))}}(0,b._)(at,"hasSubscribed",!1);function V(r){let e=r.baseImplementation||t.g.fetch;var n;const s=[(n=r.middleware)!==null&&n!==void 0?n:[]].flat().reverse();for(const a of s)e=a.apply(e);return{fetch:e}}class st{static create(e){var n,s;const a=Ct(e),l=((n=e.header)===null||n===void 0?void 0:n.name)||"authorization",S=((s=e.header)===null||s===void 0?void 0:s.value)||(x=>`Bearer ${x}`);return new st(e.identityApi,a,l,S)}apply(e){return async(n,s)=>{const a=new Request(n,s),{token:l}=await this.identityApi.getCredentials();return a.headers.get(this.headerName)||typeof l!="string"||!l||!this.allowUrl(a.url)?e(n,s):(a.headers.set(this.headerName,this.headerValue(l)),e(a))}}constructor(e,n,s,a){(0,b._)(this,"identityApi",void 0),(0,b._)(this,"allowUrl",void 0),(0,b._)(this,"headerName",void 0),(0,b._)(this,"headerValue",void 0),this.identityApi=e,this.allowUrl=n,this.headerName=s,this.headerValue=a}}function Ct(r){return r.allowUrl?r.allowUrl:r.urlPrefixAllowlist?St(r.urlPrefixAllowlist):r.config?St([r.config.getString("backend.baseUrl")]):()=>!1}function St(r){const e=r.map(n=>n.replace(/\/$/,""));return n=>e.some(s=>n===s||n.startsWith(`${s}/`))}function At(r,e){return!e||e==="/"?r:`${r.replace(/\/$/,"")}/${e.replace(/^\//,"")}`}class ht{apply(e){return async(n,s)=>{const a=new Request(n,s),l="plugin://";if(!a.url.startsWith(l))return e(n,s);const{hostname:S,pathname:x,search:L,hash:W,username:X,password:ot}=new URL(`http://${a.url.substring(l.length)}`);let ut=await this.discoveryApi.getBaseUrl(S);if(X||ot){const Ot=new URL(ut),kt=`${X}${ot?`:${ot}`:""}@`;ut=`${Ot.protocol}//${kt}${Ot.host}${Ot.pathname}`}const Et=`${At(ut,x)}${L}${W}`;return e(Et,typeof n=="string"||lt(n)?s:n)}}constructor(e){(0,b._)(this,"discoveryApi",void 0),this.discoveryApi=e}}function lt(r){return typeof r=="object"&&(r==null?void 0:r.constructor)===URL}class pt{static resolvePluginProtocol(e){return new ht(e.discoveryApi)}static injectIdentityAuth(e){return st.create(e)}constructor(){}}function G(r,e){for(const n of e)if(!r.has(n))return!1;return!0}function K(r,...e){const n=new Set(r);for(const s of e)for(const a of s)n.add(a);return n}class tt{request(e){return new Promise((n,s)=>{this.requests.push({scopes:e,resolve:n,reject:s}),this.subject.next(this.getCurrentPending())})}resolve(e,n){this.requests=this.requests.filter(s=>G(e,s.scopes)?(s.resolve(n),!1):!0),this.subject.next(this.getCurrentPending())}reject(e){this.requests.forEach(n=>n.reject(e)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const e=this.requests.length===0?void 0:this.requests.slice(1).reduce((n,s)=>K(n,s.scopes),this.requests[0].scopes);return{scopes:e,resolve:n=>{e&&this.resolve(e,n)},reject:n=>{e&&this.reject(n)}}}constructor(){(0,b._)(this,"requests",[]),(0,b._)(this,"subject",new nt(this.getCurrentPending()))}}class rt{createAuthRequester(e){const n=new tt,s=this.handlerCount;return this.handlerCount++,n.pending().subscribe({next:a=>{const l=this.currentRequests.slice(),S=this.makeAuthRequest(a,e);S?l[s]=S:delete l[s],this.currentRequests=l,this.subject.next(l.filter(Boolean))}}),a=>n.request(a)}makeAuthRequest(e,n){const{scopes:s}=e;if(s)return{provider:n.provider,trigger:async()=>{const a=await n.onAuthRequest(s);e.resolve(a)},reject:()=>{const a=new Error("Login failed, rejected by user");a.name="RejectedError",e.reject(a)}}}authRequest$(){return this.subject}constructor(){(0,b._)(this,"subject",new nt([])),(0,b._)(this,"currentRequests",[]),(0,b._)(this,"handlerCount",0)}}function vt(r){return new Promise((e,n)=>{const s=r.width||500,a=r.height||700,l=window.screen.width/2-s/2,S=window.screen.height/2-a/2,x=window.open(r.url,r.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${s},height=${a},top=${S},left=${l}`);let L="";if(!x||typeof x.closed=="undefined"||x.closed){const ut=new Error("Failed to open auth popup.");ut.name="PopupRejectedError",n(ut);return}const W=ut=>{if(ut.source!==x||ut.origin!==r.origin)return;const{data:Et}=ut;if(Et.type==="config_info"){L=Et.targetOrigin;return}if(Et.type!=="authorization_response")return;const Ot=Et;if("error"in Ot){const kt=new Error(Ot.error.message);kt.name=Ot.error.name,n(kt)}else e(Ot.response);ot()},X=setInterval(()=>{if(x.closed){const ut=`Login failed, ${L&&L!==window.location.origin?`Incorrect app origin, expected ${L}`:"popup was closed"}`,Et=new Error(ut);Et.name="PopupClosedError",n(Et),ot()}},100);function ot(){window.removeEventListener("message",W),clearInterval(X)}window.addEventListener("message",W)})}let mt=!1;function jt(r){return[...r].join(" ")}class Kt{async createSession(e){return e.instantPopup?this.enableExperimentalRedirectFlow?this.executeRedirect(e.scopes):this.showPopup(e.scopes):this.authRequester(e.scopes)}async refreshSession(e){const n=await fetch(await this.buildUrl("/refresh",{optional:!0,...e&&{scope:this.joinScopesFunc(e)}}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(a=>{throw new Error(`Auth refresh request failed, ${a}`)});if(!n.ok){const a=new Error(`Auth refresh request failed, ${n.statusText}`);throw a.status=n.status,a}const s=await n.json();if(s.error){const a=new Error(s.error.message);throw s.error.name&&(a.name=s.error.name),a}return await this.sessionTransform(s)}async removeSession(){const e=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(n=>{throw new Error(`Logout request failed, ${n}`)});if(!e.ok){const n=new Error(`Logout request failed, ${e.statusText}`);throw n.status=e.status,n}}async showPopup(e){var n,s,a,l,S,x,L,W;const X=this.joinScopesFunc(e),ot=await this.buildUrl("/start",{scope:X,origin:window.location.origin,flow:"popup"}),ut=!((s=this.popupOptions)===null||s===void 0||(n=s.size)===null||n===void 0)&&n.fullscreen?window.screen.width:((l=this.popupOptions)===null||l===void 0||(a=l.size)===null||a===void 0?void 0:a.width)||450,Et=!((x=this.popupOptions)===null||x===void 0||(S=x.size)===null||S===void 0)&&S.fullscreen?window.screen.height:((W=this.popupOptions)===null||W===void 0||(L=W.size)===null||L===void 0?void 0:L.height)||730,Ot=await vt({url:ot,name:`${this.provider.title} Login`,origin:new URL(ot).origin,width:ut,height:Et});return await this.sessionTransform(Ot)}async executeRedirect(e){const n=this.joinScopesFunc(e);return window.location.href=await this.buildUrl("/start",{scope:n,origin:window.location.origin,redirectUrl:window.location.href,flow:"redirect"}),new Promise(()=>{})}async buildUrl(e,n){const s=await this.discoveryApi.getBaseUrl("auth"),a=this.buildQueryString({...n,env:this.environment});return`${s}/${this.provider.id}${e}${a}`}buildQueryString(e){if(!e)return"";const n=Object.entries(e).map(([s,a])=>{if(typeof a=="string")return`${encodeURIComponent(s)}=${encodeURIComponent(a)}`;if(a)return encodeURIComponent(s)}).filter(Boolean).join("&");return n?`?${n}`:""}constructor(e){(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"environment",void 0),(0,b._)(this,"provider",void 0),(0,b._)(this,"joinScopesFunc",void 0),(0,b._)(this,"authRequester",void 0),(0,b._)(this,"sessionTransform",void 0),(0,b._)(this,"enableExperimentalRedirectFlow",void 0),(0,b._)(this,"popupOptions",void 0);const{configApi:n,discoveryApi:s,environment:a,provider:l,joinScopes:S=jt,oauthRequestApi:x,sessionTransform:L=ot=>ot,popupOptions:W}=e;!mt&&!n&&(console.warn("DEPRECATION WARNING: Authentication providers require a configApi instance to configure the authentication flow. Please provide one to the authentication provider constructor."),mt=!0);var X;this.enableExperimentalRedirectFlow=n&&(X=n.getOptionalBoolean("enableExperimentalRedirectFlow"))!==null&&X!==void 0?X:!1,this.authRequester=x.createAuthRequester({provider:l,onAuthRequest:async ot=>this.enableExperimentalRedirectFlow?this.executeRedirect(ot):this.showPopup(ot)}),this.discoveryApi=s,this.environment=a,this.provider=l,this.joinScopesFunc=S,this.sessionTransform=L,this.popupOptions=W}}function Bt(r,e){for(const n of e)if(!r.has(n))return!1;return!0}class $t{sessionExistsAndHasScope(e,n){if(!e)return!1;if(!n||this.options.sessionScopes===void 0)return!0;const s=this.options.sessionScopes(e);return Bt(s,n)}getExtendedScope(e,n){const s=new Set(this.options.defaultScopes);if(e&&this.options.sessionScopes!==void 0){const a=this.options.sessionScopes(e);for(const l of a)s.add(l)}if(n)for(const a of n)s.add(a);return s}constructor(e){(0,b._)(this,"options",void 0),this.options=e}}var Dt=t(18096),Vt;(function(r){r.SignedIn="SignedIn",r.SignedOut="SignedOut"})(Vt||(Vt={}));const De=(0,Dt.S)({id:"core.auth.google"}),fe=(0,Dt.S)({id:"core.auth.github"}),se=(0,Dt.S)({id:"core.auth.okta"}),Xt=(0,Dt.S)({id:"core.auth.gitlab"}),Mt=(0,Dt.S)({id:"core.auth.microsoft"}),Gt=(0,Dt.S)({id:"core.auth.onelogin"}),be=(0,Dt.S)({id:"core.auth.bitbucket"}),Ge=(0,Dt.S)({id:"core.auth.bitbucket-server"}),xe=(0,Dt.S)({id:"core.auth.atlassian"}),on=(0,Dt.S)({id:"core.auth.vmware-cloud"});class Xe{setIsSignedIn(e){this.signedIn!==e&&(this.signedIn=e,this.subject.next(this.signedIn?Vt.SignedIn:Vt.SignedOut))}sessionState$(){return this.subject}constructor(){(0,b._)(this,"subject",new nt(Vt.SignedOut)),(0,b._)(this,"signedIn",!1)}}class _e{async getSession(e){if(this.helper.sessionExistsAndHasScope(this.currentSession,e.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const s=await this.collapsedSessionRefresh(e.scopes),a=this.sessionScopesFunc(this.currentSession),l=this.sessionScopesFunc(s);return Bt(l,a)&&(this.currentSession=s),s}catch(s){if(e.optional)return;throw s}}if(!this.currentSession&&!e.instantPopup)try{const n=await this.collapsedSessionRefresh(e.scopes);return this.currentSession=n,this.getSession(e)}catch{}if(!e.optional)return this.currentSession=await this.connector.createSession({...e,scopes:this.helper.getExtendedScope(this.currentSession,e.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,await this.connector.removeSession(),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}async collapsedSessionRefresh(e){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession(this.helper.getExtendedScope(this.currentSession,e));try{const n=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),n}finally{delete this.refreshPromise}}constructor(e){(0,b._)(this,"connector",void 0),(0,b._)(this,"helper",void 0),(0,b._)(this,"sessionScopesFunc",void 0),(0,b._)(this,"sessionShouldRefreshFunc",void 0),(0,b._)(this,"stateTracker",new Xe),(0,b._)(this,"refreshPromise",void 0),(0,b._)(this,"currentSession",void 0);const{connector:n,defaultScopes:s=new Set,sessionScopes:a,sessionShouldRefresh:l}=e;this.connector=n,this.sessionScopesFunc=a,this.sessionShouldRefreshFunc=l,this.helper=new $t({sessionScopes:a,defaultScopes:s})}}const Ve={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class le{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Ve,oauthRequestApi:S,defaultScopes:x=[],scopeTransform:L=ut=>ut,popupOptions:W}=e,X=new Kt({configApi:n,discoveryApi:s,environment:a,provider:l,oauthRequestApi:S,sessionTransform({backstageIdentity:ut,...Et}){const Ot={...Et,providerInfo:{idToken:Et.providerInfo.idToken,accessToken:Et.providerInfo.accessToken,scopes:le.normalizeScopes(L,Et.providerInfo.scope),expiresAt:Et.providerInfo.expiresInSeconds?new Date(Date.now()+Et.providerInfo.expiresInSeconds*1e3):void 0}};if(ut){var kt;const Ht=(kt=ut.expiresInSeconds)!==null&&kt!==void 0?kt:Et.providerInfo.expiresInSeconds;Ot.backstageIdentity={token:ut.token,identity:ut.identity,expiresAt:Ht?new Date(Date.now()+Ht*1e3):void 0}}return Ot},popupOptions:W}),ot=new _e({connector:X,defaultScopes:new Set(x),sessionScopes:ut=>ut.providerInfo.scopes,sessionShouldRefresh:ut=>{var Et,Ot;let kt=1/0;return!((Et=ut.providerInfo)===null||Et===void 0)&&Et.expiresAt&&(kt=Math.min(kt,(ut.providerInfo.expiresAt.getTime()-Date.now())/1e3)),!((Ot=ut.backstageIdentity)===null||Ot===void 0)&&Ot.expiresAt&&(kt=Math.min(kt,(ut.backstageIdentity.expiresAt.getTime()-Date.now())/1e3)),kt<60*5}});return new le({sessionManager:ot,scopeTransform:L})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(e,n){const s=le.normalizeScopes(this.scopeTransform,e),a=await this.sessionManager.getSession({...n,scopes:s});var l;return(l=a==null?void 0:a.providerInfo.accessToken)!==null&&l!==void 0?l:""}async getIdToken(e={}){const n=await this.sessionManager.getSession({...e,scopes:new Set(["openid"])});var s;return(s=n==null?void 0:n.providerInfo.idToken)!==null&&s!==void 0?s:""}async getBackstageIdentity(e={}){const n=await this.sessionManager.getSession(e);return n==null?void 0:n.backstageIdentity}async getProfile(e={}){const n=await this.sessionManager.getSession(e);return n==null?void 0:n.profile}static normalizeScopes(e,n){if(!n)return new Set;const s=Array.isArray(n)?n:n.split(/[\s|,]/).filter(Boolean);return new Set(e(s))}constructor(e){(0,b._)(this,"sessionManager",void 0),(0,b._)(this,"scopeTransform",void 0),this.sessionManager=e.sessionManager,this.scopeTransform=e.scopeTransform}}const ze={id:"google",title:"Google",icon:()=>null},ke="https://www.googleapis.com/auth/";class cn{static create(e){const{configApi:n,discoveryApi:s,oauthRequestApi:a,environment:l="development",provider:S=ze,defaultScopes:x=["openid",`${ke}userinfo.email`,`${ke}userinfo.profile`]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:a,provider:S,environment:l,defaultScopes:x,scopeTransform(L){return L.map(W=>W==="openid"?W:W==="profile"||W==="email"?`${ke}userinfo.${W}`:W.startsWith(ke)?W:`${ke}${W}`)}})}}const Ue={id:"microsoft",title:"Microsoft",icon:()=>null};class ce{static create(e){return new ce(e)}microsoftGraph(){return this.oauth2[ce.MicrosoftGraphID]}static resourceForScopes(e){const n=[...new Set(e.split(" ").map(ce.resourceForScope).filter(l=>l!=="openid"))];if(n.length>1)return Promise.reject(new Error(`Requested access token with scopes from multiple Azure resources: ${n.join(", ")}. Access tokens can only have a single audience.`));var s;const a=(s=n[0])!==null&&s!==void 0?s:ce.MicrosoftGraphID;return Promise.resolve(a)}static resourceForScope(e){var n;const s=(n=e.match(RegExp("^(?<resourceURI>.*)\\/(?<scp>[^\\/]*)$")))===null||n===void 0?void 0:n.groups;if(s){const{resourceURI:a}=s;return a.replace(/^api:\/\//,"")}switch(e){case"email":case"openid":case"offline_access":case"profile":return"openid";default:return ce.MicrosoftGraphID}}async getAccessToken(e,n){const s=e===void 0?ce.MicrosoftGraphID:await ce.resourceForScopes(Array.isArray(e)?e.join(" "):e);return s in this.oauth2||(this.oauth2[s]=le.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform})),this.oauth2[s].getAccessToken(e,n)}getIdToken(e){return this.microsoftGraph().getIdToken(e)}getProfile(e){return this.microsoftGraph().getProfile(e)}getBackstageIdentity(e){return this.microsoftGraph().getBackstageIdentity(e)}signIn(){return this.microsoftGraph().signIn()}signOut(){return this.microsoftGraph().signOut()}sessionState$(){return this.microsoftGraph().sessionState$()}constructor(e){(0,b._)(this,"oauth2",void 0),(0,b._)(this,"configApi",void 0),(0,b._)(this,"environment",void 0),(0,b._)(this,"provider",void 0),(0,b._)(this,"oauthRequestApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"scopeTransform",void 0);const{configApi:n,environment:s="development",provider:a=Ue,oauthRequestApi:l,discoveryApi:S,defaultScopes:x=["openid","offline_access","profile","email","User.Read"],scopeTransform:L=W=>W.concat("offline_access")}=e;this.configApi=n,this.environment=s,this.provider=a,this.oauthRequestApi=l,this.discoveryApi=S,this.scopeTransform=L,this.oauth2={[ce.MicrosoftGraphID]:le.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform,defaultScopes:x})}}}(0,b._)(ce,"MicrosoftGraphID","00000003-0000-0000-c000-000000000000");const Qe={id:"github",title:"GitHub",icon:()=>null};class Oe{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Qe,oauthRequestApi:S,defaultScopes:x=["read:user"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const Ne={id:"okta",title:"Okta",icon:()=>null},He=new Set(["openid","profile","email","phone","address","groups","offline_access"]),j="okta.";class p{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Ne,oauthRequestApi:S,defaultScopes:x=["openid","email","profile","offline_access"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x,scopeTransform(L){return L.map(W=>He.has(W)||W.startsWith(j)?W:`${j}${W}`)}})}}const B={id:"gitlab",title:"GitLab",icon:()=>null};class F{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=B,oauthRequestApi:S,defaultScopes:x=["read_user"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const gt={id:"onelogin",title:"onelogin",icon:()=>null},et=new Set(["openid","profile","email","phone","address","groups","offline_access"]),Tt="onelogin.";class _t{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=gt,oauthRequestApi:S}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(x){return x.map(L=>et.has(L)||L.startsWith(Tt)?L:`${Tt}${L}`)}})}}const te={id:"bitbucket",title:"Bitbucket",icon:()=>null};class ge{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=te,oauthRequestApi:S,defaultScopes:x=["account"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const pe={id:"bitbucketServer",title:"Bitbucket Server",icon:()=>null};class ve{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=pe,oauthRequestApi:S,defaultScopes:x=["PROJECT_ADMIN"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const de={id:"atlassian",title:"Atlassian",icon:()=>null};class Qt{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=de,oauthRequestApi:S}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a})}}const we={id:"vmwareCloudServices",title:"VMware Cloud",icon:()=>null};class Me{static create(e){const{configApi:n,discoveryApi:s,oauthRequestApi:a,environment:l="development",provider:S=we,defaultScopes:x=["openid"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:a,provider:S,environment:l,defaultScopes:x})}}var Nt=t(68108),ne=t(43756),ie=t(36336),Wn=t(36352),Ao=t(12412),Pe=t(63908);const kn=(0,Dt.S)({id:"core.storage"});var Nn=t(67640),rn=t(89640);const je=(0,Dt.S)({id:"core.oauthrequest"});var So=t(13920),qe=t(23108),bo=t(96256),Kn=t.n(bo),Oo=t(38552),Yt=t(84316),tn=t(68172);const dn=Yt.z.lazy(()=>Yt.z.object({rule:Yt.z.string(),resourceType:Yt.z.string(),params:Yt.z.record(Yt.z.any()).optional()}).or(Yt.z.object({anyOf:Yt.z.array(dn).nonempty()})).or(Yt.z.object({allOf:Yt.z.array(dn).nonempty()})).or(Yt.z.object({not:dn}))),zn=Yt.z.object({result:Yt.z.literal(tn.E.ALLOW).or(Yt.z.literal(tn.E.DENY))}),wo=Yt.z.union([Yt.z.object({result:Yt.z.literal(tn.E.ALLOW).or(Yt.z.literal(tn.E.DENY))}),Yt.z.object({result:Yt.z.literal(tn.E.CONDITIONAL),pluginId:Yt.z.string(),resourceType:Yt.z.string(),conditions:dn})]),Po=(r,e)=>Yt.z.object({items:Yt.z.array(Yt.z.intersection(Yt.z.object({id:Yt.z.string()}),r)).refine(n=>n.length===e.size&&n.every(({id:s})=>e.has(s)),{message:"Items in response do not match request"})});class To{async authorize(e,n){return this.makeRequest(e,zn,n)}async authorizeConditional(e,n){return this.makeRequest(e,wo,n)}async makeRequest(e,n,s){if(!this.enabled)return e.map(X=>({result:tn.E.ALLOW}));const a={items:e.map(X=>({id:Oo.c(),...X}))},l=await this.discovery.getBaseUrl("permission"),S=await Kn()(`${l}/authorize`,{method:"POST",body:JSON.stringify(a),headers:{...this.getAuthorizationHeader(s==null?void 0:s.token),"content-type":"application/json"}});if(!S.ok)throw await qe.i.fromResponse(S);const x=await S.json(),W=Po(n,new Set(a.items.map(({id:X})=>X))).parse(x).items.reduce((X,ot)=>(X[ot.id]=ot,X),{});return a.items.map(X=>W[X.id])}getAuthorizationHeader(e){return e?{Authorization:`Bearer ${e}`}:{}}constructor(e){(0,b._)(this,"enabled",void 0),(0,b._)(this,"discovery",void 0),this.discovery=e.discovery;var n;this.enabled=(n=e.config.getOptionalBoolean("permission.enabled"))!==null&&n!==void 0?n:!1}}class xn{static create(e){const{config:n,discovery:s,identity:a}=e,l=new To({discovery:s,config:n});return new xn(l,a)}async authorize(e){return(await this.permissionClient.authorize([e],await this.identityApi.getCredentials()))[0]}constructor(e,n){(0,b._)(this,"permissionClient",void 0),(0,b._)(this,"identityApi",void 0),this.permissionClient=e,this.identityApi=n}}const Ro=[(0,Nt.Q)({api:ne.y,deps:{configApi:ie.c},factory:({configApi:r})=>Q.compile(`${r.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,Nt.Q)({api:Wn.M,deps:{},factory:()=>new it}),(0,Nt.Q)({api:Ao.G,deps:{},factory:()=>new yt}),(0,Nt.Q)({api:Pe.m,deps:{alertApi:Wn.M},factory:({alertApi:r})=>{const e=new ft(r,new wt);return ct.forward(e,{hidden:!1}),e}}),(0,Nt.Q)({api:kn,deps:{errorApi:Pe.m},factory:({errorApi:r})=>at.create({errorApi:r})}),(0,Nt.Q)({api:Nn._,deps:{configApi:ie.c,identityApi:rn.S,discoveryApi:ne.y},factory:({configApi:r,identityApi:e,discoveryApi:n})=>V({middleware:[pt.resolvePluginProtocol({discoveryApi:n}),pt.injectIdentityAuth({identityApi:e,config:r})]})}),(0,Nt.Q)({api:je,deps:{},factory:()=>new rt}),(0,Nt.Q)({api:De,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>cn.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:Mt,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>ce.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:fe,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Oe.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["read:user"],environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:se,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>p.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:Xt,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>F.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:Gt,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>_t.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:be,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>ge.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["account"],environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:Ge,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>ve.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["REPO_READ"]})}),(0,Nt.Q)({api:xe,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Qt.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:on,deps:{discoveryApi:ne.y,oauthRequestApi:je,configApi:ie.c},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Me.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Nt.Q)({api:So.y,deps:{discovery:ne.y,identity:rn.S,config:ie.c},factory:({config:r,discovery:e,identity:n})=>xn.create({config:r,discovery:e,identity:n})})];var Cn=t(87688),An=t(68284),Hn=t(9552),Io=t(9600),Do=t(68),Lo=t(94656),Mo=t(96828),jo=t(55616),Bo=t(88312),Uo=t(49976),Gn=t(56128),Fo=t(69828),$o=t(54824),Vn=t(48424),Qn=t(45056),Wo=t(47840),Sn=t(31824),bn=t(23144),ko=t(85120),Yn=t(7613),Zn=t(11908);const Jn={brokenImage:An.c,catalog:Wo.c,scaffolder:Io.c,techdocs:Do.c,search:Lo.c,chat:Mo.c,dashboard:jo.c,docs:Bo.c,email:Uo.c,github:Fo.c,group:Sn.c,help:$o.c,"kind:api":Gn.c,"kind:component":Qn.c,"kind:domain":Cn.c,"kind:group":Sn.c,"kind:location":Vn.c,"kind:system":Hn.c,"kind:user":bn.c,"kind:resource":Yn.c,"kind:template":Zn.c,user:bn.c,warning:ko.c};var No=t(42656),Ko=t(89784),zo=t(12176),Ho=t(65284),On=t(55296),Go=t(27464);const wn=(0,Ko.c)({productionPrefix:"jss4-"});function Xn(r){const{children:e,theme:n,noCssBaseline:s=!1}=r,a=n.getTheme("v4"),l=n.getTheme("v5");let S;s||(S=(0,i.jsx)(No.cp,{}));let x=(0,i.jsxs)(i.Fragment,{children:[S,e]});return a&&(x=(0,i.jsx)(zo.cp,{generateClassName:wn,children:(0,i.jsx)(Ho.c,{theme:a,children:x})})),l&&(x=(0,i.jsx)(On.c,{injectFirst:!0,children:(0,i.jsx)(Go.c,{theme:l,children:x})})),x}const _n={light:{type:"light",mode:"light",background:{default:"#F8F8F8",paper:"#FFFFFF"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#1F5493",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#1F5493"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#000000",textVerySubtle:"#DDD",textSubtle:"#6E6E6E",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#2196F3",link:"#0A6EBE",gold:"#FFD600",navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},dark:{type:"dark",mode:"dark",background:{default:"#333333",paper:"#424242"},status:{ok:"#71CF88",warning:"#FFB84D",error:"#F84C55",running:"#3488E3",pending:"#FEF071",aborted:"#9E9E9E"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#9CC9FF",dark:"#82BAFD"},secondary:{main:"#FF88B2"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#FFFFFF",textVerySubtle:"#727272",textSubtle:"#CCCCCC",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#82BAFD",link:"#9CC9FF",gold:"#FFD600",navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}}};var Rt=t(72576),ue=t(96128),h=t(29480),R=t(60660),U=t(98154);const $={wave:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,wave2:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,round:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`},Y={darkGrey:["#171717","#383838"],marineBlue:["#006D8F","#0049A1"],veryBlue:["#0027AF","#270094"],rubyRed:["#98002B","#8D1134"],toastyOrange:["#BE2200","#A41D00"],purpleSky:["#8912CA","#3E00EA"],eveningSea:["#00FFF2","#035355"],teal:["#005B4B"],pinkSea:["#C8077A","#C2297D"],greens:["#4BB8A5","#187656"]};function _(r){const{colors:e,shape:n,options:s}=r,l=`linear-gradient(90deg, ${(e.length===1?[e[0],e[0]]:e).join(", ")})`,S=`${n}, ${l}`;var x;const L=(x=s==null?void 0:s.fontColor)!==null&&x!==void 0?x:"#FFFFFF";return{colors:e,shape:n,backgroundImage:S,fontColor:L}}const dt={home:_({colors:Y.teal,shape:$.wave}),documentation:_({colors:Y.pinkSea,shape:$.wave2}),tool:_({colors:Y.purpleSky,shape:$.round}),service:_({colors:Y.marineBlue,shape:$.wave}),website:_({colors:Y.veryBlue,shape:$.wave}),library:_({colors:Y.rubyRed,shape:$.wave}),other:_({colors:Y.darkGrey,shape:$.wave}),app:_({colors:Y.toastyOrange,shape:$.wave}),apis:_({colors:Y.teal,shape:$.wave2}),card:_({colors:Y.greens,shape:$.wave})},bt=16,Lt='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif',Ut="home";function Zt(r){const{palette:e,htmlFontSize:n=bt,fontFamily:s=Lt,defaultPageTheme:a=Ut,pageTheme:l=dt,typography:S}=r;if(!l[a])throw new Error(`${a} is not defined in pageTheme.`);const x={htmlFontSize:n,fontFamily:s,h1:{fontSize:54,fontWeight:700,marginBottom:10},h2:{fontSize:40,fontWeight:700,marginBottom:8},h3:{fontSize:32,fontWeight:700,marginBottom:6},h4:{fontWeight:700,fontSize:28,marginBottom:6},h5:{fontWeight:700,fontSize:24,marginBottom:4},h6:{fontWeight:700,fontSize:20,marginBottom:2}};return{palette:e,typography:S!=null?S:x,page:l[a],getPageTheme:({themeId:L})=>{var W;return(W=l[L])!==null&&W!==void 0?W:l[a]}}}var Ft=t(91392);const It={MuiCssBaseline:{styleOverrides:r=>({html:{height:"100%",fontFamily:r.typography.fontFamily},body:{height:"100%",fontFamily:r.typography.fontFamily,overscrollBehaviorY:"none",fontSize:"0.875rem",lineHeight:1.43},a:{color:"inherit",textDecoration:"none"}})},MuiGrid:{defaultProps:{spacing:2}},MuiSwitch:{defaultProps:{color:"primary"}},MuiTableRow:{styleOverrides:{root:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.default}}),hover:{"&:hover":{cursor:"pointer"}},head:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.paper}})}},MuiTableCell:{styleOverrides:{root:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:r.spacing(3,2,3,2.5),borderBottom:0}),sizeSmall:({theme:r})=>({padding:r.spacing(1.5,2,1.5,2.5)}),head:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",color:r.palette.textSubtle,fontWeight:"normal",lineHeight:"1"})}},MuiTabs:{styleOverrides:{root:{minHeight:24}}},MuiTab:{styleOverrides:{root:({theme:r})=>({color:r.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,Ft.sP)(r.palette.link,.3),background:(0,Ft.IV)(r.palette.link,.95)},[r.breakpoints.up("md")]:{minWidth:120,fontSize:r.typography.pxToRem(14),fontWeight:500}}),textColorPrimary:({theme:r})=>({color:r.palette.link})}},MuiTableSortLabel:{styleOverrides:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"},"&.Mui-active":{fontWeight:"bold",color:"inherit"}}}},MuiListItemText:{styleOverrides:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}},MuiButton:{styleOverrides:{text:{padding:void 0}}},MuiChip:{styleOverrides:{root:({theme:r})=>({marginRight:r.spacing(1),marginBottom:r.spacing(1)}),label:({theme:r})=>({lineHeight:r.spacing(2.5),fontWeight:r.typography.fontWeightMedium,fontSize:r.spacing(1.75)}),labelSmall:({theme:r})=>({fontSize:r.spacing(1.5)}),deleteIcon:({theme:r})=>({width:r.spacing(3),height:r.spacing(3),margin:r.spacing(0,.75,0,-.75)}),deleteIconSmall:({theme:r})=>({width:r.spacing(2),height:r.spacing(2),margin:r.spacing(0,.5,0,-.5)})}},MuiCard:{styleOverrides:{root:{display:"flex",flexDirection:"column"}}},MuiCardHeader:{styleOverrides:{root:{paddingBottom:0}}},MuiCardContent:{styleOverrides:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}}},MuiCardActions:{styleOverrides:{root:{justifyContent:"flex-end"}}},MuiLink:{defaultProps:{underline:"hover"}},MuiPaper:{styleOverrides:{root:{backgroundImage:"unset"}}}},ae=r=>(...e)=>{const n=e.length===0?[1]:e,s=(a,l)=>typeof a=="string"?a:l*a;return n.map(a=>{const l=s(a,r);return typeof l=="number"?`${l}px`:l}).join(" ")};function me(r,e){if(!e||typeof e=="string")return;const n=typeof e=="function"?e(r):e;if(n)return{"@global":n}}function Jt(r,e){if(!(!e||typeof e=="string")){if(typeof e=="object"){const n={...r},s=r.spacing(1);return typeof s=="number"&&(n.spacing=ae(s)),Object.fromEntries(Object.entries(e).map(([a,l])=>typeof l=="function"?[a,l({theme:n})]:[a,l]))}return e}}const Wt=/^&.Mui-([\w-]+)$/;function re(r){let e=r;if(!r||typeof r!="object")return e;for(const n of Object.keys(r)){const s=r[n];if(!(!s||typeof s!="object"))for(const a of Object.keys(s)){const l=a,S=l.match(Wt);if(S){const[,x]=S,{[l]:L,...W}=s;L&&(e={...e,[n]:W,[x]:L})}}}return e}function ye(r,e={}){const n={},s={};for(const a of Object.keys(e)){const l=e[a];l&&("styleOverrides"in l&&(a==="MuiCssBaseline"?n[a]=me(r,l.styleOverrides):n[a]=re(Jt(r,l.styleOverrides))),"defaultProps"in l&&(s[a]=l.defaultProps))}return{overrides:n,props:s}}var Pt=new WeakMap;class zt{getTheme(e){return(0,Rt._)(this,Pt).get(e)}constructor(e,n){(0,ue._)(this,Pt,{writable:!0,value:new Map}),(0,h._)(this,Pt,new Map),e&&(0,Rt._)(this,Pt).set("v4",e),n&&(0,Rt._)(this,Pt).set("v5",n)}}function qt(r){const e=Zt(r),n={...It,...r.components},s=(0,U.c)({...e,components:n}),a=ye(s,n),l={...(0,R.c)(e),...a};return new zt(l,s)}function Te(r){const e=adaptV4Theme(r),n=createTheme(r);return new zt(n,createV5Theme(e))}const Re={light:qt({palette:_n.light}),dark:qt({palette:_n.dark})};var Ke=t(83352),he=t(19836);const Fe=[{id:"light",title:"Light Theme",variant:"light",icon:(0,i.jsx)(he.c,{}),Provider:({children:r})=>(0,i.jsx)(Xn,{theme:Re.light,children:r})},{id:"dark",title:"Dark Theme",variant:"dark",icon:(0,i.jsx)(Ke.c,{}),Provider:({children:r})=>(0,i.jsx)(Xn,{theme:Re.dark,children:r})}];var oe=t(35848),Pn=t(40900),Tn=t.n(Pn);class hs{get(e){for(const n of this.holders){const s=n.get(e);if(s)return s}}constructor(...e){(0,b._)(this,"holders",void 0),this.holders=e}}var qn=t(42772),to=t(68080);const hr=(0,qn.IR)("api-context"),Vo=r=>{var e;const{apis:n,children:s}=r,a=(e=(0,u.useContext)(hr))===null||e===void 0?void 0:e.atVersion(1),l=a?new hs(n,a):n;return(0,i.jsx)(hr.Provider,{value:(0,to.O)({1:l}),children:s})};Vo.propTypes={apis:Tn().shape({get:Tn().func.isRequired}).isRequired,children:Tn().node};var fs=t(2704),gs=t.n(fs),ps=t(84024),vs=t.n(ps);const ms=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function Rn(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Qo(r){if(r===null)return"null";if(Array.isArray(r))return"array";const e=typeof r;return e==="number"&&isNaN(r)?"nan":e==="string"&&r===""?"empty-string":e}const $e={type(r,e,n,s){return`Invalid type in config for key '${r}' in '${e}', got ${n}, wanted ${s}`},missing(r){return`Missing required config value at '${r}'`},convert(r,e,n){return`Unable to convert config value for key '${r}' in '${e}' to a ${n}`}};class un{static fromConfigs(e){return e.length===0?new un(void 0):e.reduce((n,{data:s,context:a,filteredKeys:l,deprecatedKeys:S})=>{const x=new un(s,a,n);if(x.filteredKeys=l,S)for(const{key:L,description:W}of S)console.warn(`The configuration key '${L}' of ${a} is deprecated and may be removed soon. ${W||""}`);return x},void 0)}has(e){var n;if(this.readValue(e)!==void 0)return!0;var a;return(a=(n=this.fallback)===null||n===void 0?void 0:n.has(e))!==null&&a!==void 0?a:!1}keys(){var e;const n=this.data?Object.keys(this.data):[];var s;const a=(s=(e=this.fallback)===null||e===void 0?void 0:e.keys())!==null&&s!==void 0?s:[];return[...new Set([...n,...a])]}get(e){const n=this.getOptional(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e!=null?e:"")));return n}getOptional(e){var n;const s=gs()(this.readValue(e)),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptional(e);if(s===void 0){if(!1)var l;return a}else if(a===void 0)return s;return vs()({},{value:a},{value:s},(S,x)=>!Rn(x)||!Rn(S)?x:void 0).value}getConfig(e){const n=this.getOptionalConfig(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalConfig(e){var n;const s=this.readValue(e),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptionalConfig(e);if(Rn(s))return this.copy(s,e,a);if(s!==void 0)throw new TypeError($e.type(this.fullKey(e),this.context,Qo(s),"object"));return a}getConfigArray(e){const n=this.getOptionalConfigArray(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalConfigArray(e){const n=this.readConfigValue(e,a=>{if(!Array.isArray(a))return{expected:"object-array"};for(const[l,S]of a.entries())if(!Rn(S))return{expected:"object-array",value:S,key:`${e}[${l}]`};return!0});if(!n){if(!1)var s;return}return n.map((a,l)=>this.copy(a,`${e}[${l}]`))}getNumber(e){const n=this.getOptionalNumber(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalNumber(e){const n=this.readConfigValue(e,a=>typeof a=="number"||typeof a=="string"||{expected:"number"});if(typeof n=="number"||n===void 0)return n;const s=Number(n);if(!Number.isFinite(s))throw new Error($e.convert(this.fullKey(e),this.context,"number"));return s}getBoolean(e){const n=this.getOptionalBoolean(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalBoolean(e){const n=this.readConfigValue(e,a=>typeof a=="boolean"||typeof a=="number"||typeof a=="string"||{expected:"boolean"});if(typeof n=="boolean"||n===void 0)return n;const s=String(n).trim();if(/^(?:y|yes|true|1|on)$/i.test(s))return!0;if(/^(?:n|no|false|0|off)$/i.test(s))return!1;throw new Error($e.convert(this.fullKey(e),this.context,"boolean"))}getString(e){const n=this.getOptionalString(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalString(e){return this.readConfigValue(e,n=>typeof n=="string"&&n!==""||{expected:"string"})}getStringArray(e){const n=this.getOptionalStringArray(e);if(n===void 0)throw new Error($e.missing(this.fullKey(e)));return n}getOptionalStringArray(e){return this.readConfigValue(e,n=>{if(!Array.isArray(n))return{expected:"string-array"};for(const[s,a]of n.entries())if(typeof a!="string"||a==="")return{expected:"string-array",value:a,key:`${e}[${s}]`};return!0})}fullKey(e){return`${this.prefix}${this.prefix?".":""}${e}`}copy(e,n,s){const a=new un(e,this.context,s,this.fullKey(n));return a.filteredKeys=this.filteredKeys,a}readConfigValue(e,n){const s=this.readValue(e);if(s===void 0){var a;if(!1)var l;return(a=this.fallback)===null||a===void 0?void 0:a.readConfigValue(e,n)}const S=n(s);if(S!==!0){const{key:x=e,value:L=s,expected:W}=S;throw new TypeError($e.type(this.fullKey(x),this.context,Qo(L),W))}return s}readValue(e){const n=e?e.split("."):[];for(const a of n)if(!ms.test(a))throw new TypeError(`Invalid config key '${e}'`);if(this.data===void 0)return;let s=this.data;for(const[a,l]of n.entries())if(Rn(s))s=s[l];else if(s!==void 0){const S=this.fullKey(n.slice(0,a).join("."));throw new TypeError($e.type(S,this.context,Qo(s),"object"))}return s}constructor(e,n="mock-config",s,a=""){(0,b._)(this,"data",void 0),(0,b._)(this,"context",void 0),(0,b._)(this,"fallback",void 0),(0,b._)(this,"prefix",void 0),(0,b._)(this,"filteredKeys",void 0),(0,b._)(this,"notifiedFilteredKeys",void 0),this.data=e,this.context=n,this.fallback=s,this.prefix=a,this.notifiedFilteredKeys=new Set}}const In="theme";class eo{static createWithStorage(e){const n=new eo(e);if(!window.localStorage)return n;var s;const a=(s=window.localStorage.getItem(In))!==null&&s!==void 0?s:void 0;return n.setActiveThemeId(a),n.activeThemeId$().subscribe(l=>{l?window.localStorage.setItem(In,l):window.localStorage.removeItem(In)}),window.addEventListener("storage",l=>{if(l.key===In){var S;const x=(S=localStorage.getItem(In))!==null&&S!==void 0?S:void 0;n.setActiveThemeId(x)}}),n}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(e){this.activeThemeId=e,this.subject.next(e)}constructor(e){(0,b._)(this,"themes",void 0),(0,b._)(this,"activeThemeId",void 0),(0,b._)(this,"subject",void 0),this.themes=e,this.subject=new nt(void 0)}}var hn=t(40208);function fr(r){if(r.length<3)throw new Error(`The '${r}' feature flag must have a minimum length of three characters.`);if(r.length>150)throw new Error(`The '${r}' feature flag must not exceed 150 characters.`);if(!r.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${r}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class ys{registerFlag(e){fr(e.name),this.registeredFeatureFlags.push(e)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(e){return this.flags||(this.flags=this.load()),this.flags.get(e)===hn.O.Active}save(e){this.flags||(this.flags=this.load()),e.merge||this.flags.clear();for(const[s,a]of Object.entries(e.states))this.flags.set(s,a);const n=Array.from(this.flags.entries()).filter(([,s])=>s===hn.O.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(n)))}load(){try{const e=window.localStorage.getItem("featureFlags");if(!e)return new Map;const n=JSON.parse(e);if(typeof n!="object"||n===null||Array.isArray(n))return new Map;const s=Object.entries(n).filter(([a,l])=>(fr(a),l===hn.O.Active));return new Map(s)}catch{return new Map}}constructor(){(0,b._)(this,"registeredFeatureFlags",[]),(0,b._)(this,"flags",void 0)}}const no=(0,Dt.S)({id:"core.apptheme"}),gr=(0,Dt.S)({id:"core.applanguage"});var Es=t(70660);class Yo{static validateFactories(e,n){for(const s of n){const a=[s],l=new Set;for(;a.length;){const S=a.shift(),x=e.get(S);if(x)for(const L of Object.values(x.deps)){if(L.id===s.id)throw new Error(`Circular dependency of api factory for ${s}`);l.has(L)||(l.add(L),a.push(L))}}}}get(e){return this.load(e)}load(e,n=[]){const s=this.apis.get(e.id);if(s)return s;const a=this.factories.get(e);if(!a)return;if(n.includes(a.api))throw new Error(`Circular dependency of api factory for ${a.api}`);const l=this.loadDeps(e,a.deps,[...n,a.api]),S=a.factory(l);return this.apis.set(e.id,S),S}loadDeps(e,n,s){const a={};for(const l in n)if(n.hasOwnProperty(l)){const S=n[l],x=this.load(S,s);if(!x)throw new Error(`No API factory available for dependency ${S} of dependent ${e}`);a[l]=x}return a}constructor(e){(0,b._)(this,"factories",void 0),(0,b._)(this,"apis",void 0),this.factories=e,this.apis=new Map}}var Zo;(function(r){r[r.default=10]="default",r[r.app=50]="app",r[r.static=100]="static"})(Zo||(Zo={}));class xs{register(e,n){const s=Zo[e],a=this.factories.get(n.api.id);return a&&a.priority>=s?!1:(this.factories.set(n.api.id,{priority:s,factory:n}),!0)}get(e){const n=this.factories.get(e.id);if(n)return n.factory}getAllApis(){const e=new Set;for(const{factory:n}of this.factories.values())e.add(n.api);return e}constructor(){(0,b._)(this,"factories",new Map)}}function Cs(r){const e={};for(const s in r.collectors)r.collectors.hasOwnProperty(s)&&(e[s]=r.collectors[s]());const n=[{node:u.Children.toArray(r.root),parent:void 0,contexts:{}}];for(;n.length!==0;){const{node:s,parent:a,contexts:l}=n.shift();u.Children.forEach(s,S=>{if(!(0,u.isValidElement)(S))return;const x={};for(const L in e)if(e.hasOwnProperty(L)){const W=e[L];x[L]=W.visit(W.accumulator,S,a,l[L])}for(const L of r.discoverers){const W=L(S);W&&n.push({node:W,parent:S,contexts:x})}})}return Object.fromEntries(Object.entries(e).map(([s,a])=>[s,a.accumulator]))}function oo(r,e){return()=>({accumulator:r(),visit:e})}function As(r){var e;return(e=r.props)===null||e===void 0?void 0:e.children}function Ss(r){var e,n;if(!((e=r.props)===null||e===void 0)&&e.path&&(!((n=r.props)===null||n===void 0)&&n.element)){var s;return(s=r.props)===null||s===void 0?void 0:s.element}}var Ie=t(61552);const bs=oo(()=>new Set,(r,e)=>{const n=(0,Ie.q)(e,"core.plugin");n&&r.add(n)});var Dn=t(15940);const pr=r=>{const{children:e}=r,n=(0,Dn.yk)(hn.a),s="with"in r?n.isActive(r.with):!n.isActive(r.without);return(0,i.jsx)(i.Fragment,{children:s?e:null})};(0,Ie.w)(pr,"core.featureFlagged",!0);const ro={caseSensitive:!1,path:"*",element:"match-all",routeRefs:new Set,plugins:new Set};function so(r){const e=r;if(e!=null&&e.type){var n,s;return(s=(n=e.type.displayName)!==null&&n!==void 0?n:e.type.name)!==null&&s!==void 0?s:String(e.type)}return String(e)}const vr=r=>{const e=new Set;return r&&e.add(r),e};function mr(r,e=new Array){return u.Children.forEach(r,n=>{if(!(0,u.isValidElement)(n))return;const s=(0,Ie.q)(n,"core.mountPoint");if(s){const a=(0,Ie.q)(n,"core.plugin");e.push({routeRef:s,plugin:a})}mr(n.props.children,e)}),e}const Os=oo(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l;if(s!=null&&s.isElementAncestor)return s;if((n==null?void 0:n.props.element)===e)return{...s,isElementAncestor:!0};const S=(a=e.props)===null||a===void 0?void 0:a.path,x=(0,Ie.q)(e,"core.mountPoint");if(x&&S)throw new Error(`Path property may not be set directly on a routable extension "${so(e)}"`);var L;const W=(L=s==null||(l=s.obj)===null||l===void 0?void 0:l.children)!==null&&L!==void 0?L:r.objects;if(S!==void 0){if(typeof S!="string")throw new Error(`Element path must be a string at "${so(e)}"`);const Ot=S.startsWith("/")?S.slice(1):S,kt=e.props.element;if((0,Ie.q)(e,"core.gatherMountPoints")){var X;if(kt)throw new Error(`Mount point gatherers may not have an element prop "${so(e)}"`);const Ht={path:Ot,element:"gathered",routeRefs:new Set,caseSensitive:Boolean((X=e.props)===null||X===void 0?void 0:X.caseSensitive),children:[ro],plugins:new Set};return W.push(Ht),{obj:Ht,gatherPath:Ot,routeRef:s==null?void 0:s.routeRef,gatherRouteRef:s==null?void 0:s.routeRef}}if(kt){var ot;const[Ht,...ee]=mr(kt);if(ee.length>0)throw new Error(`Route element with path "${S}" may not contain multiple routable extensions`);if(!Ht)return s;const{routeRef:Ee,plugin:Je}=Ht,$n={path:Ot,element:"mounted",routeRefs:new Set([Ee]),caseSensitive:Boolean((ot=e.props)===null||ot===void 0?void 0:ot.caseSensitive),children:[ro],plugins:vr(Je)};return W.push($n),r.paths.set(Ee,Ot),r.parents.set(Ee,s==null?void 0:s.routeRef),{obj:$n,routeRef:Ee!=null?Ee:s==null?void 0:s.routeRef,gatherPath:Ot,gatherRouteRef:s==null?void 0:s.gatherRouteRef}}}if(x){var ut;if((s==null?void 0:s.gatherPath)===void 0)throw new Error(`Routable extension "${so(e)}" with mount point "${x}" must be assigned a path`);s==null||(ut=s.obj)===null||ut===void 0||ut.routeRefs.add(x);const Ot=(0,Ie.q)(e,"core.plugin");if(Ot){var Et;s==null||(Et=s.obj)===null||Et===void 0||Et.plugins.add(Ot)}return r.paths.set(x,s.gatherPath),r.parents.set(x,s==null?void 0:s.gatherRouteRef),{...s,routeRef:x}}return s}),ws=oo(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l,S;if((n==null?void 0:n.props.element)===e)return s;let x=s==null?void 0:s.obj,L=s==null?void 0:s.routeRef,W=s==null?void 0:s.sticky;const X=(a=e.props)===null||a===void 0?void 0:a.path;var ot;const ut=(ot=x==null?void 0:x.children)!==null&&ot!==void 0?ot:r.objects,Et=Boolean((l=e.props)===null||l===void 0?void 0:l.caseSensitive);let Ot=s==null?void 0:s.path;if((0,Ie.q)(e,"core.gatherMountPoints")){if(!X)throw new Error("Mount point gatherer must have a path");Ot=X}const kt=(S=e.props)===null||S===void 0?void 0:S.element;let Ht=(0,Ie.q)(e,"core.mountPoint");if(!Ht&&(0,u.isValidElement)(kt)&&(Ht=(0,Ie.q)(kt,"core.mountPoint")),Ht){let Je=X;if(Ot&&(Je?Ot=void 0:Je=Ot),!Je)throw new Error("Mounted routable extension must have a path");r.paths.set(Ht,Je),L&&W?(r.parents.set(Ht,L),X&&(L=Ht,W=!1)):(r.parents.set(Ht,L),L=Ht),X?(x={caseSensitive:Et,path:X,element:"mounted",routeRefs:new Set([Ht]),children:[ro],plugins:vr((0,Ie.q)(e.props.element,"core.plugin"))},ut.push(x)):x==null||x.routeRefs.add(Ht)}if((0,Ie.q)(e,"core.gatherMountPoints")&&(W=!0),(0,Ie.q)(e,"core.gatherMountPoints")){if(!X)throw new Error("Mount point gatherer must have a path");if(!Ht){var Ee;x={caseSensitive:Et,path:X,element:"gathered",routeRefs:new Set,children:[ro],plugins:(s==null||(Ee=s.obj)===null||Ee===void 0?void 0:Ee.plugins)||new Set},ut.push(x)}}return{obj:x,path:Ot,routeRef:L,sticky:W}}),Ps=oo(()=>new Set,(r,e)=>{if(e.type===pr){const n=e.props;r.add("with"in n?n.with:n.without)}});var Ln=t(75696),Ts=t(12539);const Mn=(0,Ts.U)("route-ref-type",()=>Symbol("route-ref-type"));function yr(r){return r[Mn]==="absolute"}function Er(r){return r[Mn]==="sub"}function Rs(r){return r[Mn]==="external"}function io(...r){const e=r.join("/").replace(/\/\/+/g,"/");return e!=="/"&&e.endsWith("/")?e.slice(0,-1):e}var Is=t(79884),Ds=t.n(Is);function Ls(r,e,n){let s,a="";if(yr(r))s=r;else if(Er(r))s=r.parent,a=r.path;else if(Rs(r)){const x=n.get(r);if(!x)return[void 0,""];if(yr(x))s=x;else if(Er(x))s=x.parent,a=x.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${x}`)}else throw r[Mn]?new Error(`Unknown or invalid route ref type, ${r[Mn]}`):new Error(`Unknown object passed to useRouteRef, got ${r}`);if(!s)return[void 0,""];const l=e.get(s);if(l===void 0)return[void 0,""];const S=io(l,a);return[s,S]}function Ms(r,e,n,s,a){var l;const S=(l=(0,Ln.Cm)(a,e))!==null&&l!==void 0?l:[],x=Array();let L=-1;for(let ot=r;ot&&(L=S.findIndex(ut=>ut.route.routeRefs.has(ot)),L===-1);ot=s.get(ot))x.unshift(ot);x.length===0&&(L-=1);const W=L===-1?"":S[L].pathname,X=x.slice(0,-1).map(ot=>{const ut=n.get(ot);if(ut===void 0)throw new Error(`No path for ${ot}`);if(ut.includes(":"))throw new Error(`Cannot route to ${r} with parent ${ot} as it has parameters`);return ut});return`${io(W,...X)}/`}class js{resolve(e,n){const[s,a]=Ls(e,this.routePaths,this.routeBindings);if(!s)return;let l;typeof n=="string"?l=this.trimPath(n):n.pathname?l={...n,pathname:this.trimPath(n.pathname)}:l=n;const S=this.appBasePath+Ms(s,l,this.routePaths,this.routeParents,this.routeObjects);return(...[L])=>{const W=L&&Ds()(L,X=>typeof X=="string"?X.replaceAll(/[&?#;\/]/g,ot=>encodeURIComponent(ot)):X);return io(S,(0,Ln.Yz)(a,W))}}trimPath(e){return e&&(e.startsWith(this.appBasePath)?e.slice(this.appBasePath.length):e)}constructor(e,n,s,a,l){(0,b._)(this,"routePaths",void 0),(0,b._)(this,"routeParents",void 0),(0,b._)(this,"routeObjects",void 0),(0,b._)(this,"routeBindings",void 0),(0,b._)(this,"appBasePath",void 0),this.routePaths=e,this.routeParents=n,this.routeObjects=s,this.routeBindings=a,this.appBasePath=l}}const Bs=(0,qn.IR)("routing-context"),Us=({routePaths:r,routeParents:e,routeObjects:n,routeBindings:s,basePath:a="",children:l})=>{const S=new js(r,e,n,s,a),x=(0,to.O)({1:S});return(0,i.jsx)(Bs.Provider,{value:x,children:l})};function Fs(r,e){const n=new Set(e.values());n.delete(void 0);for(const s of e.keys()){if(n.has(s))continue;let a=s,l="";for(;a;){const x=r.get(a);if(x===void 0)throw new Error(`No path for ${a}`);l=io(x,l),a=e.get(a)}const S=l.match(/:(\w+)/g);if(S){for(let x=0;x<S.length;x++)for(let L=x+1;L<S.length;L++)if(S[L]===S[x])throw new Error(`Parameter ${S[L]} is duplicated in path ${l}`)}}}function $s(r,e){for(const n of e)if(n.externalRoutes){for(const[s,a]of Object.entries(n.externalRoutes))if(!a.optional&&!r.has(a))throw new Error(`External route '${s}' of the '${n.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const Ws=(0,qn.IR)("app-context"),ks=({appContext:r,children:e})=>{const n=(0,to.O)({1:r});return(0,i.jsx)(Ws.Provider,{value:n,children:e})};function xr(r){return new Error(`Tried to access IdentityApi ${r} before app was loaded`)}function Jo(r){console.warn(`WARNING: Call to ${r} is deprecated and will break in the future`)}class Ns{setTarget(e,n){this.target=e,this.signOutTargetUrl=n.signOutTargetUrl,this.resolveTarget(e)}getUserId(){if(!this.target)throw xr("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return Jo("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw xr("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return Jo("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(e=>e.getProfileInfo())}async getBackstageIdentity(){const e=await this.waitForTarget.then(n=>n.getBackstageIdentity());return e.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${e.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),e}async getCredentials(){return this.waitForTarget.then(e=>e.getCredentials())}async getIdToken(){return this.waitForTarget.then(e=>{if(!e.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return Jo("getIdToken"),e.getIdToken()})}async signOut(){await this.waitForTarget.then(e=>e.signOut()),window.location.href=this.signOutTargetUrl}constructor(){(0,b._)(this,"target",void 0),(0,b._)(this,"waitForTarget",void 0),(0,b._)(this,"resolveTarget",()=>{}),(0,b._)(this,"signOutTargetUrl","/"),this.waitForTarget=new Promise(e=>{this.resolveTarget=e})}}var Ks=t(86099);function zs(r,e,n){if(r!==void 0){const a=n.find(l=>l.id===r);if(a)return a}if(e){const a=n.find(l=>l.variant==="dark");if(a)return a}const s=n.find(a=>a.variant==="light");return s||n[0]}const Hs=()=>{const r=(0,u.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[e,n]=(0,u.useState)(r.matches);return(0,u.useEffect)(()=>{const s=a=>{n(a.matches)};return r.addListener(s),()=>{r.removeListener(s)}},[r]),e};function Cr({children:r}){const e=(0,Dn.yk)(no),n=(0,Ks.c)(e.activeThemeId$(),e.getActiveThemeId()),s=Boolean(window.matchMedia)?Hs():!1,a=zs(n,s,e.getInstalledThemes());if(!a)throw new Error("App has no themes");return(0,i.jsx)(a.Provider,{children:r})}const Ar=async()=>Gs();function Gs(r="__APP_INJECTED_RUNTIME_CONFIG__"){const e=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}}}];if(!e)throw new Error("No static configuration provided");if(!Array.isArray(e))throw new Error("Static configuration has invalid format");const n=e.slice();if(r!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const a=JSON.parse(r);Array.isArray(a)?n.push(...a):n.push({data:a,context:"env"})}catch(a){throw new Error(`Failed to load runtime configuration, ${a}`)}const s=window.__APP_CONFIG__;return s&&n.push({context:"window",data:s}),n}class Vs{add(e,n){return this.apis.push([e.id,n]),n}build(){return new fn(new Map(this.apis))}constructor(){(0,b._)(this,"apis",[])}}class fn{static builder(){return new Vs}static from(e){return new fn(new Map(e.map(([n,s])=>[n.id,s])))}static with(e,n){return new fn(new Map([[e.id,n]]))}with(e,n){return new fn(new Map([...this.apis,[e.id,n]]))}get(e){return this.apis.get(e.id)}constructor(e){(0,b._)(this,"apis",void 0),this.apis=e}}function Qs(r){const e=new Map;return r&&r({bind:(s,a)=>{for(const[l,S]of Object.entries(a)){const x=s[l];if(!x)throw new Error(`Key ${l} is not an existing external route`);if(!S&&!x.optional)throw new Error(`External route ${l} is required but was undefined`);S&&e.set(x,S)}}}),e}function jn(){const[r]=(0,m.CF)((0,i.jsx)(m.kX,{index:!0,element:(0,i.jsx)("div",{})}));return!r.index}const Sr=(0,u.createContext)(void 0);var br=t(65252),Or=t(34420),Ys=t(73556);const Zs=(r,e)=>{try{const n=(0,Ln.Cm)(e,{pathname:r}),s=n==null?void 0:n.filter(L=>{var W;return(L==null||(W=L.route.routeRefs)===null||W===void 0?void 0:W.size)>0}).pop(),a=s==null?void 0:s.route;if(!a||a.path===""&&r!=="/")return;let l;a.routeRefs.size===1&&(l=a.routeRefs.values().next().value);let S;a.plugins.size===1&&(S=a.plugins.values().next().value);const x=Object.entries((s==null?void 0:s.params)||{}).reduce((L,[W,X])=>(X!==void 0&&W!=="*"&&(L[W]=X),L),{});return{extension:"App",pluginId:(S==null?void 0:S.getId())||"root",...l?{routeRef:l.id}:{},_routeNodeType:a.element,params:x}}catch{return}},Js=({pathname:r,search:e,hash:n,attributes:s})=>{const a=(0,Or.S)();return(0,u.useEffect)(()=>{a.captureEvent("navigate",`${r}${e}${n}`,{attributes:s})},[a,r,e,n,s]),null},ao=({routeObjects:r})=>{const{pathname:e,search:n,hash:s}=(0,m.IT)(),{params:a,...l}=Zs(e,r)||{params:{}};return(0,i.jsx)(Ys.cz,{attributes:l,children:(0,i.jsx)(Js,{pathname:e,search:n,hash:s,attributes:a})})};function Xs(r){return jn()?Xo(r):""}function Xo(r){var e;let{pathname:n}=new URL((e=r.getOptionalString("app.baseUrl"))!==null&&e!==void 0?e:"/","http://sample.dev");return n=n.replace(/\/*$/,""),n}function wr({component:r,appIdentityProxy:e,children:n}){const[s,a]=(0,u.useState)(),l=(0,Dn.yk)(ie.c),S=Xo(l);return s?(e.setTarget(s,{signOutTargetUrl:S||"/"}),(0,i.jsx)(i.Fragment,{children:n})):(0,i.jsx)(r,{onSignInSuccess:a})}function Pr(r){const{Router:e,SignInPage:n}=(0,br.I)().getComponents(),s=(0,Dn.yk)(ie.c),a=Xo(s),l=`${a}/*`,S=(0,u.useContext)(Sr);if(!S)throw new Error("AppRouter must be rendered within the AppProvider");const{routeObjects:x,appIdentityProxy:L}=S;return n?jn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(ao,{routeObjects:x}),(0,i.jsx)(wr,{component:n,appIdentityProxy:L,children:(0,i.jsx)(m.c5,{children:(0,i.jsx)(m.kX,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(ao,{routeObjects:x}),(0,i.jsx)(wr,{component:n,appIdentityProxy:L,children:r.children})]}):(L.setTarget({getUserId:()=>"guest",getIdToken:async()=>{},getProfile:()=>({email:"guest@example.com",displayName:"Guest"}),getProfileInfo:async()=>({email:"guest@example.com",displayName:"Guest"}),getBackstageIdentity:async()=>({type:"user",userEntityRef:"user:default/guest",ownershipEntityRefs:["user:default/guest"]}),getCredentials:async()=>({}),signOut:async()=>{}},{signOutTargetUrl:a||"/"}),jn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(ao,{routeObjects:x}),(0,i.jsx)(m.c5,{children:(0,i.jsx)(m.kX,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(ao,{routeObjects:x}),r.children]}))}(0,Ie.w)(Pr,"core.type","AppRouter");const Bn="language",Ye="en";var Un=new WeakMap,gn=new WeakMap,lo=new WeakMap;class co{static create(e){var n;const s=(n=e==null?void 0:e.availableLanguages)!==null&&n!==void 0?n:[Ye];if(s.length!==new Set(s).size)throw new Error(`Supported languages may not contain duplicates, got '${s.join("', '")}'`);if(!s.includes(Ye))throw new Error(`Supported languages must include '${Ye}'`);var a;const l=(a=e==null?void 0:e.defaultLanguage)!==null&&a!==void 0?a:Ye;if(!s.includes(l))throw new Error(`Initial language must be one of the supported languages, got '${l}'`);return new co(s,l)}static createWithStorage(e){const n=co.create(e);if(!window.localStorage)return n;const s=window.localStorage.getItem(Bn),{languages:a}=n.getAvailableLanguages();return s&&a.includes(s)&&n.setLanguage(s),n.language$().subscribe(({language:l})=>{l!==window.localStorage.getItem(Bn)&&window.localStorage.setItem(Bn,l)}),window.addEventListener("storage",l=>{if(l.key===Bn){var S;const x=(S=localStorage.getItem(Bn))!==null&&S!==void 0?S:void 0;x&&n.setLanguage(x)}}),n}getAvailableLanguages(){return{languages:(0,Rt._)(this,Un).slice()}}setLanguage(e){const n=e!=null?e:Ye;if(n!==(0,Rt._)(this,gn)){if(n&&!(0,Rt._)(this,Un).includes(n))throw new Error(`Failed to change language to '${n}', available languages are '${(0,Rt._)(this,Un).join("', '")}'`);(0,h._)(this,gn,n),(0,Rt._)(this,lo).next({language:n})}}getLanguage(){return{language:(0,Rt._)(this,gn)}}language$(){return(0,Rt._)(this,lo)}constructor(e,n){(0,ue._)(this,Un,{writable:!0,value:void 0}),(0,ue._)(this,gn,{writable:!0,value:void 0}),(0,ue._)(this,lo,{writable:!0,value:void 0}),(0,h._)(this,Un,e),(0,h._)(this,gn,n),(0,h._)(this,lo,new nt({language:(0,Rt._)(this,gn)}))}}var We=t(8979),sn=t(21724),_s=t(22632),qs=t(14044),Tr=t(52276);function Rr(r){return Object.fromEntries(Object.entries(r).filter(e=>e[1]!==null))}var pn=new WeakMap,uo=new WeakMap,vn=new WeakMap,ho=new WeakSet;class ti{addTranslationResource(e){const n=(0,qs.e)(e);for(const s of n.resources){const a=(0,We._)(this,ho,_o).call(this,s.language,n.id);(0,Rt._)(this,vn).has(a)||(0,Rt._)(this,vn).set(a,s.loader)}}needsLoading(e,n){const s=(0,We._)(this,ho,_o).call(this,e,n);return(0,Rt._)(this,vn).get(s)?!(0,Rt._)(this,pn).has(s):!1}async load(e,n){const s=(0,We._)(this,ho,_o).call(this,e,n),a=(0,Rt._)(this,vn).get(s);if(!a||(0,Rt._)(this,pn).has(s))return;const l=(0,Rt._)(this,uo).get(s);if(l){await l;return}const S=a().then(x=>{this.onLoad({language:e,namespace:n,messages:x.messages}),(0,Rt._)(this,pn).add(s)},x=>{throw(0,Rt._)(this,pn).add(s),x});(0,Rt._)(this,uo).set(s,S),await S}constructor(e){(0,sn._)(this,ho),(0,b._)(this,"onLoad",void 0),(0,ue._)(this,pn,{writable:!0,value:void 0}),(0,ue._)(this,uo,{writable:!0,value:void 0}),(0,ue._)(this,vn,{writable:!0,value:void 0}),this.onLoad=e,(0,h._)(this,pn,new Set),(0,h._)(this,uo,new Map),(0,h._)(this,vn,new Map)}}function _o(r,e){return`${r}/${e}`}var Fn=new WeakMap,mn=new WeakMap,an=new WeakMap,qo=new WeakMap,fo=new WeakMap,Ir=new WeakSet,go=new WeakSet,tr=new WeakSet;class er{static create(e){const{languages:n}=e.languageApi.getAvailableLanguages(),s=(0,_s.WS)({fallbackLng:Ye,supportedLngs:n,interpolation:{escapeValue:!1},ns:[],defaultNS:!1,fallbackNS:!1,initImmediate:!1});if(s.init(),!s.isInitialized)throw new Error("i18next was unexpectedly not initialized");const{language:a}=e.languageApi.getLanguage();a!==Ye&&s.changeLanguage(a);const l=new ti(L=>{s.addResourceBundle(L.language,L.namespace,Rr(L.messages),!1,!0)}),S=(e==null?void 0:e.resources)||[];for(let L=S.length-1;L>=0;L--){const W=S[L];W.$$type==="@backstage/TranslationResource"?l.addTranslationResource(W):W.$$type==="@backstage/TranslationMessages"&&s.addResourceBundle(Ye,W.id,Rr(W.messages),!0,!1)}const x=new er(s,l,e.languageApi.getLanguage().language);return e.languageApi.language$().subscribe(({language:L})=>{(0,We._)(x,Ir,ei).call(x,L)}),x}getTranslation(e){const n=(0,Tr.W)(e);return(0,We._)(this,tr,Dr).call(this,n),(0,We._)(this,go,nr).call(this,n)}translation$(e){const n=(0,Tr.W)(e);return(0,We._)(this,tr,Dr).call(this,n),new(z())(s=>{let a={};const l=()=>{a={};const x=a;(0,Rt._)(this,mn).load((0,Rt._)(this,an),n.id).then(()=>{if(x===a){const L=(0,We._)(this,go,nr).call(this,n);L.ready&&s.next(L)}},L=>{x===a&&s.error(Array.isArray(L)?L[0]:L)})},S=()=>{const x=(0,We._)(this,go,nr).call(this,n);x.ready?s.next(x):l()};return(0,Rt._)(this,mn).needsLoading((0,Rt._)(this,an),n.id)&&l(),(0,Rt._)(this,fo).add(S),()=>{(0,Rt._)(this,fo).delete(S)}})}constructor(e,n,s){(0,sn._)(this,Ir),(0,sn._)(this,go),(0,sn._)(this,tr),(0,ue._)(this,Fn,{writable:!0,value:void 0}),(0,ue._)(this,mn,{writable:!0,value:void 0}),(0,ue._)(this,an,{writable:!0,value:void 0}),(0,ue._)(this,qo,{writable:!0,value:new Set}),(0,ue._)(this,fo,{writable:!0,value:new Set}),(0,h._)(this,Fn,e),(0,h._)(this,mn,n),(0,h._)(this,an,s)}}function ei(r){(0,Rt._)(this,an)!==r&&((0,h._)(this,an,r),(0,Rt._)(this,Fn).changeLanguage(r),(0,Rt._)(this,fo).forEach(e=>e()))}function nr(r){return(0,Rt._)(this,mn).needsLoading((0,Rt._)(this,an),r.id)?{ready:!1}:{ready:!0,t:(0,Rt._)(this,Fn).getFixedT(null,r.id)}}function Dr(r){if((0,Rt._)(this,qo).has(r.id))return;(0,Rt._)(this,qo).add(r.id);const e=r.getDefaultMessages();(0,Rt._)(this,Fn).addResourceBundle(Ye,r.id,e,!0,!1);const n=r.getDefaultResource();n&&(0,Rt._)(this,mn).addTranslationResource(n)}function Lr(r){const e=new URL(r);return e.protocol=document.location.protocol,e.hostname=document.location.hostname,e.port=document.location.port,e.toString().replace(/\/$/,"")}function ni(r){const e=un.fromConfigs(r),n=e.getOptionalString("app.baseUrl"),s=e.getOptionalString("backend.baseUrl");let a=r,l,S;if(n&&s){const x=new URL(n).origin,L=new URL(s).origin;if(x===L){const W=Lr(s);s!==W&&(l=W)}}if(n){const x=Lr(n);n!==x&&(S=x)}return(S||l)&&(a=a.concat({data:{app:S&&{baseUrl:S},backend:l&&{baseUrl:l}},context:"relative-resolver"})),a}function oi(r,e,n){var s;const a=Boolean(r),l=(0,oe.default)(r||(()=>Promise.resolve([])));let S;if(a&&l.loading){const{Progress:W}=e;S=(0,i.jsx)(W,{})}else if(l.error){const{BootErrorPage:W}=e;S=(0,i.jsx)(W,{step:"load-config",error:l.error})}const{ThemeProvider:x=Cr}=e;return S?{node:(0,i.jsx)(Vo,{apis:fn.with(no,n),children:(0,i.jsx)(x,{children:S})})}:{api:un.fromConfigs(!((s=l.value)===null||s===void 0)&&s.length?ni(l.value):[])}}class ri{getPlugins(){return this.app.getPlugins()}getSystemIcon(e){return this.app.getSystemIcon(e)}getSystemIcons(){return this.app.getSystemIcons()}getComponents(){return this.app.getComponents()}constructor(e){(0,b._)(this,"app",void 0),this.app=e}}var or=new WeakMap;class si{getPlugins(){return Array.from(this.plugins)}getSystemIcon(e){return this.icons[e]}getSystemIcons(){return this.icons}getComponents(){return this.components}createRoot(e){const n=this.getProvider();return()=>(0,i.jsx)(n,{children:e})}getProvider(){if((0,Rt._)(this,or))throw new Error("app.getProvider() or app.createRoot() has already been called, and can only be called once");(0,h._)(this,or,!0);const e=new ri(this);let n=!1;return({children:a})=>{const l=(0,u.useRef)(!0),S=(0,u.useMemo)(()=>eo.createWithStorage(this.themes),[]),{routing:x,featureFlags:L,routeBindings:W}=(0,u.useMemo)(()=>{const Ot=jn();Ot&&console.warn(`
2
+ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be removed in a future release.
3
+ Please migrate to use React Router v6 stable.
4
+ See https://backstage.io/docs/tutorials/react-router-stable-migration
5
+ `);const kt=Cs({root:a,discoverers:[As,Ss],collectors:{routing:Ot?ws:Os,collectedPlugins:bs,featureFlags:Ps}});return kt.collectedPlugins.forEach(Ht=>this.plugins.add(Ht)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...kt,routeBindings:Qs(this.bindRoutes)}},[a]);n||(n=!0,Fs(x.paths,x.parents),$s(W,this.plugins));const X=oi(this.configLoader,this.components,S),ot="api"in X;if(ot){const{api:Ot}=X;this.configApi=Ot}if("node"in X)return X.node;if(ot&&l.current){l.current=!1;const Ot=this.getApiHolder().get(hn.a);if(Ot){for(const ee of this.featureFlags)Ot.registerFlag({...ee,pluginId:""});for(const ee of this.plugins.values())if("getFeatureFlags"in ee)for(const Ee of ee.getFeatureFlags())Ot.registerFlag({name:Ee.name,pluginId:ee.getId()});else for(const Ee of ee.output())Ee.type==="feature-flag"&&Ot.registerFlag({name:Ee.name,pluginId:ee.getId()});const kt=Ot.getRegisteredFlags(),Ht=new Set(kt.map(ee=>ee.name));for(const ee of L)Ht.has(ee)||Ot.registerFlag({name:ee,pluginId:""})}}const{ThemeProvider:ut=Cr,Progress:Et}=this.components;return(0,i.jsx)(Vo,{apis:this.getApiHolder(),children:(0,i.jsx)(ks,{appContext:e,children:(0,i.jsx)(ut,{children:(0,i.jsx)(Us,{routePaths:x.paths,routeParents:x.parents,routeObjects:x.objects,routeBindings:W,basePath:Xs(X.api),children:(0,i.jsx)(Sr.Provider,{value:{routeObjects:x.objects,appIdentityProxy:this.appIdentityProxy},children:(0,i.jsx)(u.Suspense,{fallback:(0,i.jsx)(Et,{}),children:a})})})})})})}}getRouter(){return Pr}getApiHolder(){if(this.apiHolder){for(const e of this.plugins)for(const n of e.getApis())this.apiFactoryRegistry.get(n.api)||this.apiFactoryRegistry.register("default",n);return Yo.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:no,deps:{},factory:()=>eo.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:ie.c,deps:{},factory:()=>{if(!this.configApi)throw new Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:rn.S,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("static",{api:gr,deps:{},factory:()=>this.appLanguageApi}),this.apiFactoryRegistry.register("default",{api:Es.A,deps:{languageApi:gr},factory:({languageApi:e})=>er.create({languageApi:e,resources:this.translationResources})}),this.apiFactoryRegistry.register("default",{api:hn.a,deps:{},factory:()=>new ys});for(const e of this.defaultApis)this.apiFactoryRegistry.register("default",e);for(const e of this.plugins)for(const n of e.getApis())if(!this.apiFactoryRegistry.register("default",n))throw new Error(`Plugin ${e.getId()} tried to register duplicate or forbidden API factory for ${n.api}`);for(const e of this.apis)if(!this.apiFactoryRegistry.register("app",e))throw new Error(`Duplicate or forbidden API factory for ${e.api} in app`);return Yo.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new Yo(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(e){const n=new Set;for(const s of e){const a=s.getId();if(n.has(a))throw new Error(`Duplicate plugin found '${a}'`);n.add(a)}}constructor(e){var n,s,a;(0,b._)(this,"apiHolder",void 0),(0,b._)(this,"configApi",void 0),(0,b._)(this,"apis",void 0),(0,b._)(this,"icons",void 0),(0,b._)(this,"plugins",void 0),(0,b._)(this,"featureFlags",void 0),(0,b._)(this,"components",void 0),(0,b._)(this,"themes",void 0),(0,b._)(this,"configLoader",void 0),(0,b._)(this,"defaultApis",void 0),(0,b._)(this,"bindRoutes",void 0),(0,b._)(this,"appLanguageApi",void 0),(0,b._)(this,"translationResources",void 0),(0,b._)(this,"appIdentityProxy",new Ns),(0,b._)(this,"apiFactoryRegistry",void 0),(0,ue._)(this,or,{writable:!0,value:!1});var l;this.apis=(l=e.apis)!==null&&l!==void 0?l:[],this.icons=e.icons;var S;this.plugins=new Set((S=e.plugins)!==null&&S!==void 0?S:[]);var x;this.featureFlags=(x=e.featureFlags)!==null&&x!==void 0?x:[],this.components=e.components,this.themes=e.themes;var L;this.configLoader=(L=e.configLoader)!==null&&L!==void 0?L:Ar;var W;this.defaultApis=(W=e.defaultApis)!==null&&W!==void 0?W:[],this.bindRoutes=e.bindRoutes,this.apiFactoryRegistry=new xs,this.appLanguageApi=co.createWithStorage({defaultLanguage:(n=e.__experimentalTranslations)===null||n===void 0?void 0:n.defaultLanguage,availableLanguages:(s=e.__experimentalTranslations)===null||s===void 0?void 0:s.availableLanguages});var X;this.translationResources=(X=(a=e.__experimentalTranslations)===null||a===void 0?void 0:a.resources)!==null&&X!==void 0?X:[]}}function ii(r){return new si(r)}function ai(r){var e,n,s,a;return ii({...r,apis:(e=r==null?void 0:r.apis)!==null&&e!==void 0?e:[],bindRoutes:r==null?void 0:r.bindRoutes,components:{...M,...r==null?void 0:r.components},configLoader:r==null?void 0:r.configLoader,defaultApis:Ro,icons:{...Jn,...r==null?void 0:r.icons},plugins:(n=r==null?void 0:r.plugins)!==null&&n!==void 0?n:[],featureFlags:(s=r==null?void 0:r.featureFlags)!==null&&s!==void 0?s:[],themes:(a=r==null?void 0:r.themes)!==null&&a!==void 0?a:Fe})}var po=t(62240);let Mr=!1;const jr=r=>{const e=(0,br.I)(),{NotFoundErrorPage:n}=e.getComponents(),s=(0,u.useMemo)(()=>jn(),[]),l=[...(0,po.a)(r.children,S=>S.getElements().flatMap(x=>{let L=x.props.path;if(L==="")return[];var W;L=(W=L==null?void 0:L.replace(/\/\*$/,""))!==null&&W!==void 0?W:"/";let X=s?x:x.props.element;return!s&&!X&&(X=x,Mr||(console.warn("DEPRECATION WARNING: All elements within <FlatRoutes> must be of type <Route> with an element prop. Existing usages of <Navigate key=[path] to=[to] /> should be replaced with <Route path=[path] element={<Navigate to=[to] />} />."),Mr=!0)),[{path:L,element:X,children:x.props.children?[{path:L==="/"?"/":"*",element:x.props.children}]:void 0}]}).sort((x,L)=>L.path.localeCompare(x.path)).map(x=>({...x,path:x.path==="/"?"/":`${x.path}/*`}))),{path:"*",element:(0,i.jsx)(n,{})}];return(0,m.wh)(l)};(0,Ie.w)(jr,"core.type","FlatRoutes");var en=t(83856),li=t(12644),ci=t(52300);function Br(r){return!r.cursor}function Fa(r){return!Br(r)}const Ce="catalog";var Ae=t(36720);class di{async analyzeLocation(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/analyze-location",l=Ae.parse(a).expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async createLocation(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/locations{?dryRun}",l=Ae.parse(a).expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async deleteEntityByUid(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-uid/{uid}",l=Ae.parse(a).expand({uid:e.path.uid});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"DELETE"})}async deleteLocation(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/locations/{id}",l=Ae.parse(a).expand({id:e.path.id});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"DELETE"})}async getEntities(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities{?fields,limit,filter*,offset,after,order*}",l=Ae.parse(a).expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntitiesByQuery(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-query{?fields,limit,orderField*,cursor,filter*,fullTextFilterTerm,fullTextFilterFields}",l=Ae.parse(a).expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntitiesByRefs(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-refs",l=Ae.parse(a).expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async getEntityAncestryByName(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-name/{kind}/{namespace}/{name}/ancestry",l=Ae.parse(a).expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityByName(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-name/{kind}/{namespace}/{name}",l=Ae.parse(a).expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityByUid(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entities/by-uid/{uid}",l=Ae.parse(a).expand({uid:e.path.uid});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityFacets(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/entity-facets{?facet*,filter*}",l=Ae.parse(a).expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocation(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/locations/{id}",l=Ae.parse(a).expand({id:e.path.id});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocationByEntity(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/locations/by-entity/{kind}/{namespace}/{name}",l=Ae.parse(a).expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocations(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/locations",l=Ae.parse(a).expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async refreshEntity(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/refresh",l=Ae.parse(a).expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async validateEntity(e,n){const s=await this.discoveryApi.getBaseUrl(Ce),a="/validate-entity",l=Ae.parse(a).expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}constructor(e){(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"fetchApi",void 0),this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi||{fetch:Kn()}}}class ui{async getEntityAncestors(e,n){return await this.requestRequired(await this.apiClient.getEntityAncestryByName({path:(0,en.WK)(e.entityRef)},n))}async getLocationById(e,n){return await this.requestOptional(await this.apiClient.getLocation({path:{id:e}},n))}async getLocationByEntity(e,n){return await this.requestOptional(await this.apiClient.getLocationByEntity({path:(0,en.WK)(e)},n))}async getEntities(e,n){const{filter:s=[],fields:a=[],order:l,offset:S,limit:x,after:L}=e!=null?e:{},W=[];if(l)for(const ut of[l].flat())ut&&W.push(`${ut.order}:${ut.field}`);const X=await this.requestRequired(await this.apiClient.getEntities({query:{fields:a,limit:x,filter:this.getFilterValue(s),offset:S,after:L,order:l?W:void 0}},n)),ot=(ut,Et)=>{var Ot,kt;if(((Ot=ut.metadata)===null||Ot===void 0?void 0:Ot.name)===void 0||ut.kind===void 0||((kt=Et.metadata)===null||kt===void 0?void 0:kt.name)===void 0||Et.kind===void 0)return 0;const Ht=(0,en.gH)(ut),ee=(0,en.gH)(Et);return Ht<ee?-1:Ht>ee?1:0};return{items:X.sort(ot)}}async getEntitiesByRefs(e,n){const s=await this.apiClient.getEntitiesByRefs({body:e},n);if(!s.ok)throw await qe.i.fromResponse(s);const{items:a}=await s.json();return{items:a.map(l=>l!=null?l:void 0)}}async queryEntities(e={},n){const s={};if(Br(e)){var a,l;const{fields:S=[],filter:x,limit:L,orderFields:W,fullTextFilter:X}=e;s.filter=this.getFilterValue(x),L!==void 0&&(s.limit=L),W!==void 0&&(s.orderField=(Array.isArray(W)?W:[W]).map(({field:ut,order:Et})=>`${ut},${Et}`)),S.length&&(s.fields=S);const ot=X==null||(a=X.term)===null||a===void 0?void 0:a.trim();ot&&(s.fullTextFilterTerm=ot),!(X==null||(l=X.fields)===null||l===void 0)&&l.length&&(s.fullTextFilterFields=X.fields)}else{const{fields:S=[],limit:x,cursor:L}=e;s.cursor=L,x!==void 0&&(s.limit=x),S.length&&(s.fields=S)}return this.apiClient.getEntitiesByQuery({query:s},n).then(S=>S.json())}async getEntityByRef(e,n){return this.requestOptional(await this.apiClient.getEntityByName({path:(0,en.WK)(e)},n))}async getEntityByName(e,n){const{kind:s,namespace:a="default",name:l}=e;return this.requestOptional(await this.apiClient.getEntityByName({path:{kind:s,namespace:a,name:l}},n))}async refreshEntity(e,n){const s=await this.apiClient.refreshEntity({body:{entityRef:e}},n);if(s.status!==200)throw new Error(await s.text())}async getEntityFacets(e,n){const{filter:s=[],facets:a}=e;return await this.requestOptional(await this.apiClient.getEntityFacets({query:{facet:a,filter:this.getFilterValue(s)}},n))}async addLocation(e,n){const{type:s="url",target:a,dryRun:l}=e,S=await this.apiClient.createLocation({body:{type:s,target:a},query:{dryRun:l?"true":void 0}},n);if(S.status!==201)throw new Error(await S.text());const{location:x,entities:L,exists:W}=await S.json();if(!x)throw new Error(`Location wasn't added: ${a}`);return{location:x,entities:L,exists:W}}async getLocationByRef(e,n){return(await this.requestRequired(await this.apiClient.getLocations({},n))).map(a=>a.data).find(a=>e===(0,li.EF)(a))}async removeLocationById(e,n){await this.requestIgnored(await this.apiClient.deleteLocation({path:{id:e}},n))}async removeEntityByUid(e,n){await this.requestIgnored(await this.apiClient.deleteEntityByUid({path:{uid:e}},n))}async validateEntity(e,n,s){const a=await this.apiClient.validateEntity({body:{entity:e,location:n}},s);if(a.ok)return{valid:!0};if(a.status!==400)throw await qe.i.fromResponse(a);const{errors:l=[]}=await a.json();return{valid:!1,errors:l}}async requestIgnored(e){if(!e.ok)throw await qe.i.fromResponse(e)}async requestRequired(e){if(!e.ok)throw await qe.i.fromResponse(e);return e.json()}async requestOptional(e){if(!e.ok){if(e.status===404)return;throw await qe.i.fromResponse(e)}return await e.json()}getFilterValue(e=[]){const n=[];for(const s of[e].flat()){const a=[];for(const[l,S]of Object.entries(s))for(const x of[S].flat())x===ci.q?a.push(l):typeof x=="string"&&a.push(`${l}=${x}`);a.length&&n.push(a.join(","))}return n}constructor(e){(0,b._)(this,"apiClient",void 0),this.apiClient=new di(e)}}var Ur=t(33776),hi=t(31608),fi=t(19047),Fr=t(65884),yn=t(35136),gi=t(6344),Be=t(65016),pi=t(20044),En=t(67928);async function vi({storageApi:r}){const e=r.forBucket("settings"),n=r.forBucket("starredEntities"),s=e.snapshot("starredEntities").value;if(!(0,En.isArray)(s))return;var a;const l=new Set((a=n.snapshot("entityRefs").value)!==null&&a!==void 0?a:[]);s.filter(En.isString).map(S=>S.split(":")).filter(S=>S.length===4&&S[0]==="entity").map(([S,x,L,W])=>(0,en.gH)({kind:x,namespace:L,name:W})).forEach(S=>l.add(S)),await n.set("entityRefs",Array.from(l)),await e.remove("starredEntities")}class mi{async toggleStarred(e){this.starredEntities.has(e)?this.starredEntities.delete(e):this.starredEntities.add(e),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}notifyChanges(){for(const e of this.subscribers)e.next(new Set(this.starredEntities))}constructor(e){(0,b._)(this,"settingsStore",void 0),(0,b._)(this,"starredEntities",void 0),(0,b._)(this,"subscribers",new Set),(0,b._)(this,"observable",new(z())(s=>(s.next(new Set(this.starredEntities)),this.subscribers.add(s),()=>{this.subscribers.delete(s)}))),vi(e).then(),this.settingsStore=e.storageApi.forBucket("starredEntities");var n;this.starredEntities=new Set((n=this.settingsStore.snapshot("entityRefs").value)!==null&&n!==void 0?n:[]),this.settingsStore.observe$("entityRefs").subscribe({next:s=>{var a;this.starredEntities=new Set((a=s.value)!==null&&a!==void 0?a:[]),this.notifyChanges()}})}}function rr(r){const{years:e=0,months:n=0,weeks:s=0,days:a=0,hours:l=0,minutes:S=0,seconds:x=0,milliseconds:L=0}=r;return((((e*365+n*30+s*7+a)*24+l)*60+S)*60+x)*1e3+L}var yi=t(73208),Ei=t.n(yi),xi=t(29268),Ci=t.n(xi),Ai=t(43220);const Si={seconds:10},bi={milliseconds:50},Oi={api:Gn.c,component:Qn.c,system:Hn.c,resource:Yn.c,domain:Cn.c,location:Vn.c,user:bn.c,group:Sn.c,template:Zn.c};function $r(r){return{async:r.async,render:({entityRef:e,entity:n,context:s})=>({snapshot:(0,Ai.q)(n||e,s),loadEntity:r.async})}}var vo=new WeakMap,sr=new WeakMap,mo=new WeakMap,ir=new WeakMap,yo=new WeakMap,Wr=new WeakSet,kr=new WeakSet,Nr=new WeakSet;class Eo{static createLocal(){return new Eo({renderer:$r({async:!1})})}static create(e){return new Eo(e)}forEntity(e,n){const{entityRef:s,kind:a,entity:l,needsLoad:S}=(0,We._)(this,Wr,wi).call(this,e),x=X=>{const{snapshot:ot}=(0,Rt._)(this,yo).render({entityRef:s,loading:X.loading,entity:X.entity,context:n||{}});return{...ot,entityRef:s,Icon:(0,We._)(this,Nr,Ti).call(this,ot.Icon,a)}};let L;try{L=x({loading:S,entity:l})}catch{L={primaryTitle:s,entityRef:s}}const W=S?new(z())(X=>{let ot=!1;return Promise.resolve().then(()=>{var ut;return(ut=(0,Rt._)(this,mo))===null||ut===void 0?void 0:ut.load(s)}).then(ut=>{if(!ot&&ut&&ut.metadata.etag!==(l==null?void 0:l.metadata.etag)){const Et=x({loading:!1,entity:ut});X.next(Et)}}).catch(()=>{}).finally(()=>{ot||X.complete()}),()=>{ot=!0}}):void 0;return{snapshot:L,update$:W}}constructor(e){(0,sn._)(this,Wr),(0,sn._)(this,kr),(0,sn._)(this,Nr),(0,ue._)(this,vo,{writable:!0,value:void 0}),(0,ue._)(this,sr,{writable:!0,value:void 0}),(0,ue._)(this,mo,{writable:!0,value:void 0}),(0,ue._)(this,ir,{writable:!0,value:void 0}),(0,ue._)(this,yo,{writable:!0,value:void 0});var n;const s=(n=e.cacheTtl)!==null&&n!==void 0?n:Si;var a;const l=(a=e.batchDelay)!==null&&a!==void 0?a:bi;var S;const x=(S=e.renderer)!==null&&S!==void 0?S:$r({async:!0}),L={};Object.entries(Oi).forEach(([X,ot])=>{L[X.toLocaleLowerCase("en-US")]=ot});var W;if(Object.entries((W=e.kindIcons)!==null&&W!==void 0?W:{}).forEach(([X,ot])=>{L[X.toLocaleLowerCase("en-US")]=ot}),x.async){if(!e.catalogApi)throw new TypeError("Asynchronous rendering requires a catalog API");(0,h._)(this,mo,(0,We._)(this,kr,Pi).call(this,{cacheTtl:s,batchDelay:l,renderer:x,catalogApi:e.catalogApi}))}(0,h._)(this,sr,rr(s)),(0,h._)(this,vo,new Map),(0,h._)(this,ir,L),(0,h._)(this,yo,x)}}function wi(r){if(typeof r!="string")return{entity:r,kind:r.kind,entityRef:(0,en.gH)(r),needsLoad:!1};const e=(0,Rt._)(this,vo).get(r),n=e==null?void 0:e.entity,a=(!e||Date.now()-e.updatedAt>(0,Rt._)(this,sr))&&(0,Rt._)(this,yo).async!==!1&&(0,Rt._)(this,mo)!==void 0;return{entity:n,kind:(0,en.WK)(r).kind,entityRef:r,needsLoad:a}}function Pi(r){const e=rr(r.cacheTtl),n=rr(r.batchDelay);return new(Ei())(async s=>{const{items:a}=await r.catalogApi.getEntitiesByRefs({entityRefs:s}),l=Date.now();return s.forEach((S,x)=>{(0,Rt._)(this,vo).set(S,{updatedAt:l,entity:a[x]})}),a},{name:"DefaultEntityPresentationApi",cacheMap:new(Ci())(e),maxBatchSize:100,batchScheduleFn:n?s=>setTimeout(s,n):void 0})}function Ti(r,e){return r||(r===!1?!1:(0,Rt._)(this,ir)[e.toLocaleLowerCase("en-US")])}const Le=(0,gi.a)({id:"catalog",apis:[(0,Nt.Q)({api:Ur.s,deps:{discoveryApi:ne.y,fetchApi:Nn._},factory:({discoveryApi:r,fetchApi:e})=>new ui({discoveryApi:r,fetchApi:e})}),(0,Nt.Q)({api:hi.s,deps:{storageApi:kn},factory:({storageApi:r})=>new mi({storageApi:r})}),(0,Nt.Q)({api:fi.Q,deps:{catalogApi:Ur.s},factory:({catalogApi:r})=>Eo.create({catalogApi:r})})],routes:{catalogIndex:yn.sv,catalogEntity:Fr.I},externalRoutes:{createComponent:yn.W,viewTechDoc:yn.I5,createFromTemplate:yn.A7,unregisterRedirect:yn.ml}}),$a=Le.provide((0,Be.Wm)({name:"CatalogIndexPage",component:()=>Promise.all([t.e(6856),t.e(736),t.e(3472)]).then(t.bind(t,33472)).then(r=>r.CatalogPage),mountPoint:yn.sv})),Ri=Le.provide((0,Be.Wm)({name:"CatalogEntityPage",component:()=>t.e(7892).then(t.bind(t,17892)).then(r=>r.CatalogEntityPage),mountPoint:Fr.I})),Wa=Le.provide((0,Be.cT)({name:"EntityAboutCard",component:{lazy:()=>Promise.all([t.e(6856),t.e(552),t.e(1952)]).then(t.bind(t,1952)).then(r=>r.AboutCard)}})),ka=Le.provide((0,Be.cT)({name:"EntityLinksCard",component:{lazy:()=>t.e(7532).then(t.bind(t,55152)).then(r=>r.EntityLinksCard)}})),Na=Le.provide((0,Be.cT)({name:"EntityLabelsCard",component:{lazy:()=>t.e(5680).then(t.bind(t,25680)).then(r=>r.EntityLabelsCard)}})),Ka=Le.provide((0,Be.cT)({name:"EntityHasSystemsCard",component:{lazy:()=>t.e(4256).then(t.bind(t,34256)).then(r=>r.HasSystemsCard)}})),za=Le.provide((0,Be.cT)({name:"EntityHasComponentsCard",component:{lazy:()=>t.e(732).then(t.bind(t,50732)).then(r=>r.HasComponentsCard)}})),Ha=Le.provide((0,Be.cT)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>t.e(2136).then(t.bind(t,22136)).then(r=>r.HasSubcomponentsCard)}})),Ga=Le.provide((0,Be.cT)({name:"EntityHasResourcesCard",component:{lazy:()=>t.e(496).then(t.bind(t,60496)).then(r=>r.HasResourcesCard)}})),Va=Le.provide((0,Be.cT)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>t.e(7380).then(t.bind(t,87380)).then(r=>r.DependsOnComponentsCard)}})),Qa=Le.provide((0,Be.cT)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>t.e(2604).then(t.bind(t,82604)).then(r=>r.DependencyOfComponentsCard)}})),Ya=Le.provide((0,Be.cT)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>t.e(2e3).then(t.bind(t,22e3)).then(r=>r.DependsOnResourcesCard)}})),Za=Le.provide((0,Be.cT)({name:"RelatedEntitiesCard",component:{lazy:()=>t.e(72).then(t.bind(t,60072)).then(r=>r.RelatedEntitiesCard)}})),Ja=Le.provide((0,pi.a4)({name:"CatalogSearchResultListItem",component:()=>t.e(452).then(t.bind(t,50452)).then(r=>r.CatalogSearchResultListItem),predicate:r=>r.type==="software-catalog"}));var Kr=t(87676),zr=t(66056);class Ii{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(e,n){const a=`${await this.getApiOrigin()}/${n}`,l=await fetch(`${a.endsWith("/")?a:`${a}/`}index.html`);if(l.status===404)throw new Error("Page not found");return l.text()}async syncEntityDocs(e){return"cached"}async getBaseUrl(e,n,s){const a=await this.getApiOrigin();return new URL(e,`${a}/${s}`).toString()}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,b._)(this,"configApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}class Di{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(e){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(e){return{site_name:"Live preview environment",site_description:""}}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,b._)(this,"configApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}const Li=[(0,Nt.Q)({api:zr.E,deps:{configApi:ie.c,discoveryApi:ne.y,identityApi:rn.S},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Ii({configApi:r,discoveryApi:e,identityApi:n})}),(0,Nt.Q)({api:zr.Q,deps:{configApi:ie.c,discoveryApi:ne.y,identityApi:rn.S},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Di({configApi:r,discoveryApi:e,identityApi:n})}),(0,Nt.Q)({api:Kr.u,deps:{configApi:ie.c},factory:({configApi:r})=>Kr.G.fromConfig(r)})],Mi={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},ji={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function Bi(){const r=await fetch("/.detect");return r.ok?(await r.text()).trim()==="techdocs-cli-server":!1}async function Ui(){const r=await Ar(),e=await Bi();return[...r,{context:"detected",data:e?Mi:ji}]}var Ze=t(40476),Fi=t(9712);const $i=(0,Ze.c)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var Wi=()=>{const r=$i();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05",children:(0,i.jsx)("path",{className:r.path,d:"M302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Zm241-88.84q7.94,0,17.09.17t18.12,1a139.3,139.3,0,0,1,16.74,2.57,42.78,42.78,0,0,1,13.3,5.14,64.27,64.27,0,0,1,20.54,19.89Q662,168,662,186.54q0,19.54-9.49,33.78t-27.1,21.09v.68q22.78,4.82,34.87,20.58t12.08,38.4a72.62,72.62,0,0,1-4.83,26.06,65.29,65.29,0,0,1-14.33,22.46,71.57,71.57,0,0,1-23.47,15.78q-14,6-32.28,6H478.38V126.54Zm9,105.27q28,0,40.21-9.78t12.26-29.31q0-13-4.14-20.58a29.47,29.47,0,0,0-11.4-11.66A45,45,0,0,0,597,155.17a161.2,161.2,0,0,0-20.19-1.2h-65.6v77.84Zm16.57,112.13q21.74,0,34-11.66T639.59,300q0-12-4.48-19.88a34.85,34.85,0,0,0-11.91-12.52,50.14,50.14,0,0,0-17.09-6.52,105,105,0,0,0-20-1.88H511.17v84.7Zm274.79,26.74q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58A41.19,41.19,0,0,1,705,348.56q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.08-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7T736.6,249.29H707.26q.69-16.46,6.9-27.77a52.21,52.21,0,0,1,16.57-18.35,70,70,0,0,1,23.65-10.11A125.51,125.51,0,0,1,782.86,190a168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7A41.23,41.23,0,0,1,844,213.59q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-18,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.5,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14ZM1002.07,225q-11.05-9.25-29.69-9.26-15.89,0-26.58,5.83A47.29,47.29,0,0,0,928.71,237a64.66,64.66,0,0,0-9.15,22.12A119.83,119.83,0,0,0,916.8,285a98.22,98.22,0,0,0,2.93,24,64.18,64.18,0,0,0,9.15,20.74,46.2,46.2,0,0,0,16.23,14.58q10,5.49,23.82,5.48,21.75,0,34-11.31t15-31.89h30q-4.83,32.91-24.68,50.75t-54,17.83q-20.37,0-36.07-6.52A69.86,69.86,0,0,1,907,350.11a79.92,79.92,0,0,1-15.88-28.63A118.64,118.64,0,0,1,885.73,285a129.41,129.41,0,0,1,5.18-37.21,85.63,85.63,0,0,1,15.71-30.17A73.46,73.46,0,0,1,933,197.35Q948.91,190,970,190a108.54,108.54,0,0,1,28.48,3.6,69.59,69.59,0,0,1,23.48,11.15,61,61,0,0,1,16.74,19q6.55,11.49,8.29,27.26h-30.38Q1013.11,234.21,1002.07,225Zm109.77-98.41v145l81.47-77.49h39.36l-70.77,64.46,75.95,112.82h-37.29l-61.1-92.59-27.62,25.38v67.21H1082.5V126.54Zm170.54,205.22a31.07,31.07,0,0,0,10.87,10.63,49,49,0,0,0,15.19,5.66,87.06,87.06,0,0,0,17.44,1.71,109.18,109.18,0,0,0,14.5-1,53.22,53.22,0,0,0,14-3.78,26.27,26.27,0,0,0,10.53-8q4.14-5.32,4.14-13.55,0-11.31-8.63-17.14a73.69,73.69,0,0,0-21.58-9.43q-12.94-3.6-28.13-6.52a146,146,0,0,1-28.14-8.23A58.16,58.16,0,0,1,1261,267.13q-8.64-9.6-8.63-26.75,0-13.38,6-23a49.26,49.26,0,0,1,15.53-15.61,71.76,71.76,0,0,1,21.4-8.91A99.41,99.41,0,0,1,1319,190a141.31,141.31,0,0,1,28,2.58,64.85,64.85,0,0,1,22.62,8.91,46.16,46.16,0,0,1,15.7,17.15q5.87,10.8,6.91,26.91h-29.35q-.69-8.57-4.48-14.23a29.36,29.36,0,0,0-9.67-9.08,44.16,44.16,0,0,0-12.94-5,67.68,67.68,0,0,0-14.33-1.54,87.29,87.29,0,0,0-13.29,1,45.28,45.28,0,0,0-12.26,3.6,24.49,24.49,0,0,0-9,6.86q-3.46,4.29-3.46,11.14a16.32,16.32,0,0,0,5.36,12.52,42.75,42.75,0,0,0,13.63,8.23,120,120,0,0,0,18.64,5.48q10.37,2.24,20.72,4.63,11,2.4,21.57,5.83A70.74,70.74,0,0,1,1382,284.1a44.55,44.55,0,0,1,13.12,14.23q5,8.58,5,21.26,0,16.13-6.73,26.75a52.5,52.5,0,0,1-17.61,17.14,73.89,73.89,0,0,1-24.51,9.09,146.3,146.3,0,0,1-27.1,2.57,126.24,126.24,0,0,1-28.31-3.09A69.56,69.56,0,0,1,1272,361.94a51.74,51.74,0,0,1-16.57-18.52q-6.21-11.49-6.9-27.95h29.34A32.65,32.65,0,0,0,1282.38,331.76Zm226.46-137.67v25.72h-35.56V329.88a31.37,31.37,0,0,0,.87,8.23,8.42,8.42,0,0,0,3.28,4.8,14.61,14.61,0,0,0,6.73,2.23,99.19,99.19,0,0,0,11.22.51h13.46v25.72H1486.4a105.8,105.8,0,0,1-19.5-1.55,28.65,28.65,0,0,1-13.12-5.65,24.09,24.09,0,0,1-7.42-11.66q-2.43-7.54-2.42-19.89V219.81h-30.38V194.09h30.38V140.94h29.34v53.15ZM1699.4,370.68q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58,41.19,41.19,0,0,1-12.6-15.26q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.07-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7t-13.46,26.57h-29.34q.67-16.46,6.9-27.77A52.21,52.21,0,0,1,1562,203.17a70,70,0,0,1,23.65-10.11,125.51,125.51,0,0,1,28.48-3.09,168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7,41.23,41.23,0,0,1,15.53,14.89q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-17.95,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.51,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14Zm208.85,141.62q-20,21.6-62.83,21.6a122.11,122.11,0,0,1-25.37-2.74,78,78,0,0,1-23.48-8.92,54.41,54.41,0,0,1-17.43-16.11q-6.91-10-7.6-24.35h29.35a21.47,21.47,0,0,0,5,13.38,36.67,36.67,0,0,0,11.4,8.91,55.52,55.52,0,0,0,14.67,5,79.51,79.51,0,0,0,15.19,1.55q14.49,0,24.51-5A46,46,0,0,0,1840.59,401a56.53,56.53,0,0,0,9.49-21.09,117.46,117.46,0,0,0,2.94-27.09V341.19h-.7q-7.59,16.46-23,24.18a71.8,71.8,0,0,1-32.63,7.71q-20,0-34.86-7.2A72.88,72.88,0,0,1,1737,346.51a82.13,82.13,0,0,1-15-28.46,116.62,116.62,0,0,1-5-34.47,133.92,133.92,0,0,1,4.14-32.4A88.17,88.17,0,0,1,1735,221a75.49,75.49,0,0,1,25.55-22.29q15.87-8.75,39-8.75a66.21,66.21,0,0,1,31.07,7.38,52.13,52.13,0,0,1,22.09,22.11h.35V194.09h27.61V356.28Q1880.63,399.83,1860.61,421.43Zm-37.46-79.72a47.94,47.94,0,0,0,16.4-15.78,71.89,71.89,0,0,0,9.15-22.11,106.77,106.77,0,0,0,2.93-24.69,96.71,96.71,0,0,0-2.76-23,64,64,0,0,0-8.8-20.4,45.76,45.76,0,0,0-15.71-14.57q-9.66-5.49-23.47-5.49-14.16,0-24.17,5.32a46.77,46.77,0,0,0-16.4,14.23,60.14,60.14,0,0,0-9.32,20.57,99.69,99.69,0,0,0-2.93,24.35,120.63,120.63,0,0,0,2.42,24,67.5,67.5,0,0,0,8.28,21.77,46.37,46.37,0,0,0,15.54,15.78q9.66,6,24.16,6T1823.15,341.71Zm228,18.34q-20,15.09-50.41,15.09-21.4,0-37.11-6.86a73.16,73.16,0,0,1-26.41-19.2,81.52,81.52,0,0,1-16-29.49,141.12,141.12,0,0,1-6-37.38,106.1,106.1,0,0,1,6.21-37A88.56,88.56,0,0,1,1938.8,216a79.09,79.09,0,0,1,26.58-19.2A81.66,81.66,0,0,1,1999,190q23.82,0,39.53,9.78a78,78,0,0,1,25.2,24.86,98.18,98.18,0,0,1,13.12,32.91,140.6,140.6,0,0,1,2.93,34h-133.6a70,70,0,0,0,2.76,22.12,49.9,49.9,0,0,0,10,18.51A49.1,49.1,0,0,0,1976.6,345q10.7,4.82,25.2,4.8,18.65,0,30.55-8.57t15.71-26.06h29Q2071.18,345,2051.17,360.05Zm-7.08-113.84a50,50,0,0,0-10.7-16,53.1,53.1,0,0,0-56.62-10.63,47.48,47.48,0,0,0-15.71,10.81,51.69,51.69,0,0,0-10.35,15.94,60.18,60.18,0,0,0-4.49,19.37h102.53A59.47,59.47,0,0,0,2044.09,246.21ZM302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Z"})})};const ki=(0,Ze.c)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var Ni=()=>{const r=ki();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5",children:(0,i.jsx)("path",{className:r.path,d:"M303,166.05a80.69,80.69,0,0,0,13.45-10.37c.79-.77,1.55-1.53,2.3-2.3a83.12,83.12,0,0,0,7.93-9.38A63.69,63.69,0,0,0,333,133.23a48.58,48.58,0,0,0,4.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56,0,78.3,115.23,0,190.25l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.22,49.22,0,0,0-6.8-8.87A89.17,89.17,0,0,0,259,178.29h.15a85.08,85.08,0,0,0,31-5.79A80.88,80.88,0,0,0,303,166.05ZM202.45,225.86c-19.32,18.51-50.4,21.23-75.7,5.9L51.61,186.15l67.45-64.64,76.41,46.38C223,184.58,221.49,207.61,202.45,225.86Zm8.93-82.22-70.65-42.89L205.14,39,274.51,81.1c25.94,15.72,29.31,37,10.55,55A60.69,60.69,0,0,1,211.38,143.64Zm29.86,190c-19.57,18.75-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,282.52v24.67L108.6,373.1a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.27,87.27,0,0,1,241.24,333.68Zm0-39c-19.57,18.75-46.17,29.08-74.88,29.08a123.81,123.81,0,0,1-64.1-18.19L0,243.53v24.68l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.5v-1.78A87.27,87.27,0,0,1,241.24,294.7Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.81,123.81,0,0,1-64.1-18.19L0,204.55v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.82A86.09,86.09,0,0,1,241.24,255.71Zm83.7,25.74a94.15,94.15,0,0,1-60.2,25.86h0V334a81.6,81.6,0,0,0,51.74-22.37c14-13.38,21.14-28.11,21-42.64v-2.19A94.92,94.92,0,0,1,324.94,281.45Zm-83.7,91.21c-19.57,18.76-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,321.5v24.68l108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A86.29,86.29,0,0,1,241.24,372.66ZM327,162.45c-.68.69-1.35,1.38-2.05,2.06a94.37,94.37,0,0,1-10.64,8.65,91.35,91.35,0,0,1-11.6,7,94.53,94.53,0,0,1-26.24,8.71,97.69,97.69,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a53.27,53.27,0,0,1,1.14,12V217h.05a84.41,84.41,0,0,0,25.35-5.55,81,81,0,0,0,26.39-16.82c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,172.17a48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08,1.54-2.25,3.09A96.73,96.73,0,0,1,327,162.45Zm0,77.92c-.69.7-1.31,1.41-2,2.1a94.2,94.2,0,0,1-60.2,25.86h0l0,26.67h0a81.6,81.6,0,0,0,51.74-22.37A73.51,73.51,0,0,0,333,250.13a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74,1.07-1.46,2.15-2.27,3.21A95.68,95.68,0,0,1,327,240.37Zm0-39c-.69.7-1.31,1.41-2,2.1a93.18,93.18,0,0,1-10.63,8.65,91.63,91.63,0,0,1-11.63,7,95.47,95.47,0,0,1-37.94,10.18h0V256h0a81.65,81.65,0,0,0,51.74-22.37c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,211.15a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.46,2.16-2.27,3.22A95.68,95.68,0,0,1,327,201.39Z"})})},Se=t(58948);const Hr={isOpen:!1,setOpen:()=>{}},Gr=(0,u.createContext)(Hr),Vr=(0,qn.IR)("sidebar-open-state-context");function Qr(r){const{children:e,value:n}=r;return(0,i.jsx)(Gr.Provider,{value:n,children:(0,i.jsx)(Vr.Provider,{value:(0,to.O)({1:n}),children:e})})}const ar=()=>{const r=(0,u.useContext)(Vr),e=(0,u.useContext)(Gr);if(r===void 0)return e||Hr;const n=r.atVersion(1);if(n===void 0)throw new Error("No context found for version 1.");return n};var Yr=t(38280),Zr=t(10656),nn=t(33584),Jr=t(95664),Ki=t(71252),ln=t.n(Ki),zi=t(89604),Xr=t(67256),Hi=t(15325),lr=t(94700),Gi=t(10368),Vi=t(14444),Qi=t(14624);const _r=(0,u.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}});var cr=t(84568);const Yi=(0,Ze.c)(r=>({root:{flexGrow:0,margin:r.spacing(0,2),color:r.palette.navigation.color},selected:e=>({color:`${r.palette.navigation.selectedColor}!important`,borderTop:`solid ${e.sidebarConfig.selectedIndicatorWidth}px ${r.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),Zi=r=>{const{to:e,label:n,icon:s,value:a}=r,{sidebarConfig:l}=(0,u.useContext)(Se.GO),S=Yi({sidebarConfig:l}),x=(0,m.IT)(),{selectedMenuItemIndex:L,setSelectedMenuItemIndex:W}=(0,u.useContext)(_r),X=(ut,Et)=>{W(Et===L?-1:Et)},ot=a===L&&L>=0||a!==L&&!(L>=0)&&e===x.pathname;return(0,i.jsx)(Qi.c,{"aria-label":n,label:n,icon:s,component:Yr.cH,to:e||x.pathname,onChange:X,value:a,selected:ot,classes:S})},qr=r=>{const{children:e,to:n,label:s,icon:a,value:l}=r,{isMobile:S}=(0,cr.Ur)();return S?(0,i.jsx)(Zi,{to:n,label:s,icon:a,value:l}):(0,i.jsx)(i.Fragment,{children:e})},ts=(0,Ze.c)(r=>({root:{position:"fixed",backgroundColor:r.palette.navigation.background,color:r.palette.navigation.color,bottom:0,left:0,right:0,zIndex:r.zIndex.snackbar,borderTop:"1px solid #383838","@media print":{display:"none"}},overlay:e=>({background:r.palette.navigation.background,width:"100%",bottom:`${e.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${e.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:r.palette.navigation.color,alignItems:"center",justifyContent:"space-between",padding:r.spacing(2,3)},overlayHeaderClose:{color:r.palette.navigation.color},marginMobileSidebar:e=>({marginBottom:`${e.sidebarConfig.mobileSidebarHeight}px`})})),Ji=r=>(0,En.orderBy)(r,({props:{priority:e}})=>Number.isInteger(e)?e:-1,"desc"),Xi=u.createElement(qr).type,_i=({children:r,label:e="Menu",open:n,onClose:s})=>{const{sidebarConfig:a}=(0,u.useContext)(Se.GO),l=ts({sidebarConfig:a});return(0,i.jsxs)(Hi.cp,{anchor:"bottom",open:n,onClose:s,ModalProps:{BackdropProps:{classes:{root:l.marginMobileSidebar}}},classes:{root:l.marginMobileSidebar,paperAnchorBottom:l.overlay},children:[(0,i.jsxs)(nn.c,{className:l.overlayHeader,children:[(0,i.jsx)(lr.c,{variant:"h3",children:e}),(0,i.jsx)(Xr.c,{onClick:s,classes:{root:l.overlayHeaderClose},children:(0,i.jsx)(Gi.c,{})})]}),(0,i.jsx)(nn.c,{component:"nav",children:r})]})},qi=r=>{const{sidebarConfig:e}=(0,u.useContext)(Se.GO),{children:n}=r,s=ts({sidebarConfig:e}),a=(0,m.IT)(),[l,S]=(0,u.useState)(-1);(0,u.useEffect)(()=>{S(-1)},[a.pathname]);let x=(0,po.a)(n,W=>W.getElements().filter(X=>X.type===Xi));if(n)x.length?x=Ji(x):x.push((0,i.jsx)(qr,{icon:(0,i.jsx)(Vi.c,{}),children:n},"default_menu"));else return null;const L=l>=0&&!x[l].props.to;return(0,i.jsx)(Qr,{value:{isOpen:!0,setOpen:()=>{}},children:(0,i.jsxs)(_r.Provider,{value:{selectedMenuItemIndex:l,setSelectedMenuItemIndex:S},children:[(0,i.jsx)(_i,{label:x[l]&&x[l].props.label,open:L,onClose:()=>S(-1),children:x[l]&&x[l].props.children}),(0,i.jsx)(zi.c,{className:s.root,"data-testid":"mobile-sidebar-root",component:"nav",children:x})]})})},es=(0,Ze.c)(r=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:r.zIndex.appBar,background:r.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"},"@media print":{display:"none"}},drawerWidth:e=>({width:e.sidebarConfig.drawerWidthClosed}),drawerOpen:e=>({width:e.sidebarConfig.drawerWidthOpen,transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var ns;(function(r){r[r.Closed=0]="Closed",r[r.Idle=1]="Idle",r[r.Open=2]="Open"})(ns||(ns={}));const ta=r=>{const{sidebarConfig:e}=(0,u.useContext)(Se.GO),{openDelayMs:n=e.defaultOpenDelayMs,closeDelayMs:s=e.defaultCloseDelayMs,disableExpandOnHover:a,children:l}=r,S=es({sidebarConfig:e}),x=(0,Jr.c)(ee=>ee.breakpoints.down("md"),{noSsr:!0}),[L,W]=(0,u.useState)(0),X=(0,u.useRef)(),{isPinned:ot,toggleSidebarPinState:ut}=(0,cr.Ur)(),Et=()=>{ot||a||(X.current&&(clearTimeout(X.current),X.current=void 0),L!==2&&!x&&(X.current=window.setTimeout(()=>{X.current=void 0,W(2)},n),W(1)))},Ot=()=>{ot||a||(X.current&&(clearTimeout(X.current),X.current=void 0),L===1?W(0):L===2&&(X.current=window.setTimeout(()=>{X.current=void 0,W(0)},s)))},kt=L===2&&!x||ot,Ht=ee=>{ee?(W(2),ut()):(W(0),ut())};return(0,i.jsxs)("nav",{style:{},"aria-label":"sidebar nav",children:[(0,i.jsx)(na,{}),(0,i.jsx)(Qr,{value:{isOpen:kt,setOpen:Ht},children:(0,i.jsx)(nn.c,{className:S.root,"data-testid":"sidebar-root",onMouseEnter:a?()=>{}:Et,onFocus:a?()=>{}:Et,onMouseLeave:a?()=>{}:Ot,onBlur:a?()=>{}:Ot,children:(0,i.jsx)(nn.c,{className:ln()(S.drawer,S.drawerWidth,{[S.drawerOpen]:kt}),children:l})})})]})},ea=r=>{var e;const n=(0,Se.M1)((e=r.sidebarOptions)!==null&&e!==void 0?e:{});var s;const a=(0,Se.Wo)((s=r.submenuOptions)!==null&&s!==void 0?s:{}),{children:l,disableExpandOnHover:S,openDelayMs:x,closeDelayMs:L}=r,{isMobile:W}=(0,cr.Ur)();return W?(0,i.jsx)(qi,{children:l}):(0,i.jsx)(Se.GO.Provider,{value:{sidebarConfig:n,submenuConfig:a},children:(0,i.jsx)(ta,{openDelayMs:x,closeDelayMs:L,disableExpandOnHover:S,children:l})})};function na(){const{sidebarConfig:r}=(0,u.useContext)(Se.GO),{focusContent:e,contentRef:n}=(0,Zr.W)(),s=es({sidebarConfig:r});return n!=null&&n.current?(0,i.jsx)(E.c,{onClick:e,variant:"contained",className:ln()(s.visuallyHidden),children:"Skip to content"}):null}var oa=t(52296),xo=t(90916),ra=t(62336),sa=t(91644),os=t(10756);const ia=(0,Ze.c)(r=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:r.spacing(7)+1},drawer:e=>{var n,s;return{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[r.breakpoints.up("sm")]:{marginLeft:e.left,transition:r.transitions.create("margin-left",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(s=(n=r.palette.navigation.submenu)===null||n===void 0?void 0:n.background)!==null&&s!==void 0?s:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:e.submenuConfig.drawerWidthClosed,transitionDelay:`${e.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}},drawerOpen:e=>({width:e.submenuConfig.drawerWidthOpen,[r.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:r.spacing(3),left:0,top:0}}),title:{fontSize:r.typography.h5.fontSize,fontWeight:r.typography.fontWeightMedium,color:r.palette.common.white,padding:r.spacing(2.5),[r.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"}),aa=r=>{const{isOpen:e}=ar(),{sidebarConfig:n,submenuConfig:s}=(0,u.useContext)(Se.GO),a=e?n.drawerWidthOpen:n.drawerWidthClosed,l=ia({left:a,submenuConfig:s}),{isHoveredOn:S}=(0,u.useContext)(Se.K8),[x,L]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{L(S)},[S]),(0,i.jsxs)(nn.c,{className:ln()(l.drawer,{[l.drawerOpen]:x}),children:[(0,i.jsx)(lr.c,{variant:"h5",component:"span",className:l.title,children:r.title}),r.children]})};var la=t(55632),rs=t.n(la);function ss(r,e,n=!1){const s=new URLSearchParams(e.search).toString(),a=rs().parse(s),l=new URLSearchParams(r.search).toString(),S=rs().parse(l),x=n?En.isEqual:En.isMatch;return(0,En.isEqual)(e.pathname,r.pathname)&&x(S,a)}const ca=r=>(0,Ze.c)(e=>{var n,s,a,l;return{root:{color:e.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit",textTransform:"none"},closed:{width:r.drawerWidthClosed,justifyContent:"center"},open:{[e.breakpoints.up("sm")]:{width:r.drawerWidthOpen}},highlightable:{"&:hover":{background:(a=(n=e.palette.navigation.navItem)===null||n===void 0?void 0:n.hoverBackground)!==null&&a!==void 0?a:"#404040"}},highlighted:{background:(l=(s=e.palette.navigation.navItem)===null||s===void 0?void 0:s.hoverBackground)!==null&&l!==void 0?l:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:r.iconContainerWidth,marginRight:-e.spacing(2),display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"0"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:e.typography.fontWeightBold,fontSize:e.typography.fontSize},searchFieldHTMLInput:{padding:e.spacing(2,0,2)},searchContainer:{width:r.drawerWidthOpen-r.iconContainerWidth},secondaryAction:{width:e.spacing(6),textAlign:"center",marginRight:e.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:e.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${r.selectedIndicatorWidth}px ${e.palette.navigation.indicator}`,color:e.palette.navigation.selectedColor},"&$closed":{width:r.drawerWidthClosed},"& $closedItemIcon":{paddingRight:r.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-r.selectedIndicatorWidth}}}},{name:"BackstageSidebarItem"});function Co(r){return(0,u.useMemo)(()=>ca(r),[r])()}const da=(r,e)=>(0,po.a)(r.props.children,n=>{let s=!1;return n.getElements().forEach(({props:{to:a,dropdownItems:l}})=>{if(!s){if(l!=null&&l.length){l.forEach(({to:S})=>s=s||ss(e,(0,Ln.MP)(S)));return}a&&(s=ss(e,(0,Ln.MP)(a)))}}),s},[e.pathname]);function dr(r){return r.to===void 0}const ua=u.createElement(aa).type,ha=u.forwardRef(function({to:e,end:n,style:s,className:a,activeStyle:l,caseSensitive:S,activeClassName:x="active","aria-current":L="page",...W},X){let{pathname:ot}=(0,m.IT)(),{pathname:ut}=(0,m.oT)(e);S||(ot=ot.toLocaleLowerCase("en-US"),ut=ut.toLocaleLowerCase("en-US"));let Et=ot===ut;!Et&&!n&&(Et=ot.startsWith(`${ut}/`));const Ot=Et?L:void 0;return(0,i.jsx)(g.cH,{...W,to:e,ref:X,"aria-current":Ot,style:{...s,...Et?l:void 0},className:ln()([typeof a!="function"?a:void 0,Et?x:void 0])})}),is=(0,u.forwardRef)((r,e)=>{const{icon:n,text:s,hasNotifications:a=!1,hasSubmenu:l=!1,disableHighlight:S=!1,onClick:x,noTrack:L,children:W,className:X,...ot}=r,{sidebarConfig:ut}=(0,u.useContext)(Se.GO),Et=Co(ut),{isOpen:Ot}=ar(),kt=!Ot&&l?{display:"flex",marginLeft:"20px"}:{lineHeight:"0"},Ht=(0,i.jsxs)(nn.c,{style:kt,children:[(0,i.jsx)(n,{fontSize:"small"}),!Ot&&l?(0,i.jsx)(os.c,{fontSize:"small"}):(0,i.jsx)(i.Fragment,{})]}),ee=(0,i.jsx)(oa.c,{color:"secondary",variant:"dot",overlap:"circular",invisible:!a,className:ln()({[Et.closedItemIcon]:!Ot}),children:Ht}),Ee=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(nn.c,{"data-testid":"login-button",className:Et.iconContainer,children:ee}),s&&(0,i.jsx)(lr.c,{variant:"subtitle2",component:"span",className:Et.label,children:s}),(0,i.jsx)("div",{className:Et.secondaryAction,children:W})]}),Je=Ot?Ee:ee,$n={onClick:x,className:ln()(X,Et.root,Ot?Et.open:Et.closed,dr(r)&&Et.buttonItem,{[Et.highlightable]:!S})},ds=(0,Or.S)(),{pathname:ur}=(0,m.oT)(!dr(r)&&r.to?r.to:""),us=(0,u.useCallback)(Ma=>{if(!L){const ja="click",Ba=s!=null?s:"Sidebar Item",Ua=ur?{attributes:{to:ur}}:void 0;ds.captureEvent(ja,Ba,Ua)}x==null||x(Ma)},[ds,s,ur,L,x]);return dr(r)?(0,i.jsx)(E.c,{role:"button","aria-label":s,...$n,ref:e,onClick:us,children:Je}):(0,i.jsx)(ha,{...$n,activeClassName:Et.selected,to:r.to?r.to:"",ref:e,"aria-label":s||r.to,...ot,onClick:us,children:Je})}),fa=({children:r,...e})=>{const{sidebarConfig:n}=(0,u.useContext)(Se.GO),s=Co(n),[a,l]=(0,u.useState)(!1),S=(0,m.IT)(),x=da(r,S),L=(0,Jr.c)(ut=>ut.breakpoints.down("sm")),W=()=>{l(!0)},X=()=>{l(!1)},ot=()=>L?a?(0,i.jsx)(sa.c,{fontSize:"small",className:s.submenuArrow}):(0,i.jsx)(ra.c,{fontSize:"small",className:s.submenuArrow}):!a&&(0,i.jsx)(os.c,{fontSize:"small",className:s.submenuArrow});return(0,i.jsx)(Se.K8.Provider,{value:{isHoveredOn:a,setIsHoveredOn:l},children:(0,i.jsxs)("div",{"data-testid":"item-with-submenu",onMouseLeave:X,onTouchStart:a?X:W,onMouseEnter:W,className:ln()(a&&s.highlighted),children:[(0,i.jsx)(is,{hasSubmenu:!0,className:x?s.selected:"",...e,children:ot()}),a&&r]})})},as=(0,u.forwardRef)((r,e)=>{const[n]=(0,po.a)(r.children,s=>s.getElements().filter(a=>a.type===ua));return n?(0,i.jsx)(fa,{...r,children:n}):(0,i.jsx)(is,{...r,ref:e})});function qa(r){const{sidebarConfig:e}=useContext(SidebarConfigContext),[n,s]=useState(""),a=Co(e),l=r.icon?r.icon:SearchIcon,S=()=>{r.onSearch(n),s("")},x=ot=>{ot.key==="Enter"&&(ot.preventDefault(),S())},L=ot=>{s(ot.target.value)},W=ot=>{ot.preventDefault(),ot.stopPropagation()},X=ot=>{S(),ot.preventDefault()};return _jsx(Box,{className:a.searchRoot,children:_jsx(as,{icon:l,to:r.to,onClick:X,disableHighlight:!0,children:_jsx(TextField,{placeholder:"Search",value:n,onClick:W,onChange:L,onKeyDown:x,className:a.searchContainer,InputProps:{disableUnderline:!0,className:a.searchField},inputProps:{className:a.searchFieldHTMLInput}})})})}const tl=(0,xo.c)("div")({flex:1},{name:"BackstageSidebarSpace"}),el=(0,xo.c)("div")({height:8},{name:"BackstageSidebarSpacer"}),ga=(0,xo.c)("hr")(({theme:r})=>({height:1,width:"100%",background:"#383838",border:"none",margin:r.spacing(1.2,0)}),{name:"BackstageSidebarDivider"}),pa=r=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:r.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:r.palette.text.secondary,borderRadius:"5px"}}),nl=(0,xo.c)("div")(({theme:r})=>{const e=pa(r);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":e,"&:hover":e}}),ol=()=>{const{sidebarConfig:r}=useContext(SidebarConfigContext),e=Co(r),{isOpen:n,setOpen:s}=useSidebarOpenState();if(useMediaQuery(S=>S.breakpoints.down("md"),{noSsr:!0}))return null;const l=()=>{s(!n)};return _jsx(Button,{role:"button",onClick:l,className:e.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button",children:_jsx(Box,{className:e.arrows,children:n?_jsx(DoubleArrowLeft,{}):_jsx(DoubleArrowRight,{})})})},va=(0,Ze.c)({root:{width:Se.Mr.drawerWidthClosed,height:3*Se.Mr.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:Se.Mr.drawerWidthClosed,marginLeft:24}}),ma=()=>{const r=va(),{isOpen:e}=ar();return(0,i.jsx)("div",{className:r.root,children:(0,i.jsx)(Yr.cH,{to:"/docs/default/component/local/",underline:"none",className:r.link,children:e?(0,i.jsx)(Wi,{}):(0,i.jsx)(Ni,{})})})},ya=({children:r})=>(0,i.jsxs)(Zr.o,{children:[(0,i.jsxs)(ea,{children:[(0,i.jsx)(ma,{}),(0,i.jsx)(ga,{}),(0,i.jsx)(as,{icon:Fi.c,to:"/docs/default/component/local",text:"Docs Preview"})]}),r]});var Ea=t(87648),xa=t(89416),Ca=t(4576),Aa=t(88616),Sa=t(60173);const ba=(0,Ze.c)(r=>({headerIcon:{color:r.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:r.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}}));var ls;(function(r){r.LIGHT="light",r.DARK="dark"})(ls||(ls={}));const Oa=()=>{const r=(0,Dn.yk)(no),e=ba(),[n,s]=(0,u.useState)(r.getActiveThemeId()==="dark"?"dark":"light"),a={light:{icon:Ca.c,title:"Dark theme"},dark:{icon:xa.c,title:"Light theme"}},{title:l,icon:S}=a[n],x=()=>{s(L=>{const W=L==="light"?"dark":"light";return r.setActiveThemeId(W),W})};return(0,i.jsx)(nn.c,{display:"flex",alignItems:"center",mr:2,children:(0,i.jsx)(Ea.cp,{title:l,arrow:!0,children:(0,i.jsx)(Xr.c,{size:"small",onClick:x,children:(0,i.jsx)(S,{className:e.headerIcon})})})})},wa=()=>(0,i.jsxs)(f.MX,{children:[(0,i.jsx)(Aa.K,{}),(0,i.jsx)(Sa.i,{withSearch:!1})]}),Pa=(0,i.jsx)(wa,{}),cs=ai({apis:Li,configLoader:Ui,plugins:Object.values(o)}),Ta=cs.getProvider(),Ra=cs.getRouter(),Ia=f.Ie.provide((0,d.Co)({name:"ThemeToggleAddon",component:Oa,location:C.u.Header})),Da=(0,i.jsxs)(jr,{children:[(0,i.jsx)(m.YX,{to:"/docs/default/component/local/"},"/"),(0,i.jsx)(m.kX,{path:"/catalog/:namespace/:kind/:name",element:(0,i.jsx)(Ri,{})}),(0,i.jsx)(m.kX,{path:"/docs",element:(0,i.jsx)(f.wD,{}),children:(0,i.jsx)(c.S,{})}),(0,i.jsxs)(m.kX,{path:"/docs/:namespace/:kind/:name/*",element:(0,i.jsx)(f.MX,{}),children:[Pa,(0,i.jsx)(d.sj,{children:(0,i.jsx)(Ia,{})})]})]});var La=()=>(0,i.jsx)(Ta,{children:(0,i.jsx)(Ra,{children:(0,i.jsx)(ya,{children:Da})})});A.createRoot(document.getElementById("root")).render((0,i.jsx)(La,{}))},42772:function(Z,T,t){"use strict";t.d(T,{IR:function(){return u},eW:function(){return A}});var o=t(85668),i=t(12539);function u(f){return(0,i.U)(f,()=>(0,o.createContext)(void 0))}function A(f){return(0,o.useContext)(u(f))}function m(f){return{set(c){globalThis[`__@backstage/${f}__`]=createContext(createVersionedValueMap(c))},reset(){delete globalThis[`__@backstage/${f}__`]}}}},68080:function(Z,T,t){"use strict";t.d(T,{O:function(){return o}});function o(i){Object.freeze(i);const u={atVersion(A){return i[A]}};return Object.defineProperty(u,"$map",{configurable:!0,enumerable:!0,get(){return i}}),u}},12539:function(Z,T,t){"use strict";t.d(T,{U:function(){return A}});function o(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const i=o(),u=m=>`__@backstage/${m}__`;function A(m,f){const c=u(m);let d=i[c];return d||(d=f(),i[c]=d,d)}},33776:function(Z,T,t){"use strict";t.d(T,{s:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"plugin.catalog.service"})},19047:function(Z,T,t){"use strict";t.d(T,{Q:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"plugin.catalog.entity-presentation"})},43220:function(Z,T,t){"use strict";t.d(T,{q:function(){return m}});var o=t(83856),i=t(14764),u=t(34268),A=t.n(u);function m(d,C){const{kind:E,namespace:w,name:v,title:O,description:g,displayName:I,type:P}=f(d),y=(0,o.gH)({kind:E||"unknown",namespace:w||i.IV,name:v||"unknown"}),D=c({kind:E,namespace:w,name:v,context:C}),M=[I,O,D].find(H=>H&&typeof H=="string"),b=[M!==y?y:void 0,P,g].filter(H=>H&&typeof H=="string").join(" | ");return{entityRef:y,primaryTitle:M,secondaryTitle:b||void 0,Icon:void 0}}function f(d){if(typeof d=="string"){let C=d.indexOf(":");const E=d.indexOf("/");E!==-1&&E<C&&(C=-1);const w=C===-1?void 0:d.slice(0,C),v=E===-1?void 0:d.slice(C+1,E),O=d.slice(Math.max(C+1,E+1));return{kind:w,namespace:v,name:O}}if(typeof d=="object"&&d!==null){const C=[A()(d,"kind")].find(P=>P&&typeof P=="string"),E=[A()(d,"metadata.namespace"),A()(d,"namespace")].find(P=>P&&typeof P=="string"),w=[A()(d,"metadata.name"),A()(d,"name")].find(P=>P&&typeof P=="string"),v=[A()(d,"metadata.title")].find(P=>P&&typeof P=="string"),O=[A()(d,"metadata.description")].find(P=>P&&typeof P=="string"),g=[A()(d,"spec.profile.displayName")].find(P=>P&&typeof P=="string"),I=[A()(d,"spec.type")].find(P=>P&&typeof P=="string");return{kind:C,namespace:E,name:w,title:v,description:O,displayName:g,type:I}}return{}}function c(d){var C,E,w,v,O;const g=((C=d.kind)===null||C===void 0?void 0:C.toLocaleLowerCase("en-US"))||"unknown",I=d.namespace||i.IV,P=d.name||"unknown",y=(w=d.context)===null||w===void 0||(E=w.defaultKind)===null||E===void 0?void 0:E.toLocaleLowerCase("en-US"),D=(O=d.context)===null||O===void 0||(v=O.defaultNamespace)===null||v===void 0?void 0:v.toLocaleLowerCase("en-US");let M=P;return(D&&I.toLocaleLowerCase("en-US")!==D||I!==i.IV)&&(M=`${I}/${M}`),y&&g.toLocaleLowerCase("en-US")!==y&&(M=`${g}:${M}`),M}},5928:function(Z,T,t){"use strict";t.d(T,{m:function(){return c}});var o=t(83856),i=t(15940),u=t(85668),A=t(19047),m=t(43220);function f(d,C,E){const[w,v]=(0,u.useState)(d);return(0,u.useEffect)(()=>{v(d);const O=C==null?void 0:C.subscribe({next:g=>{v(g)},complete:()=>{O==null||O.unsubscribe()}});return()=>{O==null||O.unsubscribe()}},E),w}function c(d,C){const w=(0,i.yi)().get(A.Q),v=[w,JSON.stringify(d),JSON.stringify(C||null)],O=(0,u.useMemo)(()=>w?w.forEntity(typeof d=="string"||"metadata"in d?d:(0,o.gH)(d),C):{snapshot:(0,m.q)(d,C)},v);return f(O.snapshot,O.update$,[O])}},31608:function(Z,T,t){"use strict";t.d(T,{s:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"catalog-react.starred-entities"})},67848:function(Z,T,t){"use strict";t.d(T,{UJ:function(){return O}});var o=t(77e3),i=t(85668),u=t(95664),A=t(76048),m=t(1275),f=t(15325),c=t(33584),d=t(94700),C=t(19947),E=t(74048);const w=g=>{var I;const P=(0,u.c)(H=>{var Q,q;return H.breakpoints.down((q=(Q=g.options)===null||Q===void 0?void 0:Q.drawerBreakpoint)!==null&&q!==void 0?q:"md")}),y=(0,A.c)(),[D,M]=(0,i.useState)(!1);var b;return P?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m.c,{style:{marginTop:y.spacing(1),marginLeft:y.spacing(1)},onClick:()=>M(!0),startIcon:(0,o.jsx)(E.c,{}),children:"Filters"}),(0,o.jsx)(f.cp,{open:D,onClose:()=>M(!1),anchor:(b=(I=g.options)===null||I===void 0?void 0:I.drawerAnchor)!==null&&b!==void 0?b:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,o.jsxs)(c.c,{m:2,children:[(0,o.jsx)(d.c,{variant:"h6",component:"h2",style:{marginBottom:y.spacing(1)},children:"Filters"}),g.children]})})]}):(0,o.jsx)(C.c,{item:!0,lg:2,children:g.children})},v=g=>(0,o.jsx)(C.c,{item:!0,xs:12,lg:10,children:g.children}),O=g=>(0,o.jsx)(C.c,{container:!0,style:{position:"relative"},children:g.children});O.Filters=w,O.Content=v},24932:function(Z,T,t){"use strict";t.d(T,{Q:function(){return k}});var o=t(77e3),i=t(33584),u=t(94700),A=t(7312),m=t(88724),f=t(85668),c=t(15940),d=t(35848),C=t(33776),E=t(66424),w=t(63524),v=t(61571),O=t(79736);const g=(0,o.jsx)(O.c,{fontSize:"small"}),I=(0,o.jsx)(v.c,{fontSize:"small"});function P({selected:N}){return(0,o.jsx)(E.c,{icon:g,checkedIcon:I,checked:N})}const y=(0,f.memo)(N=>{const{selected:J,value:nt,availableOptions:it,showCounts:yt}=N,ft=yt?`${nt} (${it==null?void 0:it[nt]})`:nt;return(0,o.jsx)(w.c,{control:(0,o.jsx)(P,{selected:J}),label:ft,onClick:wt=>wt.preventDefault()})});var D=t(40476),M=t(93852),b=t(71252),H=t.n(b);const Q=(0,D.c)({input:{}},{name:"CatalogReactEntityAutocompletePickerInput"});function q(N){const J=Q();return(0,o.jsx)(M.c,{variant:"outlined",...N,className:H()(J.input,N.className)})}var z=t(59036);function k(N){var J;const{label:nt,name:it,path:yt,showCounts:ft,Filter:wt,InputProps:ct,initialSelectedOptions:xt=[]}=N,{updateFilters:at,filters:V,queryParameters:{[it]:st}}=(0,z.HI)(),Ct=(0,c.yk)(C.s),{value:St}=(0,d.default)(async()=>{var rt;const vt=yt,{facets:mt}=await Ct.getEntityFacets({facets:[vt],filter:(rt=V.kind)===null||rt===void 0?void 0:rt.getCatalogFilters()});return Object.fromEntries(mt[vt].map(({value:jt,count:Kt})=>[jt,Kt]))},[V.kind]),At=(0,f.useMemo)(()=>[st].flat().filter(Boolean),[st]);var ht;const[lt,pt]=(0,f.useState)(At.length?At:(ht=(J=V[it])===null||J===void 0?void 0:J.values)!==null&&ht!==void 0?ht:xt);(0,f.useEffect)(()=>{At.length&&pt(At)},[At]);const G=Object.keys(St!=null?St:{}),K=lt.length&&G.length;(0,f.useEffect)(()=>{at({[it]:K?new wt(lt):void 0})},[it,K,lt,wt,at]);const tt=V[it];return tt&&typeof tt=="object"&&!("values"in tt)||!G.length||G.length<=1?null:(0,o.jsx)(i.c,{pb:1,pt:1,children:(0,o.jsxs)(u.c,{variant:"button",component:"label",children:[nt,(0,o.jsx)(m.cp,{multiple:!0,disableCloseOnSelect:!0,options:G,value:lt,onChange:(rt,vt)=>pt(vt),renderOption:(rt,{selected:vt})=>(0,o.jsx)(y,{selected:vt,value:rt,availableOptions:St,showCounts:!!ft}),size:"small",popupIcon:(0,o.jsx)(A.c,{"data-testid":`${String(it)}-picker-expand`}),renderInput:rt=>(0,o.jsx)(q,{...rt,...ct})})]})})}},70924:function(Z,T,t){"use strict";t.d(T,{I:function(){return At}});var o=t(77e3),i=t(83856),u=t(40476),A=t(63524),m=t(33584),f=t(66424),c=t(87648),d=t(94700),C=t(93852),E=t(61571),w=t(79736),v=t(7312),O=t(88724),g=t(85668),I=t(59036),P=t(32556),y=t(73264),D=t(23144),M=t(88960),b=t(98860),H=t(15940),Q=t(30516),q=t(33776);function z({enabled:ht}){const lt=(0,H.yk)(q.s),[pt]=(0,g.useState)(async()=>{if(!ht)return[];const G="relations.ownedBy";return lt.getEntityFacets({facets:[G]}).then(K=>K.facets[G].map(tt=>tt.value).map(tt=>{const{kind:rt,name:vt,namespace:mt}=(0,i.WK)(tt);return{apiVersion:"backstage.io/v1beta1",kind:rt,metadata:{name:vt,namespace:mt}}}).sort((tt,rt)=>(tt.metadata.namespace||"").localeCompare(rt.metadata.namespace||"","en-US")||tt.metadata.name.localeCompare(rt.metadata.name,"en-US")||tt.kind.localeCompare(rt.kind,"en-US"))).catch(()=>[])});return(0,Q.default)(async(G,K)=>{const tt=await pt;if(!tt)return{items:[]};var rt;const vt=(rt=K==null?void 0:K.limit)!==null&&rt!==void 0?rt:20,{text:mt,start:jt}=k(G),Kt=tt.filter($t=>nt(mt,$t)),Bt=jt+vt;return{items:Kt.slice(0,Bt),...J({entities:Kt,limit:Bt,payload:{text:mt,start:Bt}})}},[pt],{loading:!0,value:{items:[]}})}function k(ht){return N(ht)&&ht.cursor?JSON.parse(atob(ht.cursor)):{text:ht.text||"",start:0}}function N(ht){return!!ht.cursor}function J({entities:ht,limit:lt,payload:pt}){return ht.length>lt?{cursor:btoa(JSON.stringify(pt))}:{}}function nt(ht,lt){var pt;const G=ht.trim();return lt.kind.includes(G)||((pt=lt.metadata.namespace)===null||pt===void 0?void 0:pt.includes(G))||lt.metadata.name.includes(G)}function it(){const ht=(0,H.yk)(q.s);return(0,Q.default)(async(lt,pt)=>{const G=lt,K=lt;var tt;const rt=(tt=pt==null?void 0:pt.limit)!==null&&tt!==void 0?tt:20;if(K.cursor){const mt=await ht.queryEntities({cursor:K.cursor,limit:rt});return{cursor:mt.pageInfo.nextCursor,items:[...K.items,...mt.items]}}const vt=await ht.queryEntities({fullTextFilter:{term:G.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:rt});return{cursor:vt.pageInfo.nextCursor,items:vt.items}},[],{loading:!0})}var yt=t(63792);function ft({mode:ht,initialSelectedOwnersRefs:lt}){const pt=ht==="owners-only",G=it(),K=z({enabled:pt}),[tt,rt]=pt?K:G;return[tt,rt,wt({enabled:!pt,initialSelectedOwnersRefs:lt})]}function wt({enabled:ht,initialSelectedOwnersRefs:lt}){const pt=(0,g.useRef)({}),G=(0,H.yk)(q.s),[,K]=(0,Q.default)(async()=>{(await G.getEntitiesByRefs({entityRefs:lt})).items.forEach(rt=>{rt&&(pt.current[(0,i.gH)(rt)]=rt)})},[]);return(0,yt.I)(()=>{ht&&lt.length>0&&K()}),{getEntity:tt=>pt.current[tt],setEntity:tt=>{pt.current[(0,i.gH)(tt)]=tt}}}var ct=t(2304),xt=t(5928);const at=(0,u.c)({input:{},fullWidth:{width:"100%"},boxLabel:{width:"100%",textOverflow:"ellipsis",overflow:"hidden"}},{name:"CatalogReactEntityOwnerPicker"}),V=(0,ct.c)(ht=>({label:{width:"100%"},root:{width:"90%"}}),{name:"FixedWidthFormControlLabel"})(A.c),st=(0,o.jsx)(w.c,{fontSize:"small"}),Ct=(0,o.jsx)(E.c,{fontSize:"small"});function St(ht){const lt=at(),pt=ht.entity.kind.toLocaleLowerCase("en-US")==="group",{primaryTitle:G}=(0,xt.m)(ht.entity);return(0,o.jsx)(m.c,{className:lt.fullWidth,children:(0,o.jsx)(V,{className:lt.fullWidth,control:(0,o.jsx)(f.c,{icon:st,checkedIcon:Ct,checked:ht.isSelected}),onClick:K=>K.preventDefault(),label:(0,o.jsx)(c.cp,{title:G,children:(0,o.jsxs)(m.c,{display:"flex",alignItems:"center",children:[pt?(0,o.jsx)(M.c,{fontSize:"small"}):(0,o.jsx)(D.c,{fontSize:"small"}),"\xA0",(0,o.jsx)(m.c,{className:lt.boxLabel,children:(0,o.jsx)(d.c,{noWrap:!0,children:G})})]})})})})}const At=ht=>{var lt,pt;const G=at(),{mode:K="owners-only"}=ht||{},{updateFilters:tt,filters:rt,queryParameters:{owners:vt}}=(0,I.HI)(),[mt,jt]=(0,g.useState)(""),Kt=(0,g.useMemo)(()=>[vt].flat().filter(Boolean),[vt]);var Bt;const[$t,Dt]=(0,g.useState)(Kt.length?Kt:(Bt=(lt=rt.owners)===null||lt===void 0?void 0:lt.values)!==null&&Bt!==void 0?Bt:[]),[{value:Vt,loading:De},fe,se]=ft({mode:K,initialSelectedOwnersRefs:$t});(0,y.c)(()=>fe({text:mt}),[mt,fe],250);const Xt=(Vt==null?void 0:Vt.items)||[];return(0,g.useEffect)(()=>{if(Kt.length){const Mt=new P.am(Kt);Dt(Mt.values)}},[Kt]),(0,g.useEffect)(()=>{tt({owners:$t.length?new P.am($t):void 0})},[$t,tt]),["user","group"].includes(((pt=rt.kind)===null||pt===void 0?void 0:pt.value.toLocaleLowerCase("en-US"))||"")?null:(0,o.jsx)(m.c,{pb:1,pt:1,children:(0,o.jsxs)(d.c,{variant:"button",component:"label",children:["Owner",(0,o.jsx)(O.cp,{multiple:!0,disableCloseOnSelect:!0,loading:De,options:Xt,value:$t,getOptionSelected:(Mt,Gt)=>typeof Gt=="string"?(0,i.gH)(Mt)===Gt:Mt===Gt,getOptionLabel:Mt=>{const Gt=typeof Mt=="string"?se.getEntity(Mt)||(0,i.WK)(Mt,{defaultKind:"group",defaultNamespace:"default"}):Mt;return(0,b.w)(Gt,(0,b.g)(Gt))},onChange:(Mt,Gt)=>{jt(""),Dt(Gt.map(be=>{const Ge=typeof be=="string"?be:(0,i.gH)(be);return typeof be!="string"&&se.setEntity(be),Ge}))},filterOptions:Mt=>Mt,renderOption:(Mt,{selected:Gt})=>(0,o.jsx)(St,{entity:Mt,isSelected:Gt}),size:"small",popupIcon:(0,o.jsx)(v.c,{"data-testid":"owner-picker-expand"}),renderInput:Mt=>(0,o.jsx)(C.c,{...Mt,className:G.input,onChange:Gt=>{jt(Gt.currentTarget.value)},variant:"outlined"}),ListboxProps:{onScroll:Mt=>{const Gt=Mt.currentTarget;Math.abs(Gt.scrollHeight-Gt.clientHeight-Gt.scrollTop)<1&&(Vt!=null&&Vt.cursor)&&fe({items:Vt.items,cursor:Vt.cursor})},"data-testid":"owner-picker-listbox"}})]})})}},5675:function(Z,T,t){"use strict";t.d(T,{E:function(){return g}});var o=t(77e3),i=t(83856),u=t(14764),A=t(38280),m=t(98832),f=t(85668),c=t(65884),d=t(40476),C=t(33584),E=t(87648),w=t(5928);const v=(0,d.c)(P=>({root:{display:"inline-flex",alignItems:"center"},icon:{marginRight:P.spacing(.5),color:P.palette.text.secondary,lineHeight:0}}),{name:"CatalogReactEntityDisplayName"}),O=P=>{const{entityRef:y,hideIcon:D,disableTooltip:M,defaultKind:b,defaultNamespace:H}=P,Q=v(),{primaryTitle:q,secondaryTitle:z,Icon:k}=(0,w.m)(y,{defaultKind:b,defaultNamespace:H});let N=(0,o.jsx)(o.Fragment,{children:q});return N=(0,o.jsxs)(C.c,{component:"span",className:Q.root,children:[k&&!D?(0,o.jsx)(C.c,{component:"span",className:Q.icon,children:(0,o.jsx)(k,{fontSize:"inherit"})}):null,N]}),z&&!M&&(N=(0,o.jsx)(E.cp,{enterDelay:1500,title:z,children:N})),N},g=(0,f.forwardRef)((P,y)=>{const{entityRef:D,defaultKind:M,defaultNamespace:b,title:H,children:Q,hideIcon:q,...z}=P,k=I(P.entityRef);var N;const J=(N=Q!=null?Q:H)!==null&&N!==void 0?N:(0,o.jsx)(O,{entityRef:D,defaultKind:M,defaultNamespace:b,hideIcon:q});return(0,o.jsx)(A.cH,{...z,ref:y,to:k,children:J})});function I(P){const y=(0,m.M)(c.I);let D,M,b;if(typeof P=="string"){const q=(0,i.WK)(P);D=q.kind,M=q.namespace,b=q.name}else"metadata"in P?(D=P.kind,M=P.metadata.namespace,b=P.metadata.name):(D=P.kind,M=P.namespace,b=P.name);D=D.toLocaleLowerCase("en-US");var H;M=(H=M==null?void 0:M.toLocaleLowerCase("en-US"))!==null&&H!==void 0?H:u.IV;const Q={kind:encodeURIComponent(D),namespace:encodeURIComponent(M),name:encodeURIComponent(b)};return y(Q)}},22616:function(Z,T,t){"use strict";t.d(T,{a:function(){return m}});var o=t(77e3),i=t(83856),u=t(85668),A=t(5675);function m(f){const{entityRefs:c,hideIcons:d,...C}=f;return(0,o.jsx)(o.Fragment,{children:c.map((E,w)=>{const v=typeof E=="string"?E:(0,i.gH)(E);return(0,o.jsxs)(u.Fragment,{children:[w>0&&", ",(0,o.jsx)(A.E,{...C,entityRef:E,hideIcon:d})]},`${w}.${v}`)})})}},98860:function(Z,T,t){"use strict";t.d(T,{g:function(){return A},w:function(){return m}});var o=t(14764),i=t(34268),u=t.n(i);function A(f,c){const d=c==null?void 0:c.defaultKind;let C,E,w;return"metadata"in f?(C=f.kind,E=f.metadata.namespace,w=f.metadata.name):(C=f.kind,E=f.namespace,w=f.name),(E===void 0||E==="")&&(E=o.IV),(c==null?void 0:c.defaultNamespace)!==void 0?(c==null?void 0:c.defaultNamespace)===E&&(E=void 0):E===o.IV&&(E=void 0),C=C.toLocaleLowerCase("en-US"),C=d&&d.toLocaleLowerCase("en-US")===C?void 0:C,`${C?`${C}:`:""}${E?`${E}/`:""}${w}`}function m(f,c){for(const d of["spec.profile.displayName","metadata.title"]){const C=u()(f,d);if(C&&typeof C=="string")return C}return c}},22928:function(Z,T,t){"use strict";t.d(T,{E:function(){return c}});var o=t(77e3),i=t(40476),u=t(85668),A=t(32556),m=t(24932);const f=(0,i.c)({input:{}},{name:"CatalogReactEntityTagPicker"}),c=d=>{const C=f();return(0,o.jsx)(m.Q,{label:"Tags",name:"tags",path:"metadata.tags",Filter:A.Yz,showCounts:d.showCounts,InputProps:{className:C.input}})}},52530:function(Z,T,t){"use strict";t.d(T,{M:function(){return wt}});var o=t(77e3),i=t(15940),u=t(36336),A=t(40476),m=t(42704),f=t(94700),c=t(14476),d=t(6280),C=t(62579),E=t(46444),w=t(64112),v=t(63712),O=t(88496),g=t(85668),I=t(32556),P=t(59036),y=t(89640),D=t(67928),M=t(35848),b=t(33776),H=t(14011),Q=t(30516),q=t(25316);function z(){const ct=(0,i.yk)(y.S),xt=(0,i.yk)(b.s),{filters:at}=(0,P.HI)(),{value:V,loading:st}=(0,M.default)(async()=>(await ct.getBackstageIdentity()).ownershipEntityRefs,[]),{user:Ct,owners:St,...At}=at,{["metadata.name"]:ht,...lt}=(0,H.eo)((0,D.compact)(Object.values(At))),[{value:pt,loading:G},K]=(0,Q.default)(async rt=>{const vt=k(rt.owners,rt.ownershipEntityRefs);if(vt===void 0)return 0;const{totalItems:mt}=await xt.queryEntities({filter:{...rt.filter,"relations.ownedBy":vt},limit:0});return mt},[],{loading:!0});return(0,q.c)(()=>{Object.keys(lt).length!==0&&V!==void 0&&K({ownershipEntityRefs:V,owners:St,filter:lt})},[V,St,lt]),{count:pt,loading:st||G,filter:(0,g.useMemo)(()=>I.SM.owned(V!=null?V:[]),[V]),ownershipEntityRefs:V}}function k(ct,xt){if(xt===void 0)return;var at;const V=(at=ct==null?void 0:ct.values)!==null&&at!==void 0?at:[];if(V.length){const st=(0,D.intersection)(V,xt);return st.length===0?void 0:st}return xt}function N(){const ct=(0,i.yk)(b.s),{filters:xt}=(0,P.HI)(),at=(0,g.useRef)(),V=(0,g.useMemo)(()=>{const{user:St,...At}=xt,ht=(0,D.compact)(Object.values(At)),lt=(0,H.eo)(ht),pt={filter:lt,limit:0};return Object.keys(lt).length===0?(at.current=void 0,at.current):(0,D.isEqual)(pt,at.current)?at.current:(at.current=pt,pt)},[xt]),{value:st,loading:Ct}=(0,M.default)(async()=>{if(V===void 0)return 0;const{totalItems:St}=await ct.queryEntities(V);return St},[V]);return{count:st,loading:Ct}}var J=t(83856),nt=t(99220);function it(){const ct=(0,i.yk)(b.s),{filters:xt}=(0,P.HI)(),{starredEntities:at}=(0,nt.a)(),V=(0,g.useRef)(),st=(0,g.useMemo)(()=>{const{user:ht,...lt}=xt,pt=(0,D.compact)(Object.values(lt)),tt={filter:{...(0,H.eo)(pt),["metadata.name"]:Array.from(at).map(rt=>(0,J.WK)(rt).name)},limit:1e3};return(0,D.isEqual)(tt,V.current)?V.current:(V.current=tt,tt)},[xt,at]),{value:Ct,loading:St}=(0,M.default)(async()=>at.size?(await ct.queryEntities(st)).items.map(lt=>(0,J.gH)({kind:lt.kind,namespace:lt.metadata.namespace,name:lt.metadata.name})).filter(lt=>at.has(lt)).length:0,[st,at]),At=(0,g.useMemo)(()=>I.SM.starred(Array.from(at)),[at]);return{count:Ct,loading:St,filter:At}}const yt=(0,A.c)(ct=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:ct.spacing(1,0,1,0)},title:{margin:ct.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:ct.palette.text.primary},menuItem:{minHeight:ct.spacing(6)},groupWrapper:{margin:ct.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function ft(ct){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:v.c},{id:"starred",label:"Starred",icon:O.c}]},{name:ct!=null?ct:"Company",items:[{id:"all",label:"All"}]}]}const wt=ct=>{const{initialFilter:xt,availableFilters:at}=ct,V=yt(),st=(0,i.yk)(u.c);var Ct;const St=(Ct=st.getOptionalString("organization.name"))!==null&&Ct!==void 0?Ct:"Company",{filters:At,updateFilters:ht,queryParameters:{kind:lt,user:pt}}=(0,P.HI)(),G=["starred","all"],K=ft(St).map(se=>({...se,items:se.items.filter(({id:Xt})=>["group","user"].some(Mt=>Mt===lt)?G.includes(Xt):!at||at.includes(Xt))})).filter(({items:se})=>!!se.length),{count:tt,loading:rt,filter:vt}=z(),{count:mt}=N(),{count:jt,filter:Kt,loading:Bt}=it(),$t=(0,g.useMemo)(()=>[pt].flat()[0],[pt]),[Dt,Vt]=(0,g.useState)($t!=null?$t:xt),De=(0,g.useMemo)(()=>({all:mt,starred:jt,owned:tt}),[jt,tt,mt]);(0,g.useEffect)(()=>{$t&&Vt($t)},[$t]);const fe=rt||Bt;return(0,g.useEffect)(()=>{!fe&&Dt&&Dt!=="all"&&De[Dt]===0&&Vt("all")},[fe,De,Dt,Vt]),(0,g.useEffect)(()=>{if(!Dt||fe)return;ht({user:(()=>Dt==="owned"?vt:Dt==="starred"?Kt:I.SM.all())()})},[Dt,Kt,vt,ht,fe]),(0,o.jsx)(m.c,{className:V.root,children:K.map(se=>(0,o.jsxs)(g.Fragment,{children:[(0,o.jsx)(f.c,{variant:"subtitle2",component:"span",className:V.title,children:se.name}),(0,o.jsx)(m.c,{className:V.groupWrapper,children:(0,o.jsx)(c.c,{disablePadding:!0,dense:!0,role:"menu","aria-label":se.name,children:se.items.map(Xt=>{var Mt,Gt;return(0,o.jsxs)(d.c,{role:"none presentation",divider:!0,onClick:()=>Vt(Xt.id),selected:Xt.id===((Mt=At.user)===null||Mt===void 0?void 0:Mt.value),className:V.menuItem,disabled:De[Xt.id]===0,"data-testid":`user-picker-${Xt.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[Xt.icon&&(0,o.jsx)(C.c,{className:V.listIcon,children:(0,o.jsx)(Xt.icon,{fontSize:"small"})}),(0,o.jsx)(E.c,{children:(0,o.jsxs)(f.c,{variant:"body1",children:[Xt.label," "]})}),(0,o.jsx)(w.c,{children:(Gt=De[Xt.id])!==null&&Gt!==void 0?Gt:"-"})]},Xt.id)})})})]},se.name))})}},32556:function(Z,T,t){"use strict";t.d(T,{I9:function(){return I},QX:function(){return w},SM:function(){return v},Sh:function(){return d},Yz:function(){return c},am:function(){return C},cE:function(){return f},eU:function(){return O},gm:function(){return m},wR:function(){return g},y8:function(){return E}});var o=t(51512),i=t(89576),u=t(83856),A=t(21148);class m{getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}constructor(y){(0,o._)(this,"value",void 0),this.value=y}}class f{getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}constructor(y){(0,o._)(this,"value",void 0),this.value=y}}class c{filterEntity(y){return this.values.every(D=>{var M;return((M=y.metadata.tags)!==null&&M!==void 0?M:[]).includes(D)})}getCatalogFilters(){return{"metadata.tags":this.values}}toQueryValue(){return this.values}constructor(y){(0,o._)(this,"values",void 0),this.values=y}}class d{filterEntity(y){const D=this.toUpperArray(this.value.split(/\s/)),M=this.toUpperArray([y.metadata.tags]),b=this.toUpperArray([y.metadata.name,y.metadata.title]);for(const H of D)if(M.every(Q=>Q!==H)&&b.every(Q=>!Q.includes(H)))return!1;return!0}toUpperArray(y){return y.flat().filter(D=>Boolean(D)).map(D=>D.toLocaleUpperCase("en-US"))}constructor(y){(0,o._)(this,"value",void 0),this.value=y}}class C{getCatalogFilters(){return{"relations.ownedBy":this.values}}filterEntity(y){return this.values.some(D=>(0,A.q)(y,i.ag).some(M=>(0,u.gH)(M)===D))}toQueryValue(){return this.values}constructor(y){(0,o._)(this,"values",void 0),this.values=y.reduce((D,M)=>{try{return D.push((0,u.gH)((0,u.WK)(M,{defaultKind:"Group"}))),D}catch{return D}},[])}}class E{getCatalogFilters(){return{"spec.lifecycle":this.values}}filterEntity(y){return this.values.some(D=>{var M;return((M=y.spec)===null||M===void 0?void 0:M.lifecycle)===D})}toQueryValue(){return this.values}constructor(y){(0,o._)(this,"values",void 0),this.values=y}}class w{getCatalogFilters(){return{"metadata.namespace":this.values}}filterEntity(y){return this.values.some(D=>y.metadata.namespace===D)}toQueryValue(){return this.values}constructor(y){(0,o._)(this,"values",void 0),this.values=y}}class v{static owned(y){return new v("owned",y)}static all(){return new v("all")}static starred(y){return new v("starred",y)}getCatalogFilters(){if(this.value==="owned"){var y;return{"relations.ownedBy":(y=this.refs)!==null&&y!==void 0?y:[]}}if(this.value==="starred"){var D,M;return{"metadata.name":(M=(D=this.refs)===null||D===void 0?void 0:D.map(b=>(0,u.WK)(b).name))!==null&&M!==void 0?M:[]}}return{}}filterEntity(y){if(this.value==="starred"){var D,M;return(M=(D=this.refs)===null||D===void 0?void 0:D.includes((0,u.gH)(y)))!==null&&M!==void 0?M:!0}if(this.value==="owned"){var b;const Q=(0,A.q)(y,i.ag);var H;return(H=(b=this.refs)===null||b===void 0?void 0:b.some(q=>Q.some(z=>(0,u.gH)(z)===q)))!==null&&H!==void 0?H:!1}return!0}toQueryValue(){return this.value}constructor(y,D){(0,o._)(this,"value",void 0),(0,o._)(this,"refs",void 0),this.value=y,this.refs=D}}class O{filterEntity(y){switch(this.value){case"owned":return this.isOwnedEntity(y);case"starred":return this.isStarredEntity(y);default:return!0}}toQueryValue(){return this.value}constructor(y,D,M){(0,o._)(this,"value",void 0),(0,o._)(this,"isOwnedEntity",void 0),(0,o._)(this,"isStarredEntity",void 0),this.value=y,this.isOwnedEntity=D,this.isStarredEntity=M}}class g{getCatalogFilters(){return this.value?{"metadata.annotations.backstage.io/orphan":String(this.value)}:{}}filterEntity(y){var D;const M=(D=y.metadata.annotations)===null||D===void 0?void 0:D["backstage.io/orphan"];return M!==void 0&&this.value.toString()===M}constructor(y){(0,o._)(this,"value",void 0),this.value=y}}class I{filterEntity(y){var D,M;const b=(y==null||(M=y.status)===null||M===void 0||(D=M.items)===null||D===void 0?void 0:D.length)>0;return b!==void 0&&this.value===b}constructor(y){(0,o._)(this,"value",void 0),this.value=y}}},59036:function(Z,T,t){"use strict";t.d(T,{HI:function(){return P},a0:function(){return I}});var o=t(77e3),i=t(67928),u=t.n(i),A=t(55632),m=t.n(A),f=t(85668),c=t(33648),d=t(30516),C=t(19540),E=t(87987),w=t(33776),v=t(14011),O=t(15940);const g=(0,f.createContext)(void 0),I=y=>{const D=(0,E.default)(),M=(0,O.yk)(w.s),[b,H]=(0,f.useState)({}),Q=(0,c.IT)(),q=y.pagination===!0||typeof y.pagination=="object",z=y.pagination&&typeof y.pagination=="object"&&typeof y.pagination.limit=="number"?y.pagination.limit:20,{queryParameters:k,cursor:N}=(0,f.useMemo)(()=>{const st=m().parse(Q.search,{ignoreQueryPrefix:!0});var Ct;return{queryParameters:(Ct=st.filters)!==null&&Ct!==void 0?Ct:{},cursor:typeof st.cursor=="string"?st.cursor:void 0}},[Q]),[J,nt]=(0,f.useState)(N),[it,yt]=(0,f.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[],pageInfo:q?{}:void 0})),[{loading:ft,error:wt},ct]=(0,d.default)(async()=>{const st=(0,i.compact)(Object.values(b)),Ct=Object.keys(b).reduce((At,ht)=>{const lt=b[ht];return lt!=null&&lt.toQueryValue&&(At[ht]=lt.toQueryValue()),At},{});if(q)if(J){if(J!==it.appliedCursor){const At=(0,v.G0)(st),ht=await M.queryEntities({cursor:J,limit:z});yt({appliedFilters:b,appliedCursor:J,backendEntities:ht.items,entities:ht.items.filter(At),pageInfo:ht.pageInfo})}}else{const At=(0,v.G0)(st),ht=(0,v.eo)(st),lt=(0,v.eo)((0,i.compact)(Object.values(it.appliedFilters)));if(!(0,i.isEqual)(lt,ht)){const pt=await M.queryEntities({filter:ht,limit:z,orderFields:[{field:"metadata.name",order:"asc"}]});yt({appliedFilters:b,backendEntities:pt.items,entities:pt.items.filter(At),pageInfo:pt.pageInfo})}}else{const At=(0,v.G0)(st),ht=(0,v._U)(st),lt=(0,v._U)((0,i.compact)(Object.values(it.appliedFilters)));if((0,i.isEqual)(lt,ht))yt({appliedFilters:b,backendEntities:it.backendEntities,entities:it.backendEntities.filter(At)});else{const pt=await M.getEntities({filter:ht});yt({appliedFilters:b,backendEntities:pt.items,entities:pt.items.filter(At)})}}if(D()){var St;const At=m().parse(Q.search,{ignoreQueryPrefix:!0}),ht=m().stringify({...At,filters:Ct,cursor:J},{addQueryPrefix:!0,arrayFormat:"repeat"}),lt=`${window.location.pathname}${ht}`;(St=window.history)===null||St===void 0||St.replaceState(null,document.title,lt)}},[M,k,b,it,J,q],{loading:!0});(0,C.c)(ct,10,[b,J]);const xt=(0,f.useCallback)(st=>{nt(void 0),H(Ct=>{const St=typeof st=="function"?st(Ct):st;return{...Ct,...St}})},[]),at=(0,f.useMemo)(()=>{var st,Ct;if(!q)return;const St=(st=it.pageInfo)===null||st===void 0?void 0:st.prevCursor,At=(Ct=it.pageInfo)===null||Ct===void 0?void 0:Ct.nextCursor;return{prev:St?()=>nt(St):void 0,next:At?()=>nt(At):void 0}},[q,it.pageInfo]),V=(0,f.useMemo)(()=>({filters:it.appliedFilters,entities:it.entities,backendEntities:it.backendEntities,updateFilters:xt,queryParameters:k,loading:ft,error:wt,pageInfo:at}),[it,xt,k,ft,wt,at]);return(0,o.jsx)(g.Provider,{value:V,children:y.children})};function P(){const y=(0,f.useContext)(g);if(!y)throw new Error("useEntityList must be used within EntityListProvider");return y}},99220:function(Z,T,t){"use strict";t.d(T,{a:function(){return c}});var o=t(83856),i=t(15940),u=t(85668),A=t(86099),m=t(31608);function f(d){return typeof d=="string"?d:(0,o.gH)(d)}function c(){const d=(0,i.yk)(m.s),C=(0,A.c)((0,u.useMemo)(()=>d.starredEntitie$(),[d]),new Set),E=(0,u.useCallback)(v=>C.has(f(v)),[C]),w=(0,u.useCallback)(v=>d.toggleStarred(f(v)).then(),[d]);return{starredEntities:C,toggleStarredEntity:w,isStarredEntity:E}}},65884:function(Z,T,t){"use strict";t.d(T,{I:function(){return u}});var o=t(8256),i=t(12539);const u=(0,i.U)("catalog:entity-route-ref",()=>(0,o.C)({id:"catalog:entity",params:["namespace","kind","name"]}));function A(m){var f,c;return{kind:m.kind.toLocaleLowerCase("en-US"),namespace:(c=(f=m.metadata.namespace)===null||f===void 0?void 0:f.toLocaleLowerCase("en-US"))!==null&&c!==void 0?c:DEFAULT_NAMESPACE,name:m.metadata.name}}},14011:function(Z,T,t){"use strict";t.d(T,{G0:function(){return A},_U:function(){return u},eo:function(){return i}});var o=t(32556);function i(m){return m.reduce((f,c)=>({...f,...c.getCatalogFilters?c.getCatalogFilters():{}}),{})}function u(m){const f={};return m.forEach(c=>{var d;c instanceof o.Yz||c instanceof o.am||c instanceof o.y8||c instanceof o.QX||c instanceof o.SM||c instanceof o.wR||c instanceof o.Sh||c instanceof o.eU||Object.assign(f,((d=c.getCatalogFilters)===null||d===void 0?void 0:d.call(c))||{})}),f}function A(m){return f=>m.every(c=>!c.filterEntity||c.filterEntity(f))}},21148:function(Z,T,t){"use strict";t.d(T,{q:function(){return i}});var o=t(83856);function i(u,A,m){var f;let c=(u==null||(f=u.relations)===null||f===void 0?void 0:f.filter(d=>d.type===A).map(d=>(0,o.WK)(d.targetRef)))||[];return m!=null&&m.kind&&(c=c.filter(d=>d.kind.toLocaleLowerCase("en-US")===m.kind.toLocaleLowerCase("en-US"))),c}},35136:function(Z,T,t){"use strict";t.d(T,{W:function(){return d},A7:function(){return E},sv:function(){return v},ml:function(){return w},I5:function(){return C}});var o=t(51512),i=t(13800);let u=i.m,A=u;class m{toString(){return`routeRef{type=external,id=${this.id}}`}constructor(g,I,P){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,"optional",void 0),(0,o._)(this,A,void 0),this.id=g,this.params=I,this.optional=P,this[u]="external"}}function f(O){var g;return new m(O.id,(g=O.params)!==null&&g!==void 0?g:[],Boolean(O.optional))}var c=t(8256);const d=f({id:"create-component",optional:!0}),C=f({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]}),E=f({id:"create-from-template",optional:!0,params:["namespace","templateName"]}),w=f({id:"catalog:unregister-redirect",optional:!0}),v=(0,c.C)({id:"catalog"})},68172:function(Z,T,t){"use strict";t.d(T,{E:function(){return o}});var o;(function(i){i.DENY="DENY",i.ALLOW="ALLOW",i.CONDITIONAL="CONDITIONAL"})(o||(o={}))},13920:function(Z,T,t){"use strict";t.d(T,{y:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"plugin.permission.api"})},45776:function(Z,T,t){"use strict";t.d(T,{e:function(){return m}});var o=t(77e3),i=t(85668),u=t(40476);const A=(0,u.c)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),m=f=>{const{text:c,preTag:d,postTag:C}=f,E=A(),w=(0,i.useMemo)(()=>c.split(new RegExp(`(${d}.+?${C})`)),[C,d,c]);return(0,o.jsx)(o.Fragment,{children:w.map((v,O)=>v.includes(d)?(0,o.jsx)("mark",{className:E.highlight,children:v.replace(new RegExp(`${d}|${C}`,"g"),"")},O):v)})}},20044:function(Z,T,t){"use strict";t.d(T,{a4:function(){return C}});var o=t(77e3),i=t(85668),u=t(34420),A=t(65016),m=t(64848);const f="search.results.list.items.extensions.v1",c=(v,O)=>{for(const g of v){if(!isValidElement(g))continue;const I=getComponentData(g,f);if(I!=null&&I(O))return cloneElement(g,{rank:O.rank,highlight:O.highlight,result:O.document,...g.props})}return null},d=v=>{const{rank:O,result:g,noTrack:I,children:P,alignItems:y="flex-start",...D}=v,M=(0,u.S)(),b=(0,i.useCallback)(()=>{I||g&&M.captureEvent("discover",g.title,{attributes:{to:g.location},value:O})},[O,g,I,M]);return(0,o.jsx)(m.c,{divider:!0,alignItems:y,onClickCapture:b,...D,children:P})},C=v=>{const{name:O,component:g,predicate:I=()=>!0}=v;return(0,A.uQ)({name:O,component:{lazy:()=>g().then(P=>y=>(0,o.jsx)(d,{rank:y.rank,result:y.result,noTrack:y.noTrack,children:(0,i.createElement)(P,y)}))},data:{[f]:I}})},E=v=>{const O=useElementFilter(v,g=>g.selectByComponentData({key:f}).getElements(),[v]);return useCallback((g,I)=>{const P=c(O,g);return _jsx(Fragment,{children:P!=null?P:_jsx(d,{rank:g.rank,result:g.document,children:_jsx(DefaultResultListItem,{rank:g.rank,highlight:g.highlight,result:g.document})})},I)},[O])},w=v=>{const{results:O,children:g,...I}=v,P=E(g);return _jsx(List,{...I,children:O.map(P)})}},21016:function(Z,T,t){"use strict";t.d(T,{Co:function(){return w},K6:function(){return I},Mt:function(){return d},WG:function(){return c},sj:function(){return C}});var o=t(77e3),i=t(85668),u=t(33648),A=t(61552),m=t(65016),f=t(62240);const c="techdocs.addons.addon.v1",d="techdocs.addons.wrapper.v1",C=()=>null;(0,A.w)(C,d,!0);const E=P=>`${c}.${P.toLocaleLowerCase("en-US")}`;function w(P){const{name:y,component:D}=P;return(0,m.uQ)({name:y,component:{sync:M=>(0,o.jsx)(D,{...M})},data:{[c]:P,[E(y)]:!0}})}const v=(P,y)=>P.selectByComponentData({key:y}).getElements()[0],O=P=>P.selectByComponentData({key:d}).selectByComponentData({key:c}),g=P=>P.selectByComponentData({key:d}).findComponentData({key:c}),I=()=>{const P=(0,u.ag)(),y=(0,f.a)(P,O),D=(0,f.a)(P,g),M=(0,i.useCallback)(Q=>{if(!y||!Q)return null;const q=E(Q.name);var z;return(z=v(y,q))!==null&&z!==void 0?z:null},[y]),b=(0,i.useCallback)(Q=>{const q=D.find(z=>z.name===Q);return q?M(q):null},[D,M]),H=(0,i.useCallback)(Q=>{const q=D.filter(z=>z.location===Q);return q.length?q.map(M):null},[D,M]);return{renderComponentByName:b,renderComponentsByLocation:H}}},66056:function(Z,T,t){"use strict";t.d(T,{E:function(){return u},Q:function(){return i}});var o=t(18096);const i=(0,o.S)({id:"plugin.techdocs.service"}),u=(0,o.S)({id:"plugin.techdocs.storageservice"})},34704:function(Z,T,t){"use strict";t.d(T,{o:function(){return P},O:function(){return y}});var o=t(77e3),i=t(85668),u=t(35848),A=t(92908),m=t(83856),f=t(42772),c=t(68080),d=t(15940),C=t(36336),E=t(73556),w=t(66056);function v(D,M){return M.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")||(D.kind=D.kind.toLocaleLowerCase(),D.name=D.name.toLocaleLowerCase(),D.namespace=D.namespace.toLocaleLowerCase()),D}const O=(D,M)=>(0,m.gH)(D)===(0,m.gH)(M),g={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},I=(0,f.IR)("techdocs-reader-page-context"),P=(0,i.memo)(D=>{const{entityRef:M,children:b}=D,H=(0,d.yk)(w.Q),Q=(0,d.yk)(C.c),q=(0,u.default)(async()=>H.getEntityMetadata(M),[M]),z=(0,A.c)(async()=>H.getTechDocsMetadata(M),[M]),[k,N]=(0,i.useState)(g.title),[J,nt]=(0,i.useState)(g.subtitle),[it,yt]=(0,i.useState)(g.shadowRoot);(0,i.useEffect)(()=>{it&&!z.value&&!z.loading&&z.retry()},[z.value,z.loading,it,z.retry,z]);const ft={metadata:z,entityRef:v(M,Q),entityMetadata:q,shadowRoot:it,setShadowRoot:yt,title:k,setTitle:N,subtitle:J,setSubtitle:nt},wt=(0,c.O)({1:ft});return(0,o.jsx)(E.cz,{attributes:{entityRef:(0,m.gH)(M)},children:(0,o.jsx)(I.Provider,{value:wt,children:b instanceof Function?b(ft):b})})},(D,M)=>O(D.entityRef,M.entityRef)),y=()=>{const D=(0,i.useContext)(I);if(D===void 0)return g;const M=D.atVersion(1);if(M===void 0)throw new Error("No context found for version 1.");return M}},70124:function(Z,T,t){"use strict";t.d(T,{u:function(){return o}});const o=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},91720:function(Z,T,t){"use strict";t.d(T,{o:function(){return o}});function o(i,u){return u.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?i:i.toLocaleLowerCase("en-US")}},43516:function(Z,T,t){"use strict";t.d(T,{S:function(){return z}});var o=t(77e3),i=t(85668),u=t(46160),A=t(6080),m=t(19e3),f=t(59036),c=t(67848),d=t(52530),C=t(70924),E=t(22928),w=t(54720),v=t(52300);class O{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":v.q}}}const g=()=>{const{updateFilters:k}=(0,f.HI)();return(0,i.useEffect)(()=>{k({techdocs:new O})},[k]),null};var I=t(66860),P=t(67928),y=t(66972),D=t(43932),M=t(99220),b=t(33748),H=t(13884),Q=t(95860);const q=k=>{var N;const{columns:J,actions:nt,options:it}=k,{loading:yt,error:ft,entities:wt,filters:ct}=(0,f.HI)(),{isStarredEntity:xt,toggleStarredEntity:at}=(0,M.a)(),[,V]=(0,I.c)();var st;const Ct=(0,P.capitalize)((st=(N=ct.user)===null||N===void 0?void 0:N.value)!==null&&st!==void 0?st:"all"),St=[H.o.createCopyDocsUrlAction(V),H.o.createStarEntityAction(xt,at)];return ft?(0,o.jsx)(y.E,{severity:"error",title:"Could not load available documentation.",children:(0,o.jsx)(D.U,{language:"text",text:ft.toString()})}):(0,o.jsx)(b.m,{title:Ct,entities:wt,loading:yt,actions:nt||St,columns:J,options:it})};q.columns=Q._,q.actions=H.o;const z=k=>{const{initialFilter:N="owned",columns:J,actions:nt}=k;return(0,o.jsx)(w.c,{children:(0,o.jsxs)(u.k,{children:[(0,o.jsx)(A.Y,{title:"",children:(0,o.jsx)(m.i,{children:"Discover documentation in your ecosystem."})}),(0,o.jsx)(f.a0,{children:(0,o.jsxs)(c.UJ,{children:[(0,o.jsxs)(c.UJ.Filters,{children:[(0,o.jsx)(g,{}),(0,o.jsx)(d.M,{initialFilter:N}),(0,o.jsx)(C.I,{}),(0,o.jsx)(E.E,{})]}),(0,o.jsx)(c.UJ.Content,{children:(0,o.jsx)(q,{actions:nt,columns:J})})]})})]})})}},33748:function(Z,T,t){"use strict";t.d(T,{m:function(){return y}});var o=t(77e3),i=t(85668),u=t(66860),A=t(98832),m=t(15940),f=t(36336),c=t(89576),d=t(21148),C=t(98860),E=t(94388),w=t(85763),v=t(27284),O=t(692),g=t(13884),I=t(95860),P=t(91720);const y=D=>{const{entities:M,title:b,loading:H,columns:Q,actions:q,options:z}=D,[,k]=(0,u.c)(),N=(0,A.M)(E.uE),J=(0,m.yk)(f.c);if(!M)return null;const nt=M.map(ct=>{const xt=(0,d.q)(ct,c.ag);var at;return{entity:ct,resolved:{docsUrl:N({namespace:(0,P.o)((at=ct.metadata.namespace)!==null&&at!==void 0?at:"default",J),kind:(0,P.o)(ct.kind,J),name:(0,P.o)(ct.metadata.name,J)}),ownedByRelations:xt,ownedByRelationsTitle:xt.map(V=>(0,C.g)(V,{defaultKind:"group"})).join(", ")}}}),it=[I._.createNameColumn(),I._.createOwnerColumn(),I._.createKindColumn(),I._.createTypeColumn()],yt=[g.o.createCopyDocsUrlAction(k)],ft=20,wt=nt&&nt.length>ft;return(0,o.jsx)(o.Fragment,{children:H||nt&&nt.length>0?(0,o.jsx)(w.o,{isLoading:H,options:{paging:wt,pageSize:ft,search:!0,actionsColumnIndex:-1,...z},data:nt,columns:Q||it,actions:q||yt,title:b?`${b} (${nt.length})`:`All (${nt.length})`}):(0,o.jsx)(v.o,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:(0,o.jsx)(O.E,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:"DOCS"})})})};y.columns=I._,y.actions=g.o},13884:function(Z,T,t){"use strict";t.d(T,{o:function(){return d}});var o=t(77e3),i=t(85668),u=t(12664),A=t(45216),m=t(88496),f=t(2181);const c=(0,A.c)({root:{color:"#f3ba37"}})(m.c),d={createCopyDocsUrlAction(C){return E=>({icon:()=>(0,o.jsx)(u.c,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>C(`${window.location.origin}${E.resolved.docsUrl}`)})},createStarEntityAction(C,E){return w=>{const v=w.entity,O=C(v);return{cellStyle:{paddingLeft:"1em"},icon:()=>O?(0,o.jsx)(c,{}):(0,o.jsx)(f.c,{}),tooltip:O?"Remove from favorites":"Add to favorites",onClick:()=>E(v)}}}}},95860:function(Z,T,t){"use strict";t.d(T,{_:function(){return E}});var o=t(77e3),i=t(85668),u=t(33584),A=t(40476);const m=(0,A.c)(w=>({value:{marginBottom:w.spacing(.75)},subvalue:{color:w.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function f(w){const{value:v,subvalue:O}=w,g=m();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.c,{className:g.value,children:v}),(0,o.jsx)(u.c,{className:g.subvalue,children:O})]})}var c=t(38280),d=t(22616);function C(w){return w.metadata.title||w.metadata.name}const E={createNameColumn(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:w=>(0,o.jsx)(f,{value:(0,o.jsx)(c.cH,{to:w.resolved.docsUrl,children:C(w.entity)}),subvalue:w.entity.metadata.description})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:w})=>(0,o.jsx)(d.a,{entityRefs:w.ownedByRelations,defaultKind:"group"})}},createKindColumn(){return{title:"Kind",field:"entity.kind"}},createTypeColumn(){return{title:"Type",field:"entity.spec.type"}}}},54720:function(Z,T,t){"use strict";t.d(T,{c:function(){return f}});var o=t(77e3),i=t(85668),u=t(35556),A=t(15940),m=t(36336);const f=c=>{const{children:d}=c,C=(0,A.yk)(m.c);var E;const w=`Documentation available in ${(E=C.getOptionalString("organization.name"))!==null&&E!==void 0?E:"Backstage"}`;return(0,o.jsx)(u.Y,{title:"Documentation",subtitle:w,themeId:"documentation",children:d})}},85216:function(Z,T,t){"use strict";t.d(T,{wD:function(){return H},MX:function(){return Q},Ie:function(){return y}});var o=t(66056),i=t(51512),u=t(23108),A=t(12416),m=t(25651);class f{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(k){const{kind:N,namespace:J,name:nt}=k,yt=`${await this.getApiOrigin()}/metadata/techdocs/${J}/${N}/${nt}`,ft=await this.fetchApi.fetch(`${yt}`);if(!ft.ok)throw await u.i.fromResponse(ft);return await ft.json()}async getEntityMetadata(k){const{kind:N,namespace:J,name:nt}=k,yt=`${await this.getApiOrigin()}/metadata/entity/${J}/${N}/${nt}`,ft=await this.fetchApi.fetch(`${yt}`);if(!ft.ok)throw await u.i.fromResponse(ft);return await ft.json()}constructor(k){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=k.configApi,this.discoveryApi=k.discoveryApi,this.fetchApi=k.fetchApi}}class c{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var k;return(k=this.configApi.getOptionalString("techdocs.storageUrl"))!==null&&k!==void 0?k:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(k,N){const{kind:J,namespace:nt,name:it}=k,ft=`${await this.getStorageUrl()}/${nt}/${J}/${it}/${N}`,wt=await this.fetchApi.fetch(`${ft.endsWith("/")?ft:`${ft}/`}index.html`);let ct="";switch(wt.status){case 404:throw ct="Page not found. ",N||(ct+="This could be because there is no index.md file in the root of the docs directory of this repository."),new A.UL(ct);case 500:throw ct="Could not generate documentation or an error in the TechDocs backend. ",new Error(ct);default:break}return wt.text()}async syncEntityDocs(k,N=()=>{}){const{kind:J,namespace:nt,name:it}=k,ft=`${await this.getApiOrigin()}/sync/${nt}/${J}/${it}`,{token:wt}=await this.identityApi.getCredentials();return new Promise((ct,xt)=>{const at=new m.EventSourcePolyfill(ft,{withCredentials:!0,headers:wt?{Authorization:`Bearer ${wt}`}:{}});at.addEventListener("log",V=>{V.data&&N(JSON.parse(V.data))}),at.addEventListener("finish",V=>{let st=!1;V.data&&({updated:st}=JSON.parse(V.data)),ct(st?"updated":"cached")}),at.onerror=V=>{switch(at.close(),V.status){case 404:xt(new A.UL(V.message));return;default:xt(new Error(V.data));return}}})}async getBaseUrl(k,N,J){const{kind:nt,namespace:it,name:yt}=N,wt=`${await this.getApiOrigin()}/static/docs/${it}/${nt}/${yt}/${J}`;return new URL(k,wt.endsWith("/")?wt:`${wt}/`).toString()}constructor(k){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"identityApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=k.configApi,this.discoveryApi=k.discoveryApi,this.identityApi=k.identityApi,this.fetchApi=k.fetchApi}}var d=t(94388),C=t(6344),E=t(68108),w=t(36336),v=t(43756),O=t(89640),g=t(67640),I=t(65016),P=t(20044);const y=(0,C.a)({id:"techdocs",apis:[(0,E.Q)({api:o.E,deps:{configApi:w.c,discoveryApi:v.y,identityApi:O.S,fetchApi:g._},factory:({configApi:z,discoveryApi:k,identityApi:N,fetchApi:J})=>new c({configApi:z,discoveryApi:k,identityApi:N,fetchApi:J})}),(0,E.Q)({api:o.Q,deps:{configApi:w.c,discoveryApi:v.y,fetchApi:g._},factory:({configApi:z,discoveryApi:k,fetchApi:N})=>new f({configApi:z,discoveryApi:k,fetchApi:N})})],routes:{root:d.sv,docRoot:d.uE,entityContent:d.GK}}),D=y.provide((0,I.Wm)({name:"TechdocsPage",component:()=>t.e(7960).then(t.bind(t,77960)).then(z=>z.Router),mountPoint:d.sv})),M=y.provide((0,I.Wm)({name:"EntityTechdocsContent",component:()=>t.e(7960).then(t.bind(t,77960)).then(z=>z.EmbeddedDocsRouter),mountPoint:d.GK})),b=y.provide((0,I.Wm)({name:"TechDocsCustomHome",component:()=>t.e(1552).then(t.bind(t,41552)).then(z=>z.TechDocsCustomHome),mountPoint:d.sv})),H=y.provide((0,I.Wm)({name:"TechDocsIndexPage",component:()=>t.e(8160).then(t.bind(t,38160)).then(z=>z.TechDocsIndexPage),mountPoint:d.sv})),Q=y.provide((0,I.Wm)({name:"TechDocsReaderPage",component:()=>t.e(2695).then(t.bind(t,85076)).then(z=>z.TechDocsReaderPage),mountPoint:d.uE})),q=y.provide((0,P.a4)({name:"TechDocsSearchResultListItem",component:()=>Promise.resolve().then(t.bind(t,35184)).then(z=>z.TechDocsSearchResultListItem),predicate:z=>z.type==="techdocs"}))},60173:function(Z,T,t){"use strict";t.d(T,{i:function(){return Rt}});var o=t(77e3),i=t(85668),u=t(40476),A=t(19947),m=t(34704),f=t(13244),c=t(69320),d=t(12176),C=t(12824);const E="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",w=h=>{(0,i.useEffect)(()=>{if(!h)return()=>{};const R=h.querySelectorAll('head > link[rel="stylesheet"]');var U;let $=(U=R==null?void 0:R.length)!==null&&U!==void 0?U:0;const Y=new CustomEvent(E);if(!$)return h.dispatchEvent(Y),()=>{};const _=()=>{--$===0&&h.dispatchEvent(Y)};return R==null||R.forEach(dt=>{dt.addEventListener("load",_)}),()=>{R==null||R.forEach(dt=>{dt.removeEventListener("load",_)})}},[h])},v=h=>{const[R,U]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!h)return()=>{};U(!0);const $=h.style;$.setProperty("opacity","0");const Y=()=>{U(!1),$.setProperty("opacity","1")};return h.addEventListener(E,Y),()=>{h.removeEventListener(E,Y)}},[h]),R},O=h=>{const{element:R,onAppend:U,children:$}=h,[Y,_]=(0,i.useState)((0,f.Su)({...(0,c.c)(),insertionPoint:void 0}));w(R);const dt=v(R),bt=(0,i.useCallback)(Lt=>{if(!R||!Lt)return;_((0,f.Su)({...(0,c.c)(),insertionPoint:R.querySelector("head")||void 0}));let Ut=Lt.shadowRoot;Ut||(Ut=Lt.attachShadow({mode:"open"})),Ut.replaceChildren(R),typeof U=="function"&&U(Ut)},[R,U]);return(0,o.jsxs)(o.Fragment,{children:[dt&&(0,o.jsx)(C.b,{}),(0,o.jsxs)(d.cp,{jss:Y,sheetsManager:new Map,children:[(0,o.jsx)("div",{ref:bt,"data-testid":"techdocs-native-shadowroot"}),$]})]})};var g=t(94608);const I=()=>{const{shadowRoot:h}=(0,m.O)();return h},P=h=>{const R=I();return R?h.map(U=>R==null?void 0:R.querySelectorAll(U)).filter(U=>U.length).map(U=>Array.from(U)).flat():[]},y=h=>h.toString()&&h.rangeCount&&h.getRangeAt(0).getBoundingClientRect().top,D=(h=0)=>{const R=I(),[U,$]=useState(null),Y=useMemo(()=>debounce(()=>{const _=R,dt=_.getSelection?_.getSelection():document.getSelection();dt&&y(dt)?$(dt):$(null)},h),[R,$,h]);return useEffect(()=>(window.document.addEventListener("selectionchange",Y),()=>{Y.cancel(),window.document.removeEventListener("selectionchange",Y)}),[Y]),U};var M=t(93444),b=t(46160),H=t(67928),Q=t(35848),q=t(29260),z=t(42772),k=t(68080),N=t(15940),J=t(34420),nt=t(73556),it=t(36336),yt=t(18096);const ft=(0,yt.S)({id:"plugin.search.queryservice"});class wt{query(){return Promise.resolve(this.mockedResults||{results:[]})}constructor(R){_define_property(this,"mockedResults",void 0),this.mockedResults=R}}const ct=(0,z.IR)("search-context"),xt=()=>{const h=(0,i.useContext)(ct);if(!h)throw new Error("useSearch must be used within a SearchContextProvider");const R=h.atVersion(1);if(!R)throw new Error("No SearchContext v1 found");return R},at=()=>(0,i.useContext)(ct)!==void 0,V={term:"",types:[],filters:{},pageLimit:void 0,pageCursor:void 0},st=(h=V)=>{var R,U,$,Y;const _=(0,N.yk)(ft),dt=(0,J.S)(),[bt,Lt]=(0,i.useState)(h.term),[Ut,Zt]=(0,i.useState)(h.types),[Ft,It]=(0,i.useState)(h.filters),[ae,me]=(0,i.useState)(h.pageLimit),[Jt,Wt]=(0,i.useState)(h.pageCursor),re=(0,q.c)(bt),ye=(0,q.c)(Ft),Pt=(0,Q.default)(async()=>{const he=await _.query({term:bt,types:Ut,filters:Ft,pageLimit:ae,pageCursor:Jt});if(bt){var Fe,oe;dt.captureEvent("search",bt,{value:(oe=(Fe=Pt.value)===null||Fe===void 0?void 0:Fe.numberOfResults)!==null&&oe!==void 0?oe:void 0})}return he},[bt,Ut,Ft,ae,Jt]),zt=!Pt.loading&&!Pt.error&&((R=Pt.value)===null||R===void 0?void 0:R.nextPageCursor),qt=!Pt.loading&&!Pt.error&&((U=Pt.value)===null||U===void 0?void 0:U.previousPageCursor),Te=(0,i.useCallback)(()=>{var he;Wt((he=Pt.value)===null||he===void 0?void 0:he.nextPageCursor)},[($=Pt.value)===null||$===void 0?void 0:$.nextPageCursor]),Re=(0,i.useCallback)(()=>{var he;Wt((he=Pt.value)===null||he===void 0?void 0:he.previousPageCursor)},[(Y=Pt.value)===null||Y===void 0?void 0:Y.previousPageCursor]);return(0,i.useEffect)(()=>{re!==void 0&&bt!==re&&Wt(void 0)},[bt,re,Wt]),(0,i.useEffect)(()=>{ye!==void 0&&!(0,H.isEqual)(Ft,ye)&&Wt(void 0)},[Ft,ye,Wt]),{result:Pt,term:bt,setTerm:Lt,types:Ut,setTypes:Zt,filters:Ft,setFilters:It,pageLimit:ae,setPageLimit:me,pageCursor:Jt,setPageCursor:Wt,fetchNextPage:zt?Te:void 0,fetchPreviousPage:qt?Re:void 0}},Ct=h=>{const{initialState:R,children:U}=h,$=st(R);return(0,o.jsx)(nt.cz,{attributes:{searchTypes:$.types.sort().join(",")},children:(0,o.jsx)(ct.Provider,{value:(0,k.O)({1:$}),children:U})})},St=h=>{const{initialState:R,inheritParentContextIfAvailable:U,children:$}=h,Y=at(),_=(0,N.yk)(it.c),dt=R!=null?R:{},bt=_.has("search.query.pageLimit")?{pageLimit:_.getNumber("search.query.pageLimit")}:{},Lt={...V,...dt,...bt};return Y&&U?(0,o.jsx)(o.Fragment,{children:$}):(0,o.jsx)(Ct,{initialState:Lt,children:$})};var At=t(72904),ht=t(88724),lt=t(83952),pt=t(67256),G=t(93852),K=t(1275),tt=t(94656),rt=t(19540);function vt(h){return(0,i.forwardRef)((R,U)=>(0,o.jsx)(St,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(h,{...R,ref:U})}))}const mt=vt((0,i.forwardRef)((h,R)=>{const{onChange:U,onKeyDown:$=()=>{},onClear:Y=()=>{},onSubmit:_=()=>{},debounceTime:dt=200,clearButton:bt=!0,fullWidth:Lt=!0,value:Ut,label:Zt,placeholder:Ft,inputProps:It={},InputProps:ae={},endAdornment:me,...Jt}=h,Wt=(0,N.yk)(it.c),[re,ye]=(0,i.useState)(""),Pt=(0,i.useRef)("");(0,i.useEffect)(()=>{ye(oe=>oe===Pt.current?String(Ut):oe)},[Ut,Pt]),(0,rt.c)(()=>{Pt.current=re,U(re)},dt,[re]);const zt=(0,i.useCallback)(oe=>{ye(oe.target.value)},[ye]),qt=(0,i.useCallback)(oe=>{$&&$(oe),_&&oe.key==="Enter"&&_()},[$,_]),Te=(0,i.useCallback)(()=>{Pt.current="",U(""),ye(""),Y&&Y()},[U,Y]),Re=Zt?void 0:"Search",Ke=Ft!=null?Ft:`Search in ${Wt.getOptionalString("app.title")||"Backstage"}`,he=(0,o.jsx)(lt.c,{position:"start",children:(0,o.jsx)(pt.c,{"aria-label":"Query",size:"small",disabled:!0,children:(0,o.jsx)(tt.c,{})})}),Fe=(0,o.jsx)(lt.c,{position:"end",children:(0,o.jsx)(K.c,{"aria-label":"Clear",size:"small",onClick:Te,onKeyDown:oe=>{oe.key==="Enter"&&oe.stopPropagation()},children:"Clear"})});return(0,o.jsx)(G.c,{id:"search-bar-text-field","data-testid":"search-bar-next",variant:"outlined",margin:"normal",inputRef:R,value:re,label:Zt,placeholder:Ke,InputProps:{startAdornment:he,endAdornment:bt?Fe:me,...ae},inputProps:{"aria-label":Re,...It},fullWidth:Lt,onChange:zt,onKeyDown:qt,...Jt})})),jt=vt((0,i.forwardRef)((h,R)=>{const{value:U="",onChange:$,...Y}=h,{term:_,setTerm:dt}=xt();(0,i.useEffect)(()=>{U&&dt(String(U))},[U,dt]);const bt=(0,i.useCallback)(Lt=>{$?$(Lt):dt(Lt)},[$,dt]);return(0,o.jsx)(nt.cz,{attributes:{pluginId:"search",extension:"SearchBar"},children:(0,o.jsx)(mt,{...Y,ref:R,value:_,onChange:bt})})})),Kt=(0,u.c)(h=>({loading:{right:h.spacing(1),position:"absolute"}})),Bt=h=>R=>(0,o.jsx)(St,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(h,{...R})}),$t=()=>{const h=Kt();return(0,o.jsx)(At.c,{className:h.loading,"data-testid":"search-autocomplete-progressbar",color:"inherit",size:20})},Dt=Bt(function(R){const{loading:U,value:$,onChange:Y=()=>{},options:_=[],getOptionLabel:dt=Pt=>String(Pt),inputPlaceholder:bt,inputDebounceTime:Lt,freeSolo:Ut=!0,fullWidth:Zt=!0,clearOnBlur:Ft=!1,"data-testid":It="search-autocomplete",...ae}=R,{setTerm:me}=xt(),Jt=(0,i.useCallback)(Pt=>Pt?typeof Pt=="string"?Pt:dt(Pt):"",[dt]),Wt=(0,i.useMemo)(()=>Jt($),[$,Jt]),re=(0,i.useCallback)((Pt,zt,qt,Te)=>{me(Jt(zt)),Y(Pt,zt,qt,Te)},[Jt,me,Y]),ye=(0,i.useCallback)(({InputProps:{ref:Pt,className:zt,endAdornment:qt},InputLabelProps:Te,...Re})=>(0,o.jsx)(jt,{...Re,ref:Pt,clearButton:!1,value:Wt,placeholder:bt,debounceTime:Lt,endAdornment:U?(0,o.jsx)($t,{}):qt,InputProps:{className:zt}}),[U,Wt,bt,Lt]);return(0,o.jsx)(ht.cp,{...ae,"data-testid":It,value:$,onChange:re,options:_,getOptionLabel:dt,renderInput:ye,freeSolo:Ut,fullWidth:Zt,clearOnBlur:Ft})});var Vt=t(33648),De=t(35184);const fe=h=>h==null?void 0:h.document,se=h=>{const{entityId:R,entityTitle:U,debounceTime:$=150}=h,[Y,_]=(0,i.useState)(!1),dt=(0,Vt.i6)(),{setFilters:bt,result:{loading:Lt,value:Ut}}=xt(),[Zt,Ft]=(0,i.useState)([]);(0,i.useEffect)(()=>{let Wt=!0;if(Wt&&Ut){const re=Ut.results.slice(0,10);Ft(re)}return()=>{Wt=!1}},[Lt,Ut]);const{kind:It,name:ae,namespace:me}=R;(0,i.useEffect)(()=>{bt(Wt=>({...Wt,kind:It,namespace:me,name:ae}))},[It,me,ae,bt]);const Jt=(Wt,re)=>{if(fe(re)){const{location:ye}=re.document;dt(ye)}};return(0,o.jsx)(Dt,{"data-testid":"techdocs-search-bar",size:"small",open:Y,getOptionLabel:()=>"",filterOptions:Wt=>Wt,onClose:()=>{_(!1)},onFocus:()=>{_(!0)},onChange:Jt,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:Zt,renderOption:({document:Wt,highlight:re})=>(0,o.jsx)(De.TechDocsSearchResultListItem,{result:Wt,lineClamp:3,asListItem:!1,asLink:!1,title:Wt.title,highlight:re}),loading:Lt,inputDebounceTime:$,inputPlaceholder:`Search ${U||R.name} docs`,freeSolo:!1})},Xt=h=>{const R={term:"",types:["techdocs"],pageCursor:"",filters:h.entityId};return(0,o.jsx)(St,{initialState:R,children:(0,o.jsx)(se,{...h})})};var Mt=t(36216),Gt=t(65252);const be=(0,i.lazy)(()=>Promise.all([t.e(636),t.e(3216)]).then(t.bind(t,53216)).then(h=>({default:h.RealLogViewer})));function Ge(h){const{Progress:R}=(0,Gt.I)().getComponents();return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(R,{}),children:(0,o.jsx)(be,{...h})})}var xe=t(93644),on=t(94700),Xe=t(15325),_e=t(10368);const Ve=(0,u.c)(h=>(0,xe.c)({paper:{width:"100%",[h.breakpoints.up("sm")]:{width:"75%"},[h.breakpoints.up("md")]:{width:"50%"},padding:h.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:h.palette.background.default}})),le=({buildLog:h,onClose:R})=>{const U=Ve(),$=h.length===0?"Waiting for logs...":h.join(`
6
+ `);return(0,o.jsxs)(A.c,{container:!0,direction:"column",className:U.root,spacing:0,wrap:"nowrap",children:[(0,o.jsxs)(A.c,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap",children:[(0,o.jsx)(on.c,{variant:"h5",children:"Build Details"}),(0,o.jsx)(pt.c,{title:"Close the drawer",onClick:R,color:"inherit",children:(0,o.jsx)(_e.c,{})},"dismiss")]}),(0,o.jsx)(A.c,{item:!0,xs:!0,children:(0,o.jsx)(Ge,{text:$,classes:{root:U.logs}})})]})},ze=({buildLog:h})=>{const R=Ve(),[U,$]=(0,i.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(K.c,{color:"inherit",onClick:()=>$(!0),children:"Show Build Logs"}),(0,o.jsx)(Xe.cp,{classes:{paper:R.paper},anchor:"right",open:U,onClose:()=>$(!1),children:(0,o.jsx)(le,{buildLog:h,onClose:()=>$(!1)})})]})},ke=({errorMessage:h})=>{const R=(0,N.yk)(it.c).getOptionalString("techdocs.builder"),U=(0,J.S)(),{entityRef:$}=(0,m.O)(),Y=(0,Vt.IT)();(0,i.useEffect)(()=>{const{pathname:dt,search:bt,hash:Lt}=Y;U.captureEvent("not-found",`${dt}${bt}${Lt}`,{attributes:$})},[U,$,Y]);let _="";return R!=="local"&&(_="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),(0,o.jsx)(M.a,{status:"404",statusMessage:h||"Documentation not found",additionalInfo:_})};var cn=t(92908),Ue=t(66056);function ce({contentLoading:h,content:R,activeSyncState:U}){return h||U==="BUILD_READY_RELOAD"||!R&&U==="CHECKING"?"CHECKING":!R&&U==="BUILDING"?"INITIAL_BUILD":R?U==="BUILDING"?"CONTENT_STALE_REFRESHING":U==="BUILD_READY"?"CONTENT_STALE_READY":U==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Qe(h,R){const U={...h};switch(R.type){case"sync":R.state==="CHECKING"&&(U.buildLog=[]),U.activeSyncState=R.state,U.syncError=R.syncError;break;case"contentLoading":U.contentLoading=!0,U.contentError=void 0;break;case"content":typeof R.path=="string"&&(U.path=R.path),U.contentLoading=!1,U.content=R.content,U.contentError=R.contentError;break;case"buildLog":U.buildLog=U.buildLog.concat(R.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(U.activeSyncState)&&["contentLoading","content"].includes(R.type)&&(U.activeSyncState="UP_TO_DATE",U.buildLog=[]),U}function Oe(h,R,U,$){var Y,_;const[dt,bt]=(0,i.useReducer)(Qe,{activeSyncState:"CHECKING",path:$,contentLoading:!0,buildLog:[]}),Lt=(0,N.yk)(Ue.E),{retry:Ut}=(0,cn.c)(async()=>{bt({type:"contentLoading"});try{const It=await Lt.getEntityDocs({kind:h,namespace:R,name:U},$);return bt({type:"content",content:It,path:$}),It}catch(It){bt({type:"content",contentError:It,path:$})}},[Lt,h,R,U,$]),Zt=(0,i.useRef)({content:void 0,reload:()=>{}});return Zt.current={content:dt.content,reload:Ut},(0,Q.default)(async()=>{bt({type:"sync",state:"CHECKING"});const It=setTimeout(()=>{bt({type:"sync",state:"BUILDING"})},1e3);try{switch(await Lt.syncEntityDocs({kind:h,namespace:R,name:U},me=>{bt({type:"buildLog",log:me})})){case"updated":Zt.current.content?bt({type:"sync",state:"BUILD_READY"}):(Zt.current.reload(),bt({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":bt({type:"sync",state:"UP_TO_DATE"});break;default:bt({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(ae){bt({type:"sync",state:"ERROR",syncError:ae})}finally{clearTimeout(It)}},[h,U,R,Lt,bt,Zt]),{state:(0,i.useMemo)(()=>ce({activeSyncState:dt.activeSyncState,contentLoading:dt.contentLoading,content:dt.content}),[dt.activeSyncState,dt.content,dt.contentLoading]),contentReload:Ut,path:dt.path,content:dt.content,contentErrorMessage:(Y=dt.contentError)===null||Y===void 0?void 0:Y.toString(),syncErrorMessage:(_=dt.syncError)===null||_===void 0?void 0:_.toString(),buildLog:dt.buildLog}}const Ne=(0,i.createContext)({}),He=()=>(0,i.useContext)(Ne),j=h=>{const{children:R}=h,{"*":U=""}=(0,Vt.W4)(),{entityRef:$}=(0,m.O)(),{kind:Y,namespace:_,name:dt}=$,bt=Oe(Y,_,dt,U);return(0,o.jsx)(Ne.Provider,{value:bt,children:R instanceof Function?R(bt):R})},p=h=>R=>(0,o.jsx)(j,{children:(0,o.jsx)(h,{...R})}),B=(0,u.c)(h=>({root:{marginBottom:h.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),F=()=>{let h=null;const R=B(),{state:U,contentReload:$,contentErrorMessage:Y,syncErrorMessage:_,buildLog:dt}=He();return U==="INITIAL_BUILD"&&(h=(0,o.jsx)(Mt.c,{classes:{root:R.root},variant:"outlined",severity:"info",icon:(0,o.jsx)(At.c,{size:"24px"}),action:(0,o.jsx)(ze,{buildLog:dt}),children:"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster."})),U==="CONTENT_STALE_REFRESHING"&&(h=(0,o.jsx)(Mt.c,{variant:"outlined",severity:"info",icon:(0,o.jsx)(At.c,{size:"24px"}),action:(0,o.jsx)(ze,{buildLog:dt}),classes:{root:R.root},children:"A newer version of this documentation is being prepared and will be available shortly."})),U==="CONTENT_STALE_READY"&&(h=(0,o.jsx)(Mt.c,{variant:"outlined",severity:"success",action:(0,o.jsx)(K.c,{color:"inherit",onClick:()=>$(),children:"Refresh"}),classes:{root:R.root},children:"A newer version of this documentation is now available, please refresh to view."})),U==="CONTENT_STALE_ERROR"&&(h=(0,o.jsxs)(Mt.c,{variant:"outlined",severity:"error",action:(0,o.jsx)(ze,{buildLog:dt}),classes:{root:R.root,message:R.message},children:["Building a newer version of this documentation failed."," ",_]})),U==="CONTENT_NOT_FOUND"&&(h=(0,o.jsxs)(o.Fragment,{children:[_&&(0,o.jsxs)(Mt.c,{variant:"outlined",severity:"error",action:(0,o.jsx)(ze,{buildLog:dt}),classes:{root:R.root,message:R.message},children:["Building a newer version of this documentation failed."," ",_]}),(0,o.jsx)(ke,{errorMessage:Y})]})),h};var gt=t(76048),et=t(95664),Tt=t(87676),_t=t(46595),te=t.n(_t);const ge=/main\.[A-Fa-f0-9]{8}\.min\.css$/,pe=/^https:\/\/fonts\.googleapis\.com/,ve=/^https:\/\/fonts\.gstatic\.com/,de=h=>h.nodeName==="LINK",Qt=h=>{const R=(h==null?void 0:h.getAttribute("href"))||"",U=R.match(ge),$=R.match(pe),Y=R.match(ve);return U||$||Y},we=h=>(de(h)&&!Qt(h)&&h.remove(),h),Me=h=>h.nodeName==="IFRAME",Nt=(h,R)=>{const U=h.getAttribute("src")||"";try{const{host:$}=new URL(U);return R.includes($)}catch{return!1}},ne=h=>R=>(Me(R)&&!Nt(R,h)&&R.remove(),R),ie=()=>{const h=(0,N.yk)(it.c);return(0,i.useMemo)(()=>h.getOptionalConfig("techdocs.sanitizer"),[h])},Wn=()=>{const h=ie();return(0,i.useCallback)(async R=>{const U=h==null?void 0:h.getOptionalStringArray("allowedIframeHosts");te().addHook("beforeSanitizeElements",we);const $=["link"];return U&&($.push("iframe"),te().addHook("beforeSanitizeElements",ne(U))),te().sanitize(R.outerHTML,{ADD_TAGS:$,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})},[h])};var Ao=t(84568),Pe=t(87984),kn=({theme:h})=>`
7
+ /*================== Variables ==================*/
8
+ /*
9
+ As the MkDocs output is rendered in shadow DOM, the CSS variable definitions on the root selector are not applied. Instead, they have to be applied on :host.
10
+ As there is no way to transform the served main*.css yet (for example in the backend), we have to copy from main*.css and modify them.
11
+ */
12
+
13
+ :host {
14
+ /* FONT */
15
+ --md-default-fg-color: ${h.palette.text.primary};
16
+ --md-default-fg-color--light: ${h.palette.text.secondary};
17
+ --md-default-fg-color--lighter: ${(0,Pe.IV)(h.palette.text.secondary,.7)};
18
+ --md-default-fg-color--lightest: ${(0,Pe.IV)(h.palette.text.secondary,.3)};
19
+
20
+ /* BACKGROUND */
21
+ --md-default-bg-color:${h.palette.background.default};
22
+ --md-default-bg-color--light: ${h.palette.background.paper};
23
+ --md-default-bg-color--lighter: ${(0,Pe.IV)(h.palette.background.paper,.7)};
24
+ --md-default-bg-color--lightest: ${(0,Pe.IV)(h.palette.background.paper,.3)};
25
+
26
+ /* PRIMARY */
27
+ --md-primary-fg-color: ${h.palette.primary.main};
28
+ --md-primary-fg-color--light: ${h.palette.primary.light};
29
+ --md-primary-fg-color--dark: ${h.palette.primary.dark};
30
+ --md-primary-bg-color: ${h.palette.primary.contrastText};
31
+ --md-primary-bg-color--light: ${(0,Pe.IV)(h.palette.primary.contrastText,.7)};
32
+
33
+ /* ACCENT */
34
+ --md-accent-fg-color: var(--md-primary-fg-color);
35
+
36
+ /* SHADOW */
37
+ --md-shadow-z1: ${h.shadows[1]};
38
+ --md-shadow-z2: ${h.shadows[2]};
39
+ --md-shadow-z3: ${h.shadows[3]};
40
+
41
+ /* EXTENSIONS */
42
+ --md-admonition-fg-color: var(--md-default-fg-color);
43
+ --md-admonition-bg-color: var(--md-default-bg-color);
44
+ /* Admonitions and others are using SVG masks to define icons. These masks are defined as CSS variables. */
45
+ --md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
46
+ --md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
47
+ --md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');
48
+ --md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
49
+ --md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
50
+ --md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');
51
+ --md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
52
+ --md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
53
+ --md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
54
+ --md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');
55
+ --md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');
56
+ --md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>');
57
+ --md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>');
58
+ --md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
59
+ --md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>');
60
+ --md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
61
+ --md-nav-icon--prev: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>');
62
+ --md-nav-icon--next: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
63
+ --md-toc-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>');
64
+ --md-clipboard-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1z"/></svg>');
65
+ --md-search-result-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5z"/></svg>');
66
+ --md-source-forks-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 2.122a2.25 2.25 0 1 0-1.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878zm3.75 7.378a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/></svg>');
67
+ --md-source-repositories-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 1 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 0 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 0 1 1-1h8zM5 12.25v3.25a.25.25 0 0 0 .4.2l1.45-1.087a.25.25 0 0 1 .3 0L8.6 15.7a.25.25 0 0 0 .4-.2v-3.25a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25z"/></svg>');
68
+ --md-source-stars-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.75.75 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694v.001z"/></svg>');
69
+ --md-source-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 0 1 .25-.25h5.025a.25.25 0 0 1 .177.073l6.25 6.25a.25.25 0 0 1 0 .354l-5.025 5.025a.25.25 0 0 1-.354 0l-6.25-6.25a.25.25 0 0 1-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775zM6 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>');
70
+ --md-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m310.6 246.6-127.1 128c-7.1 6.3-15.3 9.4-23.5 9.4s-16.38-3.125-22.63-9.375l-127.1-128C.224 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75s3.12 25.75-6.08 34.85z"/></svg>');
71
+ }
72
+
73
+ :host > * {
74
+ /* CODE */
75
+ --md-code-fg-color: ${h.palette.text.primary};
76
+ --md-code-bg-color: ${h.palette.background.paper};
77
+ --md-code-hl-color: ${(0,Pe.W4)(h.palette.warning.main,.5)};
78
+ --md-code-hl-keyword-color: ${h.palette.type==="dark"?h.palette.primary.light:h.palette.primary.dark};
79
+ --md-code-hl-function-color: ${h.palette.type==="dark"?h.palette.secondary.light:h.palette.secondary.dark};
80
+ --md-code-hl-string-color: ${h.palette.type==="dark"?h.palette.success.light:h.palette.success.dark};
81
+ --md-code-hl-number-color: ${h.palette.type==="dark"?h.palette.error.light:h.palette.error.dark};
82
+ --md-code-hl-constant-color: var(--md-code-hl-function-color);
83
+ --md-code-hl-special-color: var(--md-code-hl-function-color);
84
+ --md-code-hl-name-color: var(--md-code-fg-color);
85
+ --md-code-hl-comment-color: var(--md-default-fg-color--light);
86
+ --md-code-hl-generic-color: var(--md-default-fg-color--light);
87
+ --md-code-hl-variable-color: var(--md-default-fg-color--light);
88
+ --md-code-hl-operator-color: var(--md-default-fg-color--light);
89
+ --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
90
+
91
+ /* TYPESET */
92
+ --md-typeset-font-size: 1rem;
93
+ --md-typeset-color: var(--md-default-fg-color);
94
+ --md-typeset-a-color: ${h.palette.link};
95
+ --md-typeset-table-color: ${h.palette.text.primary};
96
+ --md-typeset-del-color: ${h.palette.type==="dark"?(0,Pe.W4)(h.palette.error.dark,.5):(0,Pe.W4)(h.palette.error.light,.5)};
97
+ --md-typeset-ins-color: ${h.palette.type==="dark"?(0,Pe.W4)(h.palette.success.dark,.5):(0,Pe.W4)(h.palette.success.light,.5)};
98
+ --md-typeset-mark-color: ${h.palette.type==="dark"?(0,Pe.W4)(h.palette.warning.dark,.5):(0,Pe.W4)(h.palette.warning.light,.5)};
99
+ }
100
+
101
+ @media screen and (max-width: 76.1875em) {
102
+ :host > * {
103
+ /* TYPESET */
104
+ --md-typeset-font-size: .9rem;
105
+ }
106
+ }
107
+
108
+ @media screen and (max-width: 600px) {
109
+ :host > * {
110
+ /* TYPESET */
111
+ --md-typeset-font-size: .7rem;
112
+ }
113
+ }
114
+ `,Nn=({theme:h})=>`
115
+ /*================== Reset ==================*/
116
+
117
+ body {
118
+ --md-text-color: var(--md-default-fg-color);
119
+ --md-text-link-color: var(--md-accent-fg-color);
120
+ --md-text-font-family: ${h.typography.fontFamily};
121
+ font-family: var(--md-text-font-family);
122
+ background-color: unset;
123
+ }
124
+ `;const rn="224px";var je=({theme:h,sidebar:R})=>`
125
+ /*================== Layout ==================*/
126
+
127
+ /* mkdocs material v9 compat */
128
+ .md-nav__title {
129
+ color: var(--md-default-fg-color);
130
+ }
131
+
132
+ .md-grid {
133
+ max-width: 100%;
134
+ margin: 0;
135
+ }
136
+
137
+ .md-nav {
138
+ font-size: calc(var(--md-typeset-font-size) * 0.9);
139
+ }
140
+ .md-nav__link {
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: space-between;
144
+ }
145
+ .md-nav__icon {
146
+ height: 20px !important;
147
+ width: 20px !important;
148
+ margin-left:${h.spacing(1)}px;
149
+ }
150
+ .md-nav__icon svg {
151
+ margin: 0;
152
+ width: 20px !important;
153
+ height: 20px !important;
154
+ }
155
+ .md-nav__icon:after {
156
+ width: 20px !important;
157
+ height: 20px !important;
158
+ }
159
+
160
+ .md-nav__item--active > .md-nav__link, a.md-nav__link--active {
161
+ text-decoration: underline;
162
+ color: var(--md-typeset-a-color);
163
+ }
164
+
165
+ .md-main__inner {
166
+ margin-top: 0;
167
+ }
168
+
169
+ .md-sidebar {
170
+ bottom: 75px;
171
+ position: fixed;
172
+ width: 16rem;
173
+ overflow-y: auto;
174
+ overflow-x: hidden;
175
+ scrollbar-color: rgb(193, 193, 193) #eee;
176
+ scrollbar-width: thin;
177
+ }
178
+ .md-sidebar .md-sidebar__scrollwrap {
179
+ width: calc(12.1rem);
180
+ }
181
+ .md-sidebar--secondary {
182
+ right: ${h.spacing(3)}px;
183
+ }
184
+ .md-sidebar::-webkit-scrollbar {
185
+ width: 5px;
186
+ }
187
+ .md-sidebar::-webkit-scrollbar-button {
188
+ width: 5px;
189
+ height: 5px;
190
+ }
191
+ .md-sidebar::-webkit-scrollbar-track {
192
+ background: #eee;
193
+ border: 1 px solid rgb(250, 250, 250);
194
+ box-shadow: 0px 0px 3px #dfdfdf inset;
195
+ border-radius: 3px;
196
+ }
197
+ .md-sidebar::-webkit-scrollbar-thumb {
198
+ width: 5px;
199
+ background: rgb(193, 193, 193);
200
+ border: transparent;
201
+ border-radius: 3px;
202
+ }
203
+ .md-sidebar::-webkit-scrollbar-thumb:hover {
204
+ background: rgb(125, 125, 125);
205
+ }
206
+
207
+ .md-content {
208
+ max-width: calc(100% - 16rem * 2);
209
+ margin-left: 16rem;
210
+ margin-bottom: 50px;
211
+ }
212
+
213
+ .md-footer {
214
+ position: fixed;
215
+ bottom: 0px;
216
+ pointer-events: none;
217
+ }
218
+
219
+ .md-footer-nav__link, .md-footer__link {
220
+ pointer-events: all;
221
+ }
222
+
223
+ .md-footer__title {
224
+ background-color: unset;
225
+ }
226
+ .md-footer-nav__link, .md-footer__link {
227
+ width: 16rem;
228
+ }
229
+
230
+ .md-dialog {
231
+ background-color: unset;
232
+ }
233
+
234
+ @media screen and (min-width: 76.25em) {
235
+ .md-sidebar {
236
+ height: auto;
237
+ }
238
+ }
239
+
240
+ @media screen and (max-width: 76.1875em) {
241
+ .md-nav {
242
+ transition: none !important;
243
+ background-color: var(--md-default-bg-color)
244
+ }
245
+ .md-nav--primary .md-nav__title {
246
+ cursor: auto;
247
+ color: var(--md-default-fg-color);
248
+ font-weight: 700;
249
+ white-space: normal;
250
+ line-height: 1rem;
251
+ height: auto;
252
+ display: flex;
253
+ flex-flow: column;
254
+ row-gap: 1.6rem;
255
+ padding: 1.2rem .8rem .8rem;
256
+ background-color: var(--md-default-bg-color);
257
+ }
258
+ .md-nav--primary .md-nav__title~.md-nav__list {
259
+ box-shadow: none;
260
+ }
261
+ .md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {
262
+ border-top: none;
263
+ }
264
+ .md-nav--primary .md-nav__title .md-nav__button {
265
+ display: none;
266
+ }
267
+ .md-nav--primary .md-nav__title .md-nav__icon {
268
+ color: var(--md-default-fg-color);
269
+ position: static;
270
+ height: auto;
271
+ margin: 0 0 0 -0.2rem;
272
+ }
273
+ .md-nav--primary > .md-nav__title [for="none"] {
274
+ padding-top: 0;
275
+ }
276
+ .md-nav--primary .md-nav__item {
277
+ border-top: none;
278
+ }
279
+ .md-nav--primary :is(.md-nav__title,.md-nav__item) {
280
+ font-size : var(--md-typeset-font-size);
281
+ }
282
+ .md-nav .md-source {
283
+ display: none;
284
+ }
285
+
286
+ .md-sidebar {
287
+ height: 100%;
288
+ }
289
+ .md-sidebar--primary {
290
+ width: 12.1rem !important;
291
+ z-index: 200;
292
+ left: ${R.isPinned?`calc(-12.1rem + ${rn})`:"calc(-12.1rem + 72px)"} !important;
293
+ }
294
+ .md-sidebar--secondary:not([hidden]) {
295
+ display: none;
296
+ }
297
+
298
+ .md-content {
299
+ max-width: 100%;
300
+ margin-left: 0;
301
+ }
302
+
303
+ .md-header__button {
304
+ margin: 0.4rem 0;
305
+ margin-left: 0.4rem;
306
+ padding: 0;
307
+ }
308
+
309
+ .md-overlay {
310
+ left: 0;
311
+ }
312
+
313
+ .md-footer {
314
+ position: static;
315
+ padding-left: 0;
316
+ }
317
+ .md-footer-nav__link {
318
+ /* footer links begin to overlap at small sizes without setting width */
319
+ width: 50%;
320
+ }
321
+ }
322
+
323
+ @media screen and (max-width: 600px) {
324
+ .md-sidebar--primary {
325
+ left: -12.1rem !important;
326
+ width: 12.1rem;
327
+ }
328
+ }
329
+
330
+
331
+ @media print {
332
+ .md-sidebar,
333
+ #toggle-sidebar {
334
+ display: none;
335
+ }
336
+
337
+ .md-content {
338
+ margin: 0;
339
+ width: 100%;
340
+ max-width: 100%;
341
+ }
342
+ }
343
+ `;const So=["h1","h2","h3","h4","h5","h6"];var qe=({theme:h})=>`
344
+ /*================== Typeset ==================*/
345
+
346
+ .md-typeset {
347
+ font-size: var(--md-typeset-font-size);
348
+ }
349
+
350
+ ${So.reduce((R,U)=>{var $;const Y=($=h.typography.htmlFontSize)!==null&&$!==void 0?$:16,_=h.typography[U],{lineHeight:dt,fontFamily:bt,fontWeight:Lt,fontSize:Ut}=_,Zt=Ft=>{let It=1;return typeof Ft=="number"&&(It=Ft/Y*.6),typeof Ft=="string"&&(It=Ft.replace("rem","")),`calc(${It} * var(--md-typeset-font-size))`};return R.concat(`
351
+ .md-typeset ${U} {
352
+ color: var(--md-default-fg-color);
353
+ line-height: ${dt};
354
+ font-family: ${bt};
355
+ font-weight: ${Lt};
356
+ font-size: ${Zt(Ut)};
357
+ }
358
+ `)},"")}
359
+
360
+ .md-typeset .md-content__button {
361
+ color: var(--md-default-fg-color);
362
+ }
363
+
364
+ .md-typeset hr {
365
+ border-bottom: 0.05rem dotted ${h.palette.divider};
366
+ }
367
+
368
+ .md-typeset details {
369
+ font-size: var(--md-typeset-font-size) !important;
370
+ }
371
+ .md-typeset details summary {
372
+ padding-left: 2.5rem !important;
373
+ }
374
+ .md-typeset details summary:before,
375
+ .md-typeset details summary:after {
376
+ top: 50% !important;
377
+ width: 20px !important;
378
+ height: 20px !important;
379
+ transform: rotate(0deg) translateY(-50%) !important;
380
+ }
381
+ .md-typeset details[open] > summary:after {
382
+ transform: rotate(90deg) translateX(-50%) !important;
383
+ }
384
+
385
+ .md-typeset blockquote {
386
+ color: var(--md-default-fg-color--light);
387
+ border-left: 0.2rem solid var(--md-default-fg-color--light);
388
+ }
389
+
390
+ .md-typeset table:not([class]) {
391
+ font-size: var(--md-typeset-font-size);
392
+ border: 1px solid var(--md-default-fg-color);
393
+ border-bottom: none;
394
+ border-collapse: collapse;
395
+ }
396
+ .md-typeset table:not([class]) th {
397
+ font-weight: bold;
398
+ }
399
+ .md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
400
+ border-bottom: 1px solid var(--md-default-fg-color);
401
+ }
402
+
403
+ .md-typeset pre > code::-webkit-scrollbar-thumb {
404
+ background-color: hsla(0, 0%, 0%, 0.32);
405
+ }
406
+ .md-typeset pre > code::-webkit-scrollbar-thumb:hover {
407
+ background-color: hsla(0, 0%, 0%, 0.87);
408
+ }
409
+
410
+ .md-typeset code {
411
+ word-break: keep-all;
412
+ }
413
+ `,bo=()=>`
414
+ /*================== Animations ==================*/
415
+ /*
416
+ Disable CSS animations on link colors as they lead to issues in dark mode.
417
+ The dark mode color theme is applied later and theirfore there is always an animation from light to dark mode when navigation between pages.
418
+ */
419
+ .md-dialog, .md-nav__link, .md-footer__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
420
+ transition: none;
421
+ }
422
+ `,Kn=({theme:h})=>`
423
+ /*================== Extensions ==================*/
424
+
425
+ /* HIGHLIGHT */
426
+ .highlight .md-clipboard:after {
427
+ content: unset;
428
+ }
429
+
430
+ .highlight .nx {
431
+ color: ${h.palette.type==="dark"?"#ff53a3":"#ec407a"};
432
+ }
433
+
434
+ /* CODE HILITE */
435
+ .codehilite .gd {
436
+ background-color: ${h.palette.type==="dark"?"rgba(248,81,73,0.65)":"#fdd"};
437
+ }
438
+
439
+ .codehilite .gi {
440
+ background-color: ${h.palette.type==="dark"?"rgba(46,160,67,0.65)":"#dfd"};
441
+ }
442
+
443
+ /* TABBED */
444
+ .tabbed-set>input:nth-child(1):checked~.tabbed-labels>:nth-child(1),
445
+ .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),
446
+ .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),
447
+ .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),
448
+ .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),
449
+ .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),
450
+ .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),
451
+ .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),
452
+ .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),
453
+ .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),
454
+ .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),
455
+ .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),
456
+ .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),
457
+ .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),
458
+ .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),
459
+ .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),
460
+ .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),
461
+ .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),
462
+ .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),
463
+ .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) {
464
+ color: var(--md-accent-fg-color);
465
+ border-color: var(--md-accent-fg-color);
466
+ }
467
+
468
+ /* TASK-LIST */
469
+ .task-list-control .task-list-indicator::before {
470
+ background-color: ${h.palette.action.disabledBackground};
471
+ }
472
+ .task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
473
+ background-color: ${h.palette.success.main};
474
+ }
475
+
476
+ /* ADMONITION */
477
+ .admonition {
478
+ font-size: var(--md-typeset-font-size) !important;
479
+ }
480
+ .admonition .admonition-title {
481
+ padding-left: 2.5rem !important;
482
+ }
483
+
484
+ .admonition .admonition-title:before {
485
+ top: 50% !important;
486
+ width: 20px !important;
487
+ height: 20px !important;
488
+ transform: translateY(-50%) !important;
489
+ }
490
+ `;const Oo=[kn,Nn,je,qe,bo,Kn],Yt=()=>(0,Ao.Ur)(),tn=()=>{const h=Yt(),R=(0,gt.c)();return(0,i.useMemo)(()=>{const U={theme:R,sidebar:h};return Oo.reduce(($,Y)=>$+Y(U),"")},[R,h])},dn=()=>{const h=tn();return(0,i.useCallback)(R=>(R.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${h}</style>`),R),[h])},zn=async(h,R)=>{let U;if(typeof h=="string")U=new DOMParser().parseFromString(h,"text/html").documentElement;else if(h instanceof Element)U=h;else throw new Error("dom is not a recognized type");for(const $ of R)U=await $(U);return U},wo=(h,R,U)=>{const $=h==="src"&&R.endsWith(".svg"),Y=!R.match(/^([a-z]*:)?\/\//i),_=R.startsWith(U);return $&&(Y||_)},Po=({techdocsStorageApi:h,entityId:R,path:U})=>async $=>{const Y=await h.getApiOrigin(),_=async(dt,bt)=>{for(const Lt of dt)if(Lt.hasAttribute(bt)){const Ut=Lt.getAttribute(bt);if(!Ut)return;const Zt=await h.getBaseUrl(Ut,R,U);if(wo(bt,Ut,Y))try{const It=await(await fetch(Zt,{credentials:"include"})).text();Lt.setAttribute(bt,`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(It)))}`)}catch{Lt.setAttribute("alt",`Error: ${Ut}`)}else Lt.setAttribute(bt,Zt)}};return await Promise.all([_($.querySelectorAll("img"),"src"),_($.querySelectorAll("script"),"src"),_($.querySelectorAll("source"),"src"),_($.querySelectorAll("link"),"href"),_($.querySelectorAll("a[download]"),"href")]),$},To=()=>h=>(((U,$)=>{Array.from(U).filter(Y=>Y.hasAttribute($)).forEach(Y=>{const _=Y.getAttribute($);if(_){_.match(/^https?:\/\//i)&&Y.setAttribute("target","_blank");try{const dt=xn(window.location.href);Y.setAttribute($,new URL(_,dt).toString())}catch{Y.replaceWith(Y.textContent||_)}}})})(Array.from(h.getElementsByTagName("a")),"href"),h);function xn(h){const R=new URL(h);return!R.pathname.endsWith("/")&&!R.pathname.endsWith(".html")&&(R.pathname+="/"),R.toString()}var Ro=t(14444);let Cn;Cn=Promise.resolve().then(t.t.bind(t,31032,19));function An(h,R){Cn.then(U=>{"createRoot"in U?U.createRoot(R).render(h):U.render(h,R)})}const Hn=()=>h=>{const R=h.querySelector('.md-header label[for="__drawer"]'),U=h.querySelector("article");if(!R||!U)return h;const $=R.cloneNode();return An(i.createElement(Ro.c),$),$.id="toggle-sidebar",$.title="Toggle Sidebar",$.classList.add("md-content__button"),$.style.setProperty("padding","0 0 0 5px"),$.style.setProperty("margin","0.4rem 0 0.4rem 0.4rem"),U==null||U.prepend($),h},Io=()=>h=>{var R;return(R=h.querySelector(".md-header"))===null||R===void 0||R.remove(),h},Do=()=>h=>{var R,U;return(R=h.querySelector(".md-footer .md-copyright"))===null||R===void 0||R.remove(),(U=h.querySelector(".md-footer-copyright"))===null||U===void 0||U.remove(),h};var Lo=t(64944),Mo=t(51952),jo=t(18480),Bo=t.n(jo);const Uo=h=>R=>{var U;const $=R.querySelector('[title="Edit this page"]');if(!$||!$.href)return R;const Y=new URL($.href),_=h.byUrl(Y);if((_==null?void 0:_.type)!=="github"&&(_==null?void 0:_.type)!=="gitlab")return R;const dt=((U=R.querySelector("article>h1"))===null||U===void 0?void 0:U.childNodes[0].textContent)||"",bt=encodeURIComponent(`Documentation Feedback: ${dt}`),Lt=encodeURIComponent(`Page source:
491
+ ${$.href}
492
+
493
+ Feedback:`),Ut=(_==null?void 0:_.type)==="github"?(0,Lo.i)(Y.href,"blob"):Y.href,Zt=Bo()(Ut),Ft=`/${Zt.organization}/${Zt.name}`,It=$.cloneNode();switch(_==null?void 0:_.type){case"gitlab":It.href=`${Y.origin}${Ft}/issues/new?issue[title]=${bt}&issue[description]=${Lt}`;break;case"github":It.href=`${Y.origin}${Ft}/issues/new?title=${bt}&body=${Lt}`;break;default:return R}return An(i.createElement(Mo.c),It),It.style.paddingLeft="5px",It.title="Leave feedback for this page",It.id="git-feedback-link",$==null||$.insertAdjacentElement("beforebegin",It),R},Gn=()=>h=>(setTimeout(()=>{const R=h==null?void 0:h.querySelectorAll("li.md-nav__item--active");R.length!==0&&(R.forEach($=>{const Y=$==null?void 0:$.querySelector("input");Y!=null&&Y.checked||Y==null||Y.click()}),R[R.length-1].scrollIntoView())},200),h);var Fo=t(2304),$o=t(87648),Vn=t(29384),Qn=t(65284),Wo=t(66860);const Sn=(0,Fo.c)(h=>({tooltip:{fontSize:"inherit",color:h.palette.text.primary,margin:0,padding:h.spacing(.5),backgroundColor:"transparent",boxShadow:"none"}}))($o.cp),bn=()=>(0,o.jsx)(Vn.c,{children:(0,o.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})}),ko=({text:h})=>{const[R,U]=(0,i.useState)(!1),[,$]=(0,Wo.c)(),Y=(0,i.useCallback)(()=>{$(h),U(!0)},[h,$]),_=(0,i.useCallback)(()=>{U(!1)},[U]);return(0,o.jsx)(Sn,{title:"Copied to clipboard",placement:"left",open:R,onClose:_,leaveDelay:1e3,children:(0,o.jsx)(pt.c,{style:{color:"inherit"},className:"md-clipboard md-icon",onClick:Y,children:(0,o.jsx)(bn,{})})})},Yn=h=>R=>{const U=R.querySelectorAll("pre > code");for(const Y of U){var $;const _=Y.textContent||"",dt=document.createElement("div");Y==null||($=Y.parentElement)===null||$===void 0||$.prepend(dt),An((0,o.jsx)(Qn.c,{theme:h,children:(0,o.jsx)(ko,{text:_})}),dt)}return R},Zn=({baseUrl:h,onClick:R})=>U=>(Array.from(U.getElementsByTagName("a")).forEach($=>{$.addEventListener("click",Y=>{const dt=$.getAttribute("href");dt&&dt.startsWith(h)&&!$.hasAttribute("download")&&(Y.preventDefault(),R(Y,dt))})}),U),Jn=({onLoading:h,onLoaded:R})=>U=>(h(),U.addEventListener(E,function $(){R(),U.removeEventListener(E,$)}),U);function No(h,R){const U=new URL(R),$=`${U.origin}${U.pathname.replace(/\/$/,"")}`,Y=h.replace($,"").replace(/^\/+/,""),_=new URL(`http://localhost/${Y}`);return`${_.pathname}${_.search}${_.hash}`}function Ko(){const h=(0,Vt.i6)(),U=(0,N.yk)(it.c).getOptionalString("app.baseUrl");return(0,i.useCallback)(Y=>{let _=Y;if(U)try{_=No(Y,U)}catch{}h(_)},[h,U])}const zo="screen and (max-width: 76.1875em)",Ho=h=>{const R=Ko(),U=(0,gt.c)(),$=(0,et.c)(zo),Y=Wn(),_=dn(),dt=(0,J.S)(),bt=(0,N.yk)(Ue.E),Lt=(0,N.yk)(Tt.u),{state:Ut,path:Zt,content:Ft}=He(),[It,ae]=(0,i.useState)(null),me=v(It),Jt=(0,i.useCallback)(()=>{if(!It)return;It.querySelectorAll(".md-sidebar").forEach(zt=>{if($)zt.style.top="0px";else{var qt;const he=(qt=document)===null||qt===void 0?void 0:qt.querySelector(".techdocs-reader-page");var Te;const Fe=(Te=he==null?void 0:he.getBoundingClientRect().top)!==null&&Te!==void 0?Te:0;var Re;let oe=(Re=It.getBoundingClientRect().top)!==null&&Re!==void 0?Re:0;const Pn=It.querySelector(".md-container > .md-tabs");var Ke;const Tn=(Ke=Pn==null?void 0:Pn.getBoundingClientRect().height)!==null&&Ke!==void 0?Ke:0;oe<Fe&&(oe=Fe),zt.style.top=`${Math.max(oe,0)+Tn}px`}zt.style.setProperty("opacity","1")})},[It,$]);(0,i.useEffect)(()=>(window.addEventListener("resize",Jt),window.addEventListener("scroll",Jt,!0),()=>{window.removeEventListener("resize",Jt),window.removeEventListener("scroll",Jt,!0)}),[It,Jt]);const Wt=(0,i.useCallback)(()=>{if(!It)return;const Pt=It.querySelector(".md-footer");Pt&&(Pt.style.width=`${It.getBoundingClientRect().width}px`)},[It]);(0,i.useEffect)(()=>(window.addEventListener("resize",Wt),()=>{window.removeEventListener("resize",Wt)}),[It,Wt]),(0,i.useEffect)(()=>{me||(Wt(),Jt())},[Ut,me,Wt,Jt]);const re=(0,i.useCallback)((Pt,zt)=>zn(Pt,[Y,Po({techdocsStorageApi:bt,entityId:h,path:zt}),To(),Hn(),Io(),Do(),Uo(Lt),_]),[h,Lt,bt,Y,_]),ye=(0,i.useCallback)(async Pt=>zn(Pt,[Gn(),Yn(U),Zn({baseUrl:window.location.origin,onClick:(zt,qt)=>{var Te;const Re=zt.ctrlKey||zt.metaKey,Ke=new URL(qt),he=((Te=zt.target)===null||Te===void 0?void 0:Te.innerText)||qt,Fe=qt.replace(window.location.origin,"");if(dt.captureEvent("click",he,{attributes:{to:Fe}}),Ke.hash)if(Re)window.open(qt,"_blank");else{var oe;R(qt),Pt==null||(oe=Pt.querySelector(`[id="${Ke.hash.slice(1)}"]`))===null||oe===void 0||oe.scrollIntoView()}else Re?window.open(qt,"_blank"):R(qt)}}),Jn({onLoading:()=>{},onLoaded:()=>{var zt;(zt=Pt.querySelector(".md-nav__title"))===null||zt===void 0||zt.removeAttribute("for")}}),Jn({onLoading:()=>{Array.from(Pt.querySelectorAll(".md-sidebar")).forEach(qt=>{qt.style.setProperty("opacity","0")})},onLoaded:()=>{}})]),[U,R,dt]);return(0,i.useEffect)(()=>{if(!Ft)return()=>{};let Pt=!0;return re(Ft,Zt).then(async zt=>{if(!(zt!=null&&zt.innerHTML)||!Pt)return;window.scroll({top:0});const qt=await ye(zt);ae(qt)}),()=>{Pt=!1}},[Ft,Zt,re,ye]),It};var On=t(59032),Go=t(21016),wn=t(70124);const Xn=()=>{const h=(0,Go.K6)(),{shadowRoot:R}=(0,m.O)(),U=R==null?void 0:R.querySelector('[data-md-component="content"]'),$=R==null?void 0:R.querySelector('div[data-md-component="sidebar"][data-md-type="navigation"], div[data-md-component="navigation"]');let Y=$==null?void 0:$.querySelector('[data-techdocs-addons-location="primary sidebar"]');Y||(Y=document.createElement("div"),Y.setAttribute("data-techdocs-addons-location","primary sidebar"),$==null||$.prepend(Y));const _=R==null?void 0:R.querySelector('div[data-md-component="sidebar"][data-md-type="toc"], div[data-md-component="toc"]');let dt=_==null?void 0:_.querySelector('[data-techdocs-addons-location="secondary sidebar"]');return dt||(dt=document.createElement("div"),dt.setAttribute("data-techdocs-addons-location","secondary sidebar"),_==null||_.prepend(dt)),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(On.c,{container:Y,children:h.renderComponentsByLocation(wn.u.PrimarySidebar)}),(0,o.jsx)(On.c,{container:U,children:h.renderComponentsByLocation(wn.u.Content)}),(0,o.jsx)(On.c,{container:dt,children:h.renderComponentsByLocation(wn.u.SecondarySidebar)})]})},_n=(0,u.c)({search:{width:"100%","@media (min-width: 76.1875em)":{width:"calc(100% - 34.4rem)",margin:"0 auto"},"@media print":{display:"none"}}}),Rt=p(h=>{var R;const{withSearch:U=!0,onReady:$}=h,Y=_n(),{entityMetadata:{value:_,loading:dt},entityRef:bt,setShadowRoot:Lt}=(0,m.O)(),Ut=Ho(bt),Zt=window.location.pathname,Ft=window.location.hash,It=v(Ut),[ae]=P([`[id="${Ft.slice(1)}"]`]);(0,i.useEffect)(()=>{if(!It)if(Ft)ae&&ae.scrollIntoView();else{var Jt,Wt;(Wt=document)===null||Wt===void 0||(Jt=Wt.querySelector("header"))===null||Jt===void 0||Jt.scrollIntoView()}},[Zt,Ft,ae,It]);const me=(0,i.useCallback)(Jt=>{Lt(Jt),$ instanceof Function&&$()},[Lt,$]);return dt===!1&&!_?(0,o.jsx)(M.a,{status:"404",statusMessage:"PAGE NOT FOUND"}):Ut?(0,o.jsx)(b.k,{children:(0,o.jsxs)(A.c,{container:!0,children:[(0,o.jsx)(A.c,{xs:12,item:!0,children:(0,o.jsx)(F,{})}),U&&(0,o.jsx)(A.c,{className:Y.search,xs:"auto",item:!0,children:(0,o.jsx)(Xt,{entityId:bt,entityTitle:_==null||(R=_.metadata)===null||R===void 0?void 0:R.title})}),(0,o.jsx)(A.c,{xs:12,item:!0,children:(0,o.jsx)(O,{element:Ut,onAppend:me,children:(0,o.jsx)(Xn,{})})})]})}):(0,o.jsx)(b.k,{children:(0,o.jsx)(A.c,{container:!0,children:(0,o.jsx)(A.c,{xs:12,item:!0,children:(0,o.jsx)(F,{})})})})}),ue=null},88616:function(Z,T,t){"use strict";t.d(T,{K:function(){return it}});var o=t(77e3),i=t(85668),u=t(5475),A=t(19947),m=t(22280),f=t(76048),c=t(3600),d=t(21016),C=t(34704),E=t(70124),w=t(21148),v=t(5675),O=t(22616),g=t(89576),I=t(40476),P=t(87984),y=t(94700),D=t(38280);const M=(0,I.c)(yt=>({root:{textAlign:"left"},label:{color:yt.page.fontColor,fontWeight:yt.typography.fontWeightBold,letterSpacing:0,fontSize:yt.typography.fontSize,marginBottom:yt.spacing(1)/2,lineHeight:1},value:{color:(0,P.W4)(yt.page.fontColor,.8),fontSize:yt.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),b=({value:yt,className:ft,typographyRootComponent:wt})=>(0,o.jsx)(y.c,{component:wt!=null?wt:typeof yt=="string"?"p":"span",className:ft,children:yt});function H(yt){const{label:ft,value:wt,url:ct,contentTypograpyRootComponent:xt}=yt,at=M(),V=(0,o.jsx)(b,{className:at.value,value:wt||"<Unknown>",typographyRootComponent:xt});return(0,o.jsx)(A.c,{item:!0,children:(0,o.jsxs)(y.c,{component:"span",className:at.root,children:[(0,o.jsx)(y.c,{className:at.label,children:ft}),ct?(0,o.jsx)(D.cH,{to:ct,children:V}):V]})})}var Q=t(52844),q=t(15940),z=t(36336),k=t(98832),N=t(67928),J=t(94388);const nt=(0,o.jsx)(m.c,{animation:"wave",variant:"text",height:40}),it=yt=>{const{palette:{common:{white:ft}}}=(0,f.c)(),{children:wt}=yt,ct=(0,d.K6)(),xt=(0,q.yk)(z.c),{title:at,setTitle:V,subtitle:st,setSubtitle:Ct,entityRef:St,metadata:{value:At,loading:ht},entityMetadata:{value:lt,loading:pt}}=(0,C.O)();(0,i.useEffect)(()=>{At&&(V(At.site_name),Ct(()=>{let{site_description:Dt}=At;return(!Dt||Dt==="None")&&(Dt=""),Dt}))},[At,V,Ct]);const G=xt.getOptional("app.title")||"Backstage",K=[at,st,G].filter(Boolean).join(" | "),{locationMetadata:tt,spec:rt}=lt||{},vt=rt==null?void 0:rt.lifecycle,mt=lt?(0,w.q)(lt,g.ag):[],jt=(0,k.M)(J.sv)(),Kt=(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(H,{label:(0,N.capitalize)((lt==null?void 0:lt.kind)||"entity"),value:(0,o.jsx)(v.E,{color:"inherit",entityRef:St,title:lt==null?void 0:lt.metadata.title,defaultKind:"Component"})}),mt.length>0&&(0,o.jsx)(H,{label:"Owner",value:(0,o.jsx)(O.a,{color:"inherit",entityRefs:mt,defaultKind:"group"})}),vt?(0,o.jsx)(H,{label:"Lifecycle",value:String(vt)}):null,tt&&tt.type!=="dir"&&tt.type!=="file"?(0,o.jsx)(H,{label:"",value:(0,o.jsxs)(A.c,{container:!0,direction:"column",alignItems:"center",style:{color:ft},children:[(0,o.jsx)(A.c,{style:{padding:0},item:!0,children:(0,o.jsx)(c.c,{style:{marginTop:"-25px"}})}),(0,o.jsx)(A.c,{style:{padding:0},item:!0,children:"Source"})]}),url:tt.target}):null]});return!pt&&lt===void 0||!ht&&At===void 0?null:(0,o.jsxs)(Q.e,{type:"Documentation",typeLink:jt,title:at||nt,subtitle:st===""?void 0:st||nt,children:[(0,o.jsx)(u.c,{titleTemplate:"%s",children:(0,o.jsx)("title",{children:K})}),Kt,wt,ct.renderComponentsByLocation(E.u.Header)]})}},94388:function(Z,T,t){"use strict";t.d(T,{GK:function(){return A},sv:function(){return i},uE:function(){return u}});var o=t(8256);const i=(0,o.C)({id:"techdocs:index-page"}),u=(0,o.C)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),A=(0,o.C)({id:"techdocs:catalog-reader-view"})},35184:function(Z,T,t){"use strict";t.r(T),t.d(T,{TechDocsSearchResultListItem:function(){return E}});var o=t(77e3),i=t(85668),u=t(40476),A=t(46444),m=t(62579),f=t(94700),c=t(38280),d=t(45776);const C=(0,u.c)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),E=w=>{const{result:v,highlight:O,lineClamp:g=5,asListItem:I=!0,asLink:P=!0,title:y,icon:D}=w,M=C(),b=({children:q})=>P?(0,o.jsx)(c.cH,{noTrack:!0,to:v.location,children:q}):(0,o.jsx)(o.Fragment,{children:q}),H=()=>{const q=O!=null&&O.fields.title?(0,o.jsx)(d.e,{text:O.fields.title,preTag:O.preTag,postTag:O.postTag}):v.title,z=O!=null&&O.fields.entityTitle?(0,o.jsx)(d.e,{text:O.fields.entityTitle,preTag:O.preTag,postTag:O.postTag}):v.entityTitle,k=O!=null&&O.fields.name?(0,o.jsx)(d.e,{text:O.fields.name,preTag:O.preTag,postTag:O.postTag}):v.name;return v?(0,o.jsx)(A.c,{className:M.itemText,primaryTypographyProps:{variant:"h6"},primary:(0,o.jsx)(b,{children:y||(0,o.jsxs)(o.Fragment,{children:[q," | ",z!=null?z:k," docs"]})}),secondary:(0,o.jsx)(f.c,{component:"span",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:g,overflow:"hidden"},color:"textSecondary",variant:"body2",children:O!=null&&O.fields.text?(0,o.jsx)(d.e,{text:O.fields.text,preTag:O.preTag,postTag:O.postTag}):v.text})}):null},Q=({children:q})=>I?(0,o.jsxs)(o.Fragment,{children:[D&&(0,o.jsx)(m.c,{children:typeof D=="function"?D(v):D}),(0,o.jsx)("div",{className:M.flexContainer,children:q})]}):(0,o.jsx)(o.Fragment,{children:q});return(0,o.jsx)(Q,{children:(0,o.jsx)(H,{})})}},28308:function(){}},function(Z){var T=function(o){return Z(Z.s=o)};Z.O(0,[6652,7796,6436,872,6101,1040,2380,1224,2736,1968],function(){return T(37840)});var t=Z.O()}]);})();
494
+
495
+ //# sourceMappingURL=main.fe153bbe.js.map