@techdocs/cli 0.8.12-next.1 → 0.8.14
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.
- package/CHANGELOG.md +44 -5
- package/README.md +6 -6
- package/dist/cjs/serve-be4ef843.cjs.js +144 -0
- package/dist/cjs/serve-be4ef843.cjs.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/.config-schema.json +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/android-chrome-192x192.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/apple-touch-icon.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon-16x16.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon-32x32.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon.ico +0 -0
- package/dist/embedded-app/index.html +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/manifest.json +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/robots.txt +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/safari-pinned-tab.svg +0 -0
- package/dist/embedded-app/static/1553.fa9923dc.chunk.js +3 -0
- package/dist/embedded-app/static/1553.fa9923dc.chunk.js.map +1 -0
- package/dist/embedded-app/static/1959.8e2ecef7.chunk.js +8 -0
- package/dist/embedded-app/static/1959.8e2ecef7.chunk.js.map +1 -0
- package/dist/embedded-app/static/2426.d0d6bb5f.chunk.js +3 -0
- package/dist/embedded-app/static/2426.d0d6bb5f.chunk.js.map +1 -0
- package/dist/embedded-app/static/3825.b0488503.chunk.js +3 -0
- package/dist/embedded-app/static/3825.b0488503.chunk.js.map +1 -0
- package/dist/embedded-app/static/390.97c3e130.chunk.js +3 -0
- package/dist/embedded-app/static/390.97c3e130.chunk.js.map +1 -0
- package/dist/embedded-app/static/4022.e2c5dac7.chunk.js +3 -0
- package/dist/embedded-app/static/4022.e2c5dac7.chunk.js.map +1 -0
- package/dist/embedded-app/static/5011.c8e98520.chunk.js +3 -0
- package/dist/embedded-app/static/5011.c8e98520.chunk.js.map +1 -0
- package/dist/embedded-app/static/6105.1f3a3239.chunk.js +3 -0
- package/dist/embedded-app/static/6105.1f3a3239.chunk.js.map +1 -0
- package/dist/embedded-app/static/6235.8b138ebd.chunk.js +3 -0
- package/dist/embedded-app/static/6235.8b138ebd.chunk.js.map +1 -0
- package/dist/embedded-app/static/6650.7b3bb14a.chunk.js +3 -0
- package/dist/embedded-app/static/6650.7b3bb14a.chunk.js.map +1 -0
- package/dist/embedded-app/static/7758.2b30237f.chunk.js +3 -0
- package/dist/embedded-app/static/7758.2b30237f.chunk.js.map +1 -0
- package/dist/embedded-app/static/8061.a42aa0fc.chunk.js +3 -0
- package/dist/embedded-app/static/8061.a42aa0fc.chunk.js.map +1 -0
- package/dist/embedded-app/static/8718.34386313.chunk.js +4 -0
- package/dist/embedded-app/static/8718.34386313.chunk.js.map +1 -0
- package/dist/embedded-app/static/8792.38f45fc1.chunk.js +3 -0
- package/dist/embedded-app/static/8792.38f45fc1.chunk.js.map +1 -0
- package/dist/embedded-app/static/9028.8bd42f34.chunk.js +3 -0
- package/dist/embedded-app/static/9028.8bd42f34.chunk.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/createComponent.975d1e1e..svg +0 -0
- package/dist/embedded-app/static/main.c2217354.js +173 -0
- package/dist/embedded-app/static/main.c2217354.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/mic-drop.fe3ef4d0..svg +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/missingAnnotation.67f79e98..svg +0 -0
- package/dist/embedded-app/static/module-ajv.ed51f4b8.js +10 -0
- package/dist/embedded-app/static/module-ajv.ed51f4b8.js.map +1 -0
- package/dist/embedded-app/static/module-date-fns.a08d117e.js +3 -0
- package/dist/embedded-app/static/module-date-fns.a08d117e.js.map +1 -0
- package/dist/embedded-app/static/module-lodash.055be129.js +29 -0
- package/dist/embedded-app/static/module-lodash.055be129.js.map +1 -0
- package/dist/embedded-app/static/module-material-table.a73fb7f5.js +3 -0
- package/dist/embedded-app/static/module-material-table.a73fb7f5.js.map +1 -0
- package/dist/embedded-app/static/module-material-ui.c5231eb9.js +51 -0
- package/dist/embedded-app/static/module-material-ui.c5231eb9.js.map +1 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js +67 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js.map +1 -0
- package/dist/embedded-app/static/module-react-dom.a4f98d7b.js +25 -0
- package/dist/embedded-app/static/module-react-dom.a4f98d7b.js.map +1 -0
- package/dist/embedded-app/static/module-yaml.57b26e04.js +151 -0
- package/dist/embedded-app/static/module-yaml.57b26e04.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/noBuild.1715fa71..svg +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/noInformation.4b426325..svg +0 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js +6 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js.map +1 -0
- package/dist/embedded-app/static/runtime.c2217354.js +4 -0
- package/dist/embedded-app/static/runtime.c2217354.js.map +1 -0
- package/dist/embedded-app/static/vendor.c2217354.js +140 -0
- package/dist/embedded-app/static/vendor.c2217354.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/package.json +18 -13
- package/dist/cjs/serve-639872a5.cjs.js +0 -131
- package/dist/cjs/serve-639872a5.cjs.js.map +0 -1
- package/dist/techdocs-preview-bundle/index.html +0 -1
- package/dist/techdocs-preview-bundle/static/1110.b234ba69.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/1110.b234ba69.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/1553.0fa45296.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/1553.0fa45296.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/1959.b2315080.chunk.js +0 -8
- package/dist/techdocs-preview-bundle/static/1959.b2315080.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/2426.e436d3cc.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/2426.e436d3cc.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/3825.0c6049c9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/3825.0c6049c9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/390.477387a1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/390.477387a1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/4022.5ff535ec.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/4022.5ff535ec.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/4960.eeac5978.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/4960.eeac5978.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6105.469318a2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6105.469318a2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6235.4e2fe119.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6235.4e2fe119.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6650.db09fdb2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6650.db09fdb2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8061.7ae8759a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/8061.7ae8759a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8718.c2b73d89.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/8718.c2b73d89.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8792.e8f9d108.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/8792.e8f9d108.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/9028.f7aeead0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/9028.f7aeead0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/illo.7884c54f..svg +0 -1
- package/dist/techdocs-preview-bundle/static/main.b4305a7b.js +0 -152
- package/dist/techdocs-preview-bundle/static/main.b4305a7b.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js +0 -10
- package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js +0 -3
- package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js +0 -29
- package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-material-table.6251c462.js +0 -3
- package/dist/techdocs-preview-bundle/static/module-material-table.6251c462.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-material-ui.1332c429.js +0 -51
- package/dist/techdocs-preview-bundle/static/module-material-ui.1332c429.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.c96d1412.js +0 -67
- package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.c96d1412.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-react-dom.9dda0392.js +0 -25
- package/dist/techdocs-preview-bundle/static/module-react-dom.9dda0392.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js +0 -6
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/runtime.b4305a7b.js +0 -4
- package/dist/techdocs-preview-bundle/static/runtime.b4305a7b.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/vendor.b4305a7b.js +0 -142
- package/dist/techdocs-preview-bundle/static/vendor.b4305a7b.js.map +0 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
(()=>{var Ki=Object.defineProperty;var Yi=(q,o,e)=>o in q?Ki(q,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):q[o]=e;var ee=(q,o,e)=>(Yi(q,typeof o!="symbol"?o+"":o,e),e),yo=(q,o,e)=>{if(!o.has(q))throw TypeError("Cannot "+e)};var qe=(q,o,e)=>(yo(q,o,"read from private field"),e?e.call(q):o.get(q)),vn=(q,o,e)=>{if(o.has(q))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(q):o.set(q,e)},In=(q,o,e,r)=>(yo(q,o,"write to private field"),r?r.call(q,e):o.set(q,e),e);(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[179],{79018:function(q,o,e){"use strict";e.d(o,{M:function(){return i}});var r=e(41564),t=e(10179),l=e(96279),f=e.n(l),E=e(1310);class i{constructor(g){ee(this,"discoveryApi");ee(this,"fetchApi");this.discoveryApi=g.discoveryApi,this.fetchApi=g.fetchApi||{fetch:f()}}async getEntityAncestors(g,m){const{kind:u,namespace:y,name:s}=(0,r.of)(g.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(u)}/${encodeURIComponent(y)}/${encodeURIComponent(s)}/ancestry`,m)}async getLocationById(g,m){return await this.requestOptional("GET",`/locations/${encodeURIComponent(g)}`,m)}async getEntities(g,m){const{filter:u=[],fields:y=[],offset:s,limit:S,after:N}=g!=null?g:{},D=[u].flat(),Q=[];for(const F of D){const $=[];for(const[X,de]of Object.entries(F))for(const xe of[de].flat())xe===E.n?$.push(encodeURIComponent(X)):typeof xe=="string"&&$.push(`${encodeURIComponent(X)}=${encodeURIComponent(xe)}`);$.length&&Q.push(`filter=${$.join(",")}`)}y.length&&Q.push(`fields=${y.map(encodeURIComponent).join(",")}`),s!==void 0&&Q.push(`offset=${s}`),S!==void 0&&Q.push(`limit=${S}`),N!==void 0&&Q.push(`after=${encodeURIComponent(N)}`);const B=Q.length?`?${Q.join("&")}`:"",L=await this.requestRequired("GET",`/entities${B}`,m),b=(F,$)=>{var xe,Ie;if(((xe=F.metadata)==null?void 0:xe.name)===void 0||F.kind===void 0||((Ie=$.metadata)==null?void 0:Ie.name)===void 0||$.kind===void 0)return 0;const X=(0,r.eE)(F),de=(0,r.eE)($);return X<de?-1:X>de?1:0};return{items:L.sort(b)}}async getEntityByName(g,m){const{kind:u,namespace:y="default",name:s}=g;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(u)}/${encodeURIComponent(y)}/${encodeURIComponent(s)}`,m)}async refreshEntity(g,m){const u=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(m==null?void 0:m.token)&&{Authorization:`Bearer ${m==null?void 0:m.token}`}},method:"POST",body:JSON.stringify({entityRef:g})});if(u.status!==200)throw new Error(await u.text())}async addLocation({type:g="url",target:m,dryRun:u,presence:y},s){const S=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${u?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(s==null?void 0:s.token)&&{Authorization:`Bearer ${s==null?void 0:s.token}`}},method:"POST",body:JSON.stringify({type:g,target:m,presence:y})});if(S.status!==201)throw new Error(await S.text());const{location:N,entities:D,exists:Q}=await S.json();if(!N)throw new Error(`Location wasn't added: ${m}`);return{location:N,entities:D,exists:Q}}async getOriginLocationByEntity(g,m){var s;const u=(s=g.metadata.annotations)==null?void 0:s[r.q1];return u?(await this.requestRequired("GET","/locations",m)).map(S=>S.data).find(S=>u===(0,r.NZ)(S)):void 0}async getLocationByEntity(g,m){var s;const u=(s=g.metadata.annotations)==null?void 0:s[r.P1];return u?(await this.requestRequired("GET","/locations",m)).map(S=>S.data).find(S=>u===(0,r.NZ)(S)):void 0}async getLocationByRef(g,m){return(await this.requestRequired("GET","/locations",m)).map(y=>y.data).find(y=>g===(0,r.NZ)(y))}async removeLocationById(g,m){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(g)}`,m)}async removeEntityByUid(g,m){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(g)}`,m)}async requestIgnored(g,m,u){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,s=(u==null?void 0:u.token)?{Authorization:`Bearer ${u.token}`}:{},S=await this.fetchApi.fetch(y,{method:g,headers:s});if(!S.ok)throw await t.VL.fromResponse(S)}async requestRequired(g,m,u){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,s=(u==null?void 0:u.token)?{Authorization:`Bearer ${u.token}`}:{},S=await this.fetchApi.fetch(y,{method:g,headers:s});if(!S.ok)throw await t.VL.fromResponse(S);return await S.json()}async requestOptional(g,m,u){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,s=(u==null?void 0:u.token)?{Authorization:`Bearer ${u.token}`}:{},S=await this.fetchApi.fetch(y,{method:g,headers:s});if(!S.ok){if(S.status===404)return;throw await t.VL.fromResponse(S)}return await S.json()}}},58248:function(q,o,e){"use strict";e.d(o,{M:function(){return r.M},CATALOG_FILTER_EXISTS:function(){return t.n}});var r=e(79018),t=e(24040)},1310:function(q,o,e){"use strict";e.d(o,{n:function(){return r}});const r=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111")},24040:function(q,o,e){"use strict";e.d(o,{n:function(){return r.n}});var r=e(1310)},41564:function(q,o,e){"use strict";e.d(o,{Tf:function(){return h},P1:function(){return _},q1:function(){return be},M6:function(){return me},l2:function(){return i},zG:function(){return t},w$:function(){return he},nP:function(){return Oe},aS:function(){return oe},hr:function(){return lt},S4:function(){return K},cz:function(){return ke},C_:function(){return nt},of:function(){return ot},Ou:function(){return Fe},eE:function(){return Rt},NZ:function(){return vt}});const r="default",t="default",l=null,f="backstage.io/view-url",E="backstage.io/edit-url",i="backstage.io/view-url",h="backstage.io/edit-url";var g=e(76635),m=e.n(g);class u{constructor(H=ENTITY_DEFAULT_NAMESPACE){ee(this,"namespace");this.namespace=H}async enforce(H){return H.metadata.namespace?H:lodash.merge({metadata:{namespace:this.namespace}},H)}}class y{static isValidPrefixAndOrSuffix(H,se,pe,Ve){if(typeof H!="string")return!1;const Ye=H.split(se);return Ye.length===1?Ve(Ye[0]):Ye.length===2?pe(Ye[0])&&Ve(Ye[1]):!1}static isJsonSafe(H){try{return m().isEqual(H,JSON.parse(JSON.stringify(H)))}catch{return!1}}static isValidDnsSubdomain(H){return typeof H=="string"&&H.length>=1&&H.length<=253&&H.split(".").every(y.isValidDnsLabel)}static isValidDnsLabel(H){return typeof H=="string"&&H.length>=1&&H.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test(H)}static isValidTag(H){return typeof H=="string"&&H.length>=1&&H.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test(H)}static isValidUrl(H){if(typeof H!="string")return!1;try{return new URL(H),!0}catch{return!1}}static isValidString(H){var se;return typeof H=="string"&&((se=H==null?void 0:H.trim())==null?void 0:se.length)>=1}}var s=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityEnvelope","description":"The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":true,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1}}}}}'),S=e(48231),N=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"Entity","description":"The parts of the format that's common to all versions/kinds of entity.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":false,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"$ref":"EntityMeta"},"spec":{"type":"object","description":"The specification data describing the entity itself."},"relations":{"type":"array","description":"The relations that this entity has with other entities.","items":{"$ref":"common#relation"}},"status":{"$ref":"common#status"}}}`),D=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityMeta","description":"Metadata fields common to all versions/kinds of entity.","examples":[{"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","generation":13,"name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}],"type":"object","required":["name"],"additionalProperties":true,"properties":{"uid":{"type":"string","description":"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.","examples":["e01199ab-08cc-44c2-8e19-5c29ded82521"],"minLength":1},"etag":{"type":"string","description":"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.","examples":["lsndfkjsndfkjnsdfkjnsd=="],"minLength":1},"generation":{"type":"integer","description":"A positive nonzero number that indicates the current generation of data for this entity; the value is incremented each time the spec changes. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations.","examples":[1],"minimum":1},"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1},"title":{"type":"string","description":"A display name of the entity, to be presented in user interfaces instead of the name property, when available.","examples":["React SSR Template"],"minLength":1},"description":{"type":"string","description":"A short (typically relatively few words, on one line) description of the entity."},"labels":{"type":"object","description":"Key/value pairs of identifying information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"annotations":{"type":"object","description":"Key/value pairs of non-identifying auxiliary information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"tags":{"type":"array","description":"A list of single-valued strings, to for example classify catalog entities in various ways.","items":{"type":"string","minLength":1}},"links":{"type":"array","description":"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://admin.example-org.com"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["Admin Dashboard"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}}}'),Q=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"common","type":"object","description":"Common definitions to import from other schemas","definitions":{"reference":{"$id":"#reference","type":"object","description":"A reference by name to another entity.","required":["kind","namespace","name"],"additionalProperties":false,"properties":{"kind":{"type":"string","description":"The kind field of the entity.","minLength":1},"namespace":{"type":"string","description":"The metadata.namespace field of the entity.","minLength":1},"name":{"type":"string","description":"The metadata.name field of the entity.","minLength":1}}},"relation":{"$id":"#relation","type":"object","description":"A directed relation from one entity to another.","required":["type","target"],"additionalProperties":false,"properties":{"type":{"type":"string","minLength":1,"pattern":"^\\\\w+$","description":"The type of relation."},"target":{"$ref":"#reference"}}},"status":{"$id":"#status","type":"object","description":"The current status of the entity, as claimed by various sources.","required":[],"additionalProperties":true,"properties":{"items":{"type":"array","items":{"$ref":"#statusItem"}}}},"statusItem":{"$id":"#statusItem","type":"object","description":"A specific status item on a well known format.","required":["type","level","message"],"additionalProperties":true,"properties":{"type":{"type":"string","minLength":1},"level":{"$ref":"#statusLevel","description":"The status level / severity of the status item."},"message":{"type":"string","description":"A brief message describing the status, intended for human consumption."},"error":{"$ref":"#error","description":"An optional serialized error object related to the status."}}},"statusLevel":{"$id":"#statusLevel","type":"string","description":"A status level / severity.","enum":["info","warning","error"]},"error":{"$id":"#error","type":"object","description":"A serialized error object.","required":["name","message"],"additionalProperties":true,"properties":{"name":{"type":"string","examples":["Error","InputError"],"description":"The type name of the error","minLength":1},"message":{"type":"string","description":"The message of the error"},"code":{"type":"string","description":"An error code associated with the error"},"stack":{"type":"string","description":"An error stack trace"}}}}}');const B=new Map,L=[s,N,D,Q];function b(ue){if(!(ue==null?void 0:ue.length))throw new TypeError("Unknown error");const H=ue[0];throw new TypeError(`${H.dataPath||"<root>"} ${H.message}${H.params?` - ${Object.entries(H.params).map(([se,pe])=>`${se}: ${pe}`).join(", ")}`:""}`)}function F(ue,H={}){var bt;const se=(bt=H==null?void 0:H.disableCache)!=null?bt:!1,pe=se?"":JSON.stringify(ue);if(!se){const nn=B.get(pe);if(nn)return nn}const Ve=$(ue),Ye=new S.ZP({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});Ve.length&&Ye.addSchema(Ve,void 0,void 0,!0);const ct=Ye.compile(ue);return se||B.set(pe,ct),ct}function $(ue){if(typeof ue!="object")return[];const H=new Set;ue.$id&&H.add(ue.$id);const se=new Array,pe=[ue];for(;pe.length;){const Ve=pe.pop();for(const Ye of X(Ve))if(!H.has(Ye)){H.add(Ye);const ct=L.find(bt=>bt.$id===Ye);ct&&(se.push(ct),pe.push(ct))}}return se}function*X(ue){const H=[ue];for(;H.length;){const se=H.pop();if(typeof se=="object"&&se)for(const[pe,Ve]of Object.entries(se))pe==="$ref"&&typeof Ve=="string"?yield Ve.split("#")[0]:H.push(Ve)}}function de(ue){const H=compileAjvSchema(ue||entityEnvelopeSchema);return se=>{if(H(se)===!0)return se;throw throwAjvError(H.errors)}}function xe(ue){const H=F(ue);return se=>{var Ye;if(H(se)===!0)return se;const Ve=(Ye=H.errors)==null?void 0:Ye.filter(ct=>["/kind","/apiVersion"].includes(ct.dataPath));if((Ve==null?void 0:Ve.length)&&Ve.every(ct=>ct.keyword==="enum"))return!1;throw b(H.errors)}}function Ie(ue){const H=compileAjvSchema(ue||entitySchema);return se=>{if(H(se)===!0)return se;throw throwAjvError(H.errors)}}class Te{static isValidApiVersion(H){return y.isValidPrefixAndOrSuffix(H,"/",y.isValidDnsSubdomain,se=>se.length>=1&&se.length<=63&&/^[a-z0-9A-Z]+$/.test(se))}static isValidKind(H){return typeof H=="string"&&H.length>=1&&H.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test(H)}static isValidObjectName(H){return typeof H=="string"&&H.length>=1&&H.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(H)}static isValidNamespace(H){return y.isValidDnsLabel(H)}static isValidLabelKey(H){return y.isValidPrefixAndOrSuffix(H,"/",y.isValidDnsSubdomain,Te.isValidObjectName)}static isValidLabelValue(H){return H===""||Te.isValidObjectName(H)}static isValidAnnotationKey(H){return y.isValidPrefixAndOrSuffix(H,"/",y.isValidDnsSubdomain,Te.isValidObjectName)}static isValidAnnotationValue(H){return typeof H=="string"}}const fe={isValidApiVersion:Te.isValidApiVersion,isValidKind:Te.isValidKind,isValidEntityName:Te.isValidObjectName,isValidNamespace:Te.isValidNamespace,isValidLabelKey:Te.isValidLabelKey,isValidLabelValue:Te.isValidLabelValue,isValidAnnotationKey:Te.isValidAnnotationKey,isValidAnnotationValue:Te.isValidAnnotationValue,isValidTag:y.isValidTag};function Ge(ue={}){return{...fe,...ue}}class we{constructor(H=makeValidator()){ee(this,"validators");this.validators=H}async enforce(H){var ct,bt,nn,Zn,Ln,On,xn;function se(ht,Qt,Rn){if(Qt==null)throw new Error(`${ht} must have a value`);let Un;try{Un=Rn(Qt)}catch(Gt){throw new Error(`${ht} could not be validated, ${Gt}`)}if(!Un){let Gt;switch(Rn.name){case"isValidLabelValue":case"isValidObjectName":Gt="a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total";break;case"isValidLabelKey":case"isValidApiVersion":case"isValidAnnotationKey":Gt="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":Gt="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":Gt="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":Gt="a string";break;case"isValidKind":Gt="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":Gt="a string that is a valid url";break;case"isValidString":Gt="a non empty string";break;default:Gt=void 0;break}const Yn=Gt?` expected ${Gt} but found "${Qt}".`:"";throw new Error(`"${ht}" is not valid;${Yn} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`)}}function pe(ht,Qt,Rn){return Qt===void 0||se(ht,Qt,Rn)}se("apiVersion",H.apiVersion,this.validators.isValidApiVersion),se("kind",H.kind,this.validators.isValidKind),se("metadata.name",H.metadata.name,this.validators.isValidEntityName),pe("metadata.namespace",H.metadata.namespace,this.validators.isValidNamespace);for(const[ht,Qt]of Object.entries((ct=H.metadata.labels)!=null?ct:[]))se(`labels.${ht}`,ht,this.validators.isValidLabelKey),se(`labels.${ht}`,Qt,this.validators.isValidLabelValue);for(const[ht,Qt]of Object.entries((bt=H.metadata.annotations)!=null?bt:[]))se(`annotations.${ht}`,ht,this.validators.isValidAnnotationKey),se(`annotations.${ht}`,Qt,this.validators.isValidAnnotationValue);const Ve=(nn=H.metadata.tags)!=null?nn:[];for(let ht=0;ht<Ve.length;++ht)se(`tags.${ht}`,Ve[ht],this.validators.isValidTag);const Ye=(Zn=H.metadata.links)!=null?Zn:[];for(let ht=0;ht<Ye.length;++ht)se(`links.${ht}.url`,(Ln=Ye[ht])==null?void 0:Ln.url,CommonValidatorFunctions.isValidUrl),pe(`links.${ht}.title`,(On=Ye[ht])==null?void 0:On.title,CommonValidatorFunctions.isValidString),pe(`links.${ht}.icon`,(xn=Ye[ht])==null?void 0:xn.icon,KubernetesValidatorFunctions.isValidObjectName);return H}}class Qe{constructor(){ee(this,"validate")}async enforce(H){if(!this.validate){const Ve=new Ajv({allowUnionTypes:!0});this.validate=Ve.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate(H)===!0)return H;const[pe]=this.validate.errors||[];throw pe?new Error(`Malformed envelope, ${pe.dataPath||"<root>"} ${pe.message}`):new Error("Malformed envelope, Unknown error")}}function _e(ue){var se,pe;const H=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(ue.trim());if(!H)throw new TypeError(`Entity reference "${ue}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:(se=H[1])==null?void 0:se.slice(0,-1),namespace:(pe=H[2])==null?void 0:pe.slice(0,-1),name:H[3]}}function nt(ue){return{kind:ue.kind,namespace:ue.metadata.namespace||r,name:ue.metadata.name}}function mt(ue,H={}){const{kind:se,namespace:pe,name:Ve}=ot(ue,{defaultNamespace:ENTITY_DEFAULT_NAMESPACE,...H});if(!se)throw new Error(`Entity reference ${pe}/${Ve} did not contain a kind`);return{kind:se,namespace:pe,name:Ve}}function ot(ue,H={}){var Ye,ct;if(!ue)throw new Error("Entity reference must not be empty");if(typeof ue=="string"){const bt=_e(ue);return{kind:(Ye=bt.kind)!=null?Ye:H.defaultKind,namespace:(ct=bt.namespace)!=null?ct:H.defaultNamespace,name:bt.name}}const{kind:se,namespace:pe,name:Ve}=ue;if(se==="")throw new Error("Entity reference kinds must not be empty");if(pe==="")throw new Error("Entity reference namespaces must not be empty");if(!Ve)throw new Error("Entity references must contain a name");return{kind:se!=null?se:H.defaultKind,namespace:pe!=null?pe:H.defaultNamespace,name:Ve}}function Rt(ue){var Ve,Ye;let H,se,pe;return"metadata"in ue?(H=ue.kind,se=(Ve=ue.metadata.namespace)!=null?Ve:r,pe=ue.metadata.name):(H=ue.kind,se=(Ye=ue.namespace)!=null?Ye:r,pe=ue.name),`${H.toLocaleLowerCase("en-US")}:${se.toLocaleLowerCase("en-US")}/${pe.toLocaleLowerCase("en-US")}`}function Wt(ue,H,se){const pe=ue.kind,Ve=ue.metadata.namespace||ENTITY_DEFAULT_NAMESPACE,Ye=ue.metadata.name;let ct,bt,nn;if(typeof H=="string"){const Zn=_e(H);ct=Zn.kind||(se==null?void 0:se.defaultKind),bt=Zn.namespace||(se==null?void 0:se.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,nn=Zn.name}else ct=H.kind||(se==null?void 0:se.defaultKind),bt=H.namespace||(se==null?void 0:se.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,nn=H.name;if(!ct||!bt)throw new Error("Entity reference or context did not contain kind and namespace");return pe.toLocaleLowerCase("en-US")===ct.toLocaleLowerCase("en-US")&&Ve.toLocaleLowerCase("en-US")===bt.toLocaleLowerCase("en-US")&&Ye.toLocaleLowerCase("en-US")===nn.toLocaleLowerCase("en-US")}var $t=e(48834).Buffer;function At(){return uuidv4()}function st(){return $t.from(uuidv4(),"utf8").toString("base64").replace(/[^\w]/g,"")}function gt(ue,H){const se=lodash.cloneDeep(ue),pe=lodash.cloneDeep(H);return se.metadata.labels||(se.metadata.labels={}),pe.metadata.labels||(pe.metadata.labels={}),se.metadata.annotations||(se.metadata.annotations={}),pe.metadata.annotations||(pe.metadata.annotations={}),se.metadata.tags||(se.metadata.tags=[]),pe.metadata.tags||(pe.metadata.tags=[]),delete se.metadata.uid,delete se.metadata.etag,delete se.metadata.generation,delete pe.metadata.uid,delete pe.metadata.etag,delete pe.metadata.generation,delete se.relations,delete se.status,delete pe.relations,delete pe.status,!lodash.isEqual(se,pe)}function Lt(ue,H){const{uid:se,etag:pe,generation:Ve}=ue.metadata;if(!se||!pe||!Ve)throw new Error("Previous entity must have uid, etag and generation");const Ye=lodash.cloneDeep(H),ct=gt(ue,Ye),bt=!lodash.isEqual(ue.spec,Ye.spec);return Ye.metadata.uid=se,Ye.metadata.etag=ct?st():pe,Ye.metadata.generation=bt?Ve+1:Ve,Ye}class xt{constructor(H){this.policies=H}async enforce(H){let se=H;for(const pe of this.policies){const Ve=await pe.enforce(se);if(!Ve)throw new Error(`Policy ${pe.constructor.name} did not return a result`);se=Ve}return se}}class Ut{constructor(H){this.policies=H}async enforce(H){for(const se of this.policies){const pe=await se.enforce(H);if(pe)return pe}throw new Error("The entity did not match any known policy")}}const Pt={allOf(ue){return new xt(ue)},oneOf(ue){return new Ut(ue)}};var Ct=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ApiV1alpha1","description":"An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"API","metadata":{"name":"artist-api","description":"Retrieve artist details","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"openapi","lifecycle":"production","owner":"artist-relations-team","system":"artist-engagement-portal","definition":"openapi: \\"3.0.0\\"\\ninfo:..."}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["API"]},"spec":{"type":"object","required":["type","lifecycle","owner","definition"],"properties":{"type":{"type":"string","description":"The type of the API definition.","examples":["openapi","asyncapi","graphql","grpc"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the API.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the API.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the API belongs to.","minLength":1},"definition":{"type":"string","description":"The definition of the API, based on the format defined by the type.","minLength":1}}}}}]}');function pt(ue){const H=xe(ue);return{async check(se){return H(se)===se}}}const Me=pt(Ct);var rt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ComponentV1alpha1","description":"A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \\"unit of software\\", usually with a distinct deployable or linkable artifact.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Component"]},"spec":{"type":"object","required":["type","lifecycle","owner"],"properties":{"type":{"type":"string","description":"The type of component.","examples":["service","website","library"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the component.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the component belongs to.","minLength":1},"subcomponentOf":{"type":"string","description":"An entity reference to another component of which the component is a part.","minLength":1},"providesApis":{"type":"array","description":"An array of entity references to the APIs that are provided by the component.","items":{"type":"string","minLength":1}},"consumesApis":{"type":"array","description":"An array of entity references to the APIs that are consumed by the component.","items":{"type":"string","minLength":1}},"dependsOn":{"type":"array","description":"An array of references to other entities that the component depends on to function.","items":{"type":"string","minLength":1}}}}}}]}');const Xe=pt(rt);var Tt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"DomainV1alpha1","description":"A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Domain","metadata":{"name":"artists","description":"Everything about artists"},"spec":{"owner":"artist-relations-team"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Domain"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1}}}}}]}');const ie=pt(Tt);var te=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"GroupV1alpha1","description":"A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Group","metadata":{"name":"infrastructure","description":"The infra business unit"},"spec":{"type":"business-unit","profile":{"displayName":"Infrastructure","email":"infrastructure@example.com","picture":"https://example.com/groups/bu-infrastructure.jpeg"},"parent":"ops","children":["backstage","other"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Group"]},"spec":{"type":"object","required":["type","children"],"properties":{"type":{"type":"string","description":"The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.","examples":["team","business-unit","product-area","root"],"minLength":1},"profile":{"type":"object","description":"Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Infrastructure"],"minLength":1},"email":{"type":"string","description":"An email where this entity can be reached.","examples":["infrastructure@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this entity.","examples":["https://example.com/groups/bu-infrastructure.jpeg"],"minLength":1}}},"parent":{"type":"string","description":"The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.","examples":["ops"],"minLength":1},"children":{"type":"array","description":"The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["backstage","other"],"minLength":1}},"members":{"type":"array","description":"The users that are members of this group. The entries of this array are entity references.","items":{"type":"string","examples":["jdoe"],"minLength":1}}}}}}]}`);const P=pt(te);var I=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"LocationV1alpha1","description":"A location is a marker that references other places to look for catalog data.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Location","metadata":{"name":"org-data"},"spec":{"type":"url","targets":["http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Location"]},"spec":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.","examples":["url"],"minLength":1},"target":{"type":"string","description":"A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.","examples":["./details/catalog-info.yaml"],"minLength":1},"targets":{"type":"array","description":"A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.","items":{"type":"string","examples":["./details/catalog-info.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml"],"minLength":1}},"presence":{"type":"string","description":"Whether the presence of the location target is required and it should be considered an error if it can not be found","default":"required","examples":["required"],"enum":["required","optional"]}}}}}]}`);const Z=pt(I),K="ownedBy",k="ownerOf",ce="consumesApi",Ee="apiConsumedBy",Ae="providesApi",Ze="apiProvidedBy",Oe="dependsOn",he="dependencyOf",Ce="parentOf",je="childOf",lt="memberOf",dt="hasMember",ke="partOf",oe="hasPart";var Ne=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ResourceV1alpha1","description":"A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Resource","metadata":{"name":"artists-db","description":"Stores artist details"},"spec":{"type":"database","owner":"artist-relations-team","system":"artist-engagement-portal"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Resource"]},"spec":{"type":"object","required":["type","owner"],"properties":{"type":{"type":"string","description":"The type of resource.","examples":["database","s3-bucket","cluster"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the resource.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"dependsOn":{"type":"array","description":"An array of references to other entities that the resource depends on to function.","items":{"type":"string","minLength":1}},"system":{"type":"string","description":"An entity reference to the system that the resource belongs to.","minLength":1}}}}}]}');const tt=pt(Ne);var et=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"SystemV1alpha1","description":"A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"System","metadata":{"name":"artist-engagement-portal","description":"Handy tools to keep artists in the loop"},"spec":{"owner":"artist-relations-team","domain":"artists"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["System"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"domain":{"type":"string","description":"An entity reference to the domain that the system belongs to.","examples":["artists"],"minLength":1}}}}}]}');const We=pt(et);var ze=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"UserV1alpha1","description":"A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"User","metadata":{"name":"jdoe"},"spec":{"profile":{"displayName":"Jenny Doe","email":"jenny-doe@example.com","picture":"https://example.com/staff/jenny-with-party-hat.jpeg"},"memberOf":["team-b","employees"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["User"]},"spec":{"type":"object","required":["memberOf"],"properties":{"profile":{"type":"object","description":"Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Jenny Doe"],"minLength":1},"email":{"type":"string","description":"An email where this user can be reached.","examples":["jenny-doe@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this user.","examples":["https://example.com/staff/jenny-with-party-hat.jpeg"],"minLength":1}}},"memberOf":{"type":"array","description":"The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["team-b","employees"],"minLength":1}}}}}}]}`);const j=pt(ze),A="backstage.io/managed-by-location",O="backstage.io/managed-by-origin-location",W="backstage.io/source-location",_="backstage.io/managed-by-location",be="backstage.io/managed-by-origin-location",me="backstage.io/source-location";function Be(ue){return Fe(ue)}function Fe(ue){if(typeof ue!="string")throw new TypeError(`Unable to parse location ref '${ue}', unexpected argument ${typeof ue}`);const H=ue.indexOf(":");if(H<0)throw new TypeError(`Unable to parse location ref '${ue}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const se=ue.substring(0,H).trim(),pe=ue.substring(H+1).trim();if(!se||!pe)throw new TypeError(`Unable to parse location ref '${ue}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(se==="http"||se==="https")throw new TypeError(`Invalid location ref '${ue}', please prefix it with 'url:', e.g. 'url:${ue}'`);return{type:se,target:pe}}function He(ue){return vt(ue)}function vt(ue){const{type:H,target:se}=ue;if(H){if(!se)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");return`${H}:${se}`}function Ht(ue){var se,pe,Ve,Ye,ct;const H=(ct=(pe=(se=ue.metadata)==null?void 0:se.annotations)==null?void 0:pe[ANNOTATION_SOURCE_LOCATION])!=null?ct:(Ye=(Ve=ue.metadata)==null?void 0:Ve.annotations)==null?void 0:Ye[ANNOTATION_LOCATION];if(!H)throw new Error(`Entity '${stringifyEntityRef(ue)}' is missing location`);return Fe(H)}},23235:function(q,o,e){"use strict";e.d(o,{C:function(){return t}});var r=e(98005);class t{constructor(){ee(this,"subject",new r.J)}post(f){this.subject.next(f)}alert$(){return this.subject}}},47150:function(q,o,e){"use strict";e.d(o,{g:function(){return r}});class r{captureEvent(l){}}},58652:function(q,o,e){"use strict";e.d(o,{C:function(){return l}});var r=e(98005);const t="theme";class l{constructor(E){ee(this,"activeThemeId");ee(this,"subject",new r.X(void 0));this.themes=E}static createWithStorage(E){var g;const i=new l(E);if(!window.localStorage)return i;const h=(g=window.localStorage.getItem(t))!=null?g:void 0;return i.setActiveThemeId(h),i.activeThemeId$().subscribe(m=>{m?window.localStorage.setItem(t,m):window.localStorage.removeItem(t)}),window.addEventListener("storage",m=>{var u;if(m.key===t){const y=(u=localStorage.getItem(t))!=null?u:void 0;i.setActiveThemeId(y)}}),i}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(E){this.activeThemeId=E,this.subject.next(E)}}},14721:function(q,o,e){"use strict";e.d(o,{m:function(){return m}});var r=e(9850),t=e.n(r),l=e(12782),f=e.n(l);const E=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function i(u){return typeof u=="object"&&u!==null&&!Array.isArray(u)}function h(u){if(u===null)return"null";if(Array.isArray(u))return"array";const y=typeof u;return y==="number"&&isNaN(u)?"nan":y==="string"&&u===""?"empty-string":y}const g={type(u,y,s,S){return`Invalid type in config for key '${u}' in '${y}', got ${s}, wanted ${S}`},missing(u){return`Missing required config value at '${u}'`},convert(u,y,s){return`Unable to convert config value for key '${u}' in '${y}' to a ${s}`}};class m{constructor(y,s="mock-config",S,N=""){ee(this,"filteredKeys");ee(this,"notifiedFilteredKeys",new Set);this.data=y,this.context=s,this.fallback=S,this.prefix=N}static fromConfigs(y){return y.length===0?new m(void 0):y.reduce((s,{data:S,context:N,filteredKeys:D,deprecatedKeys:Q})=>{const B=new m(S,N,s);if(B.filteredKeys=D,Q)for(const{key:L,description:b}of Q)console.warn(`The configuration key '${L}' of ${N} is deprecated and may be removed soon. ${b||""}`);return B},void 0)}has(y){var S,N;return this.readValue(y)!==void 0?!0:(N=(S=this.fallback)==null?void 0:S.has(y))!=null?N:!1}keys(){var S,N;const y=this.data?Object.keys(this.data):[],s=(N=(S=this.fallback)==null?void 0:S.keys())!=null?N:[];return[...new Set([...y,...s])]}get(y){const s=this.getOptional(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y!=null?y:"")));return s}getOptional(y){var N;const s=t()(this.readValue(y)),S=(N=this.fallback)==null?void 0:N.getOptional(y);return s===void 0?S:S===void 0?s:f()({},{value:S},{value:s},(D,Q)=>!i(Q)||!i(D)?Q:void 0).value}getConfig(y){const s=this.getOptionalConfig(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalConfig(y){var N;const s=this.readValue(y),S=(N=this.fallback)==null?void 0:N.getOptionalConfig(y);if(i(s))return this.copy(s,y,S);if(s!==void 0)throw new TypeError(g.type(this.fullKey(y),this.context,h(s),"object"));return S}getConfigArray(y){const s=this.getOptionalConfigArray(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalConfigArray(y){const s=this.readConfigValue(y,S=>{if(!Array.isArray(S))return{expected:"object-array"};for(const[N,D]of S.entries())if(!i(D))return{expected:"object-array",value:D,key:`${y}[${N}]`};return!0});if(!!s)return s.map((S,N)=>this.copy(S,`${y}[${N}]`))}getNumber(y){const s=this.getOptionalNumber(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalNumber(y){const s=this.readConfigValue(y,N=>typeof N=="number"||typeof N=="string"||{expected:"number"});if(typeof s=="number"||s===void 0)return s;const S=Number(s);if(!Number.isFinite(S))throw new Error(g.convert(this.fullKey(y),this.context,"number"));return S}getBoolean(y){const s=this.getOptionalBoolean(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalBoolean(y){return this.readConfigValue(y,s=>typeof s=="boolean"||{expected:"boolean"})}getString(y){const s=this.getOptionalString(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalString(y){return this.readConfigValue(y,s=>typeof s=="string"&&s!==""||{expected:"string"})}getStringArray(y){const s=this.getOptionalStringArray(y);if(s===void 0)throw new Error(g.missing(this.fullKey(y)));return s}getOptionalStringArray(y){return this.readConfigValue(y,s=>{if(!Array.isArray(s))return{expected:"string-array"};for(const[S,N]of s.entries())if(typeof N!="string"||N==="")return{expected:"string-array",value:N,key:`${y}[${S}]`};return!0})}fullKey(y){return`${this.prefix}${this.prefix?".":""}${y}`}copy(y,s,S){const N=new m(y,this.context,S,this.fullKey(s));return N.filteredKeys=this.filteredKeys,N}readConfigValue(y,s){var D;const S=this.readValue(y);if(S===void 0)return(D=this.fallback)==null?void 0:D.readConfigValue(y,s);const N=s(S);if(N!==!0){const{key:Q=y,value:B=S,expected:L}=N;throw new TypeError(g.type(this.fullKey(Q),this.context,h(B),L))}return S}readValue(y){const s=y?y.split("."):[];for(const N of s)if(!E.test(N))throw new TypeError(`Invalid config key '${y}'`);if(this.data===void 0)return;let S=this.data;for(const[N,D]of s.entries())if(i(S))S=S[D];else if(S!==void 0){const Q=this.fullKey(s.slice(0,N).join("."));throw new TypeError(g.type(Q,this.context,h(S),"object"))}return S}}},4333:function(q,o,e){"use strict";e.d(o,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(f){const E=f.split(/\{\{\s*pluginId\s*\}\}/),i=E.join("pluginId");let h;try{h=new URL(i)}catch{throw new Error(`${r} URL '${i}' is invalid`)}if(h.hash)throw new Error(`${r} URL must not have a hash`);if(h.search)throw new Error(`${r} URL must not have a query`);if(i.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(E)}constructor(f){this.parts=f}async getBaseUrl(f){return this.parts.join(f)}}},89536:function(q,o,e){"use strict";e.d(o,{KN:function(){return r},gr:function(){return l},Jv:function(){return f}});class r{constructor(i,h){this.alertApi=i,this.errorApi=h}post(i,h){return(h==null?void 0:h.hidden)||this.alertApi.post({message:i.message,severity:"error"}),this.errorApi.post(i,h)}error$(){return this.errorApi.error$()}}var t=e(98005);class l{constructor(){ee(this,"subject",new t.J)}post(i,h){this.subject.next({error:i,context:h})}error$(){return this.subject}}class f{static forward(i,h){window.addEventListener("unhandledrejection",g=>{i.post(g.reason,h)})}}},14884:function(q,o,e){"use strict";e.d(o,{b:function(){return l}});var r=e(36964);function t(f){if(f.length<3)throw new Error(`The '${f}' feature flag must have a minimum length of three characters.`);if(f.length>150)throw new Error(`The '${f}' feature flag must not exceed 150 characters.`);if(!f.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${f}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class l{constructor(){ee(this,"registeredFeatureFlags",[]);ee(this,"flags")}registerFlag(E){t(E.name),this.registeredFeatureFlags.push(E)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(E){return this.flags||(this.flags=this.load()),this.flags.get(E)===r.FeatureFlagState.Active}save(E){this.flags||(this.flags=this.load()),E.merge||this.flags.clear();for(const[h,g]of Object.entries(E.states))this.flags.set(h,g);const i=Array.from(this.flags.entries()).filter(([,h])=>h===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(i)))}load(){try{const E=window.localStorage.getItem("featureFlags");if(!E)return new Map;const i=JSON.parse(E);if(typeof i!="object"||i===null||Array.isArray(i))return new Map;const h=Object.entries(i).filter(([g,m])=>(t(g),m===r.FeatureFlagState.Active));return new Map(h)}catch{return new Map}}}},50160:function(q,o,e){"use strict";e.d(o,{I:function(){return h},j:function(){return r}});function r(g){var y;let m=g.baseImplementation||e.g.fetch;const u=[(y=g.middleware)!=null?y:[]].flat().reverse();for(const s of u)m=s.apply(m);return{fetch:m}}class t{static create(m){var S,N;const u=l(m),y=((S=m.header)==null?void 0:S.name)||"authorization",s=((N=m.header)==null?void 0:N.value)||(D=>`Bearer ${D}`);return new t(m.identityApi,u,y,s)}constructor(m,u,y,s){this.identityApi=m,this.allowUrl=u,this.headerName=y,this.headerValue=s}apply(m){return async(u,y)=>{const s=new Request(u,y),{token:S}=await this.identityApi.getCredentials();return s.headers.get(this.headerName)||typeof S!="string"||!S||!this.allowUrl(s.url)?m(u,y):(s.headers.set(this.headerName,this.headerValue(S)),m(s))}}}function l(g){return g.allowUrl?g.allowUrl:g.urlPrefixAllowlist?f(g.urlPrefixAllowlist):g.config?f([g.config.getString("backend.baseUrl")]):()=>!1}function f(g){const m=g.map(u=>u.replace(/\/$/,""));return u=>m.some(y=>u===y||u.startsWith(`${y}/`))}function E(g,m){return!m||m==="/"?g:`${g.replace(/\/$/,"")}/${m.replace(/^\//,"")}`}class i{constructor(m){this.discoveryApi=m}apply(m){return async(u,y)=>{const s=new Request(u,y),S="plugin://";if(!s.url.startsWith(S))return m(u,y);const{hostname:N,pathname:D,search:Q,hash:B,username:L,password:b}=new URL(`http://${s.url.substring(S.length)}`);let F=await this.discoveryApi.getBaseUrl(N);if(L||b){const X=new URL(F),de=`${L}${b?`:${b}`:""}@`;F=`${X.protocol}//${de}${X.host}${X.pathname}`}const $=`${E(F,D)}${Q}${B}`;return m($,s)}}}class h{static resolvePluginProtocol(m){return new i(m.discoveryApi)}static injectIdentityAuth(m){return t.create(m)}constructor(){}}},11358:function(q,o,e){"use strict";e.d(o,{Y:function(){return E}});var r=e(98005);function t(i,h){for(const g of h)if(!i.has(g))return!1;return!0}function l(i,...h){const g=new Set(i);for(const m of h)for(const u of m)g.add(u);return g}class f{constructor(){ee(this,"requests",[]);ee(this,"subject",new r.X(this.getCurrentPending()))}request(h){return new Promise((g,m)=>{this.requests.push({scopes:h,resolve:g,reject:m}),this.subject.next(this.getCurrentPending())})}resolve(h,g){this.requests=this.requests.filter(m=>t(h,m.scopes)?(m.resolve(g),!1):!0),this.subject.next(this.getCurrentPending())}reject(h){this.requests.forEach(g=>g.reject(h)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const h=this.requests.length===0?void 0:this.requests.slice(1).reduce((g,m)=>l(g,m.scopes),this.requests[0].scopes);return{scopes:h,resolve:g=>{h&&this.resolve(h,g)},reject:g=>{h&&this.reject(g)}}}}class E{constructor(){ee(this,"subject",new r.X([]));ee(this,"currentRequests",[]);ee(this,"handlerCount",0)}createAuthRequester(h){h.provider.id||console.warn("DEPRECATION WARNING: Not passing a provider id to createAuthRequester is deprecated, it will be required in the future");const g=new f,m=this.handlerCount;return this.handlerCount++,g.pending().subscribe({next:u=>{const y=this.currentRequests.slice(),s=this.makeAuthRequest(u,h);s?y[m]=s:delete y[m],this.currentRequests=y,this.subject.next(y.filter(Boolean))}}),u=>g.request(u)}makeAuthRequest(h,g){const{scopes:m}=h;if(!!m)return{provider:g.provider,trigger:async()=>{const u=await g.onAuthRequest(m);h.resolve(u)},reject:()=>{const u=new Error("Login failed, rejected by user");u.name="RejectedError",h.reject(u)}}}authRequest$(){return this.subject}}},56054:function(q,o,e){"use strict";e.d(o,{C:function(){return f}});var r=e(82394),t=e.n(r);const l=new Map;class f{constructor(i,h){ee(this,"subscribers",new Set);ee(this,"observable",new(t())(i=>(this.subscribers.add(i),()=>{this.subscribers.delete(i)})));this.namespace=i,this.errorApi=h}static create(i){var h;return new f((h=i.namespace)!=null?h:"",i.errorApi)}get(i){return this.snapshot(i).value}snapshot(i){let h,g="absent";try{const m=localStorage.getItem(this.getKeyName(i));m&&(h=JSON.parse(m,(u,y)=>(typeof y=="object"&&y!==null&&Object.freeze(y),y)),g="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${i}`))}return{key:i,value:h,newValue:h,presence:g}}forBucket(i){const h=`${this.namespace}/${i}`;return l.has(h)||l.set(h,new f(h,this.errorApi)),l.get(h)}async set(i,h){localStorage.setItem(this.getKeyName(i),JSON.stringify(h)),this.notifyChanges(i)}async remove(i){localStorage.removeItem(this.getKeyName(i)),this.notifyChanges(i)}observe$(i){return this.observable.filter(({key:h})=>h===i)}getKeyName(i){return`${this.namespace}/${encodeURIComponent(i)}`}notifyChanges(i){const h=this.snapshot(i);for(const g of this.subscribers)g.next(h)}}},59589:function(q,o,e){"use strict";e.d(o,{u:function(){return l}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class l{static create(E){const{discoveryApi:i,environment:h="development",provider:g=t,oauthRequestApi:m}=E;return r.L.create({discoveryApi:i,oauthRequestApi:m,provider:g,environment:h})}}},92293:function(q,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"auth0",title:"Auth0",icon:()=>null};class l{static create(E){const{discoveryApi:i,environment:h="development",provider:g=t,oauthRequestApi:m,defaultScopes:u=["openid","email","profile"]}=E;return r.L.create({discoveryApi:i,oauthRequestApi:m,provider:g,environment:h,defaultScopes:u})}}},6098:function(q,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class l{static create(E){const{discoveryApi:i,environment:h="development",provider:g=t,oauthRequestApi:m,defaultScopes:u=["team"]}=E;return r.L.create({discoveryApi:i,oauthRequestApi:m,provider:g,environment:h,defaultScopes:u})}}},44431:function(q,o,e){"use strict";e.d(o,{x:function(){return l.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var l=e(6098)},19347:function(){},44474:function(q,o,e){"use strict";e.d(o,{T:function(){return l}});var r=e(91205);const t={id:"github",title:"GitHub",icon:()=>null};class l{static create(E){const{discoveryApi:i,environment:h="development",provider:g=t,oauthRequestApi:m,defaultScopes:u=["read:user"]}=E;return r.L.create({discoveryApi:i,oauthRequestApi:m,provider:g,environment:h,defaultScopes:u})}static normalizeScope(E){if(!E)return new Set;const i=Array.isArray(E)?E:E.split(/[\s|,]/).filter(Boolean);return new Set(i)}}},2922:function(q,o,e){"use strict";e.d(o,{a:function(){return l}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class l{static create(E){const{discoveryApi:i,environment:h="development",provider:g=t,oauthRequestApi:m,defaultScopes:u=["read_user"]}=E;return r.L.create({discoveryApi:i,oauthRequestApi:m,provider:g,environment:h,defaultScopes:u})}}},59938:function(q,o,e){"use strict";e.d(o,{e:function(){return f}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},l="https://www.googleapis.com/auth/";class f{static create(i){const{discoveryApi:h,oauthRequestApi:g,environment:m="development",provider:u=t,defaultScopes:y=["openid",`${l}userinfo.email`,`${l}userinfo.profile`]}=i;return r.L.create({discoveryApi:h,oauthRequestApi:g,provider:u,environment:m,defaultScopes:y,scopeTransform(s){return s.map(S=>S==="openid"?S:S==="profile"||S==="email"?`${l}userinfo.${S}`:S.startsWith(l)?S:`${l}${S}`)}})}}},91668:function(q,o,e){"use strict";e.d(o,{Td:function(){return r.T},aq:function(){return t.a},eE:function(){return l.e},OAuth2:function(){return f.L},OktaAuth:function(){return E.s},SamlAuth:function(){return i.n},Auth0Auth:function(){return h.Z},MicrosoftAuth:function(){return g._},OneLoginAuth:function(){return m.$},BitbucketAuth:function(){return u.x},AtlassianAuth:function(){return y.u}});var r=e(44474),t=e(2922),l=e(59938),f=e(91205);e.o(f,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return f.Auth0Auth}}),e.o(f,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(o,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(o,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"SamlAuth")&&e.d(o,{SamlAuth:function(){return f.SamlAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(o,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(o,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return f.createSpecializedApp}}),e.o(f,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return f.defaultConfigLoader}});var E=e(26079),i=e(67578),h=e(92293),g=e(38482),m=e(58381),u=e(44431);e.o(u,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return u.AlertApiForwarder}}),e.o(u,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return u.AppThemeSelector}}),e.o(u,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return u.AtlassianAuth}}),e.o(u,"ConfigReader")&&e.d(o,{ConfigReader:function(){return u.ConfigReader}}),e.o(u,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return u.ErrorAlerter}}),e.o(u,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return u.ErrorApiForwarder}}),e.o(u,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return u.FetchMiddlewares}}),e.o(u,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return u.FlatRoutes}}),e.o(u,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return u.LocalStorageFeatureFlags}}),e.o(u,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return u.NoOpAnalyticsApi}}),e.o(u,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return u.OAuthRequestManager}}),e.o(u,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return u.UnhandledErrorForwarder}}),e.o(u,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return u.UrlPatternDiscovery}}),e.o(u,"WebStorage")&&e.d(o,{WebStorage:function(){return u.WebStorage}}),e.o(u,"createFetchApi")&&e.d(o,{createFetchApi:function(){return u.createFetchApi}}),e.o(u,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return u.createSpecializedApp}}),e.o(u,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return u.defaultConfigLoader}});var y=e(59589)},38482:function(q,o,e){"use strict";e.d(o,{_:function(){return l}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class l{static create(E){const{environment:i="development",provider:h=t,oauthRequestApi:g,discoveryApi:m,defaultScopes:u=["openid","offline_access","profile","email","User.Read"]}=E;return r.L.create({discoveryApi:m,oauthRequestApi:g,provider:h,environment:i,defaultScopes:u})}}},15104:function(q,o,e){"use strict";e.d(o,{Z:function(){return i}});var r=e(17678);function t(h){return[...h].join(" ")}class l{constructor(g){ee(this,"discoveryApi");ee(this,"environment");ee(this,"provider");ee(this,"joinScopesFunc");ee(this,"authRequester");ee(this,"sessionTransform");const{discoveryApi:m,environment:u,provider:y,joinScopes:s=t,oauthRequestApi:S,sessionTransform:N=D=>D}=g;this.authRequester=S.createAuthRequester({provider:y,onAuthRequest:D=>this.showPopup(D)}),this.discoveryApi=m,this.environment=u,this.provider=y,this.joinScopesFunc=s,this.sessionTransform=N}async createSession(g){return g.instantPopup?this.showPopup(g.scopes):this.authRequester(g.scopes)}async refreshSession(){const g=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(u=>{throw new Error(`Auth refresh request failed, ${u}`)});if(!g.ok){const u=new Error(`Auth refresh request failed, ${g.statusText}`);throw u.status=g.status,u}const m=await g.json();if(m.error){const u=new Error(m.error.message);throw m.error.name&&(u.name=m.error.name),u}return await this.sessionTransform(m)}async removeSession(){const g=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(m=>{throw new Error(`Logout request failed, ${m}`)});if(!g.ok){const m=new Error(`Logout request failed, ${g.statusText}`);throw m.status=g.status,m}}async showPopup(g){const m=this.joinScopesFunc(g),u=await this.buildUrl("/start",{scope:m,origin:location.origin}),y=await(0,r.d)({url:u,name:`${this.provider.title} Login`,origin:new URL(u).origin,width:450,height:730});return await this.sessionTransform(y)}async buildUrl(g,m){const u=await this.discoveryApi.getBaseUrl("auth"),y=this.buildQueryString({...m,env:this.environment});return`${u}/${this.provider.id}${g}${y}`}buildQueryString(g){if(!g)return"";const m=Object.entries(g).map(([u,y])=>{if(typeof y=="string")return`${encodeURIComponent(u)}=${encodeURIComponent(y)}`;if(y)return encodeURIComponent(u)}).filter(Boolean).join("&");return m?`?${m}`:""}}var f=e(55274);const E={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class i{constructor(g){ee(this,"sessionManager");ee(this,"scopeTransform");this.sessionManager=g.sessionManager,this.scopeTransform=g.scopeTransform}static create(g){const{discoveryApi:m,environment:u="development",provider:y=E,oauthRequestApi:s,defaultScopes:S=[],scopeTransform:N=B=>B}=g,D=new l({discoveryApi:m,environment:u,provider:y,oauthRequestApi:s,sessionTransform(B){return{...B,providerInfo:{idToken:B.providerInfo.idToken,accessToken:B.providerInfo.accessToken,scopes:i.normalizeScopes(N,B.providerInfo.scope),expiresAt:new Date(Date.now()+B.providerInfo.expiresInSeconds*1e3)}}}}),Q=new f.q2({connector:D,defaultScopes:new Set(S),sessionScopes:B=>B.providerInfo.scopes,sessionShouldRefresh:B=>(B.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new i({sessionManager:Q,scopeTransform:N})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(g,m){var s;const u=i.normalizeScopes(this.scopeTransform,g),y=await this.sessionManager.getSession({...m,scopes:u});return(s=y==null?void 0:y.providerInfo.accessToken)!=null?s:""}async getIdToken(g={}){var u;const m=await this.sessionManager.getSession(g);return(u=m==null?void 0:m.providerInfo.idToken)!=null?u:""}async getBackstageIdentity(g={}){const m=await this.sessionManager.getSession(g);return m==null?void 0:m.backstageIdentity}async getProfile(g={}){const m=await this.sessionManager.getSession(g);return m==null?void 0:m.profile}static normalizeScopes(g,m){if(!m)return new Set;const u=Array.isArray(m)?m:m.split(/[\s|,]/).filter(Boolean);return new Set(g(u))}}},91205:function(q,o,e){"use strict";e.d(o,{L:function(){return r.Z}});var r=e(15104),t=e(5973),l=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(o,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(o,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(o,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},5973:function(){},26079:function(q,o,e){"use strict";e.d(o,{s:function(){return E}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="okta.";class E{static create(h){const{discoveryApi:g,environment:m="development",provider:u=t,oauthRequestApi:y,defaultScopes:s=["openid","email","profile","offline_access"]}=h;return r.L.create({discoveryApi:g,oauthRequestApi:y,provider:u,environment:m,defaultScopes:s,scopeTransform(S){return S.map(N=>l.has(N)||N.startsWith(f)?N:`${f}${N}`)}})}}},58381:function(q,o,e){"use strict";e.d(o,{$:function(){return E}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="onelogin.";class E{static create(h){const{discoveryApi:g,environment:m="development",provider:u=t,oauthRequestApi:y}=h;return r.L.create({discoveryApi:g,oauthRequestApi:y,provider:u,environment:m,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(s){return s.map(S=>l.has(S)||S.startsWith(f)?S:`${f}${S}`)}})}}},67578:function(q,o,e){"use strict";e.d(o,{n:function(){return h}});var r=e(17678);class t{constructor(m){ee(this,"discoveryApi");ee(this,"environment");ee(this,"provider");const{discoveryApi:u,environment:y,provider:s}=m;this.discoveryApi=u,this.environment=y,this.provider=s}async createSession(){const m=await this.buildUrl("/start"),u=await(0,r.d)({url:m,name:`${this.provider.title} Login`,origin:new URL(m).origin,width:450,height:730});return{...u,id:u.profile.email}}async refreshSession(){}async removeSession(){const m=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(u=>{throw new Error(`Logout request failed, ${u}`)});if(!m.ok){const u=new Error(`Logout request failed, ${m.statusText}`);throw u.status=m.status,u}}async buildUrl(m){return`${await this.discoveryApi.getBaseUrl("auth")}/${this.provider.id}${m}?env=${this.environment}`}}var l=e(55274),f=e(30195);const E=f.z.object({profile:f.z.object({email:f.z.string().optional(),displayName:f.z.string().optional(),picture:f.z.string().optional()}),backstageIdentity:f.z.object({id:f.z.string(),token:f.z.string(),identity:f.z.object({type:f.z.literal("user"),userEntityRef:f.z.string(),ownershipEntityRefs:f.z.array(f.z.string())})})}),i={id:"saml",title:"SAML",icon:()=>null};class h{static create(m){const{discoveryApi:u,environment:y="development",provider:s=i}=m,S=new t({discoveryApi:u,environment:y,provider:s}),N=new l.k1({connector:S}),D=new l.Hc({manager:N,storageKey:`${s.id}Session`,schema:E});return new h(D)}sessionState$(){return this.sessionManager.sessionState$()}constructor(m){this.sessionManager=m}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(m={}){const u=await this.sessionManager.getSession(m);return u==null?void 0:u.backstageIdentity}async getProfile(m={}){const u=await this.sessionManager.getSession(m);return u==null?void 0:u.profile}}},91631:function(q,o,e){"use strict";e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth},Auth0Auth:function(){return r.Auth0Auth},GithubAuth:function(){return r.Td},GitlabAuth:function(){return r.aq},GoogleAuth:function(){return r.eE},MicrosoftAuth:function(){return r.MicrosoftAuth},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},SamlAuth:function(){return r.SamlAuth},AlertApiForwarder:function(){return t.C},NoOpAnalyticsApi:function(){return l.g},AppThemeSelector:function(){return f.C},ConfigReader:function(){return E.m},UrlPatternDiscovery:function(){return i.p},ErrorAlerter:function(){return h.KN},ErrorApiForwarder:function(){return h.gr},UnhandledErrorForwarder:function(){return h.Jv},LocalStorageFeatureFlags:function(){return g.b},FetchMiddlewares:function(){return m.I},createFetchApi:function(){return m.j},OAuthRequestManager:function(){return u.Y},WebStorage:function(){return y.C}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(23235),l=e(47150),f=e(58652),E=e(14721),i=e(4333),h=e(89536),g=e(14884),m=e(50160),u=e(11358),y=e(56054)},56494:function(q,o,e){"use strict";e.d(o,{ApiProvider:function(){return r.gs},AlertApiForwarder:function(){return t.AlertApiForwarder},AppThemeSelector:function(){return t.AppThemeSelector},ConfigReader:function(){return t.ConfigReader},ErrorAlerter:function(){return t.ErrorAlerter},ErrorApiForwarder:function(){return t.ErrorApiForwarder},FetchMiddlewares:function(){return t.FetchMiddlewares},LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags},NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi},OAuthRequestManager:function(){return t.OAuthRequestManager},UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return t.UrlPatternDiscovery},WebStorage:function(){return t.WebStorage},createFetchApi:function(){return t.createFetchApi}});var r=e(76105);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},80396:function(q,o,e){"use strict";e.d(o,{p:function(){return t}});var r;(function(l){l[l.default=10]="default";const f=50;l[l.app=f]="app",l[l.static=100]="static"})(r||(r={}));class t{constructor(){ee(this,"factories",new Map)}register(f,E){const i=r[f],h=this.factories.get(E.api.id);return h&&h.priority>=i?!1:(this.factories.set(E.api.id,{priority:i,factory:E}),!0)}get(f){const E=this.factories.get(f.id);if(!!E)return E.factory}getAllApis(){const f=new Set;for(const{factory:E}of this.factories.values())f.add(E.api);return f}}},14406:function(q,o,e){"use strict";e.d(o,{g:function(){return h}});var r=e(2784),t=e(13980),l=e.n(t);class f{constructor(...m){ee(this,"holders");this.holders=m}get(m){for(const u of this.holders){const y=u.get(m);if(y)return y}}}var E=e(76241);const i=(0,E.CT)("api-context"),h=g=>{var S;const{apis:m,children:u}=g,y=(S=(0,r.useContext)(i))==null?void 0:S.atVersion(1),s=y?new f(m,y):m;return r.createElement(i.Provider,{value:(0,E.EI)({1:s}),children:u})};h.propTypes={apis:l().shape({get:l().func.isRequired}).isRequired,children:l().node}},12132:function(q,o,e){"use strict";e.d(o,{M:function(){return r}});class r{constructor(l){ee(this,"apis",new Map);this.factories=l}static validateFactories(l,f){for(const E of f){const i=[E],h=new Set;for(;i.length;){const g=i.shift(),m=l.get(g);if(!!m)for(const u of Object.values(m.deps)){if(u.id===E.id)throw new Error(`Circular dependency of api factory for ${E}`);h.has(u)||(h.add(u),i.push(u))}}}}get(l){return this.load(l)}load(l,f=[]){const E=this.apis.get(l.id);if(E)return E;const i=this.factories.get(l);if(!i)return;if(f.includes(i.api))throw new Error(`Circular dependency of api factory for ${i.api}`);const h=this.loadDeps(l,i.deps,[...f,i.api]),g=i.factory(h);return this.apis.set(l.id,g),g}loadDeps(l,f,E){const i={};for(const h in f)if(f.hasOwnProperty(h)){const g=f[h],m=this.load(g,E);if(!m)throw new Error(`No API factory available for dependency ${g} of dependent ${l}`);i[h]=m}return i}}},76105:function(q,o,e){"use strict";e.d(o,{gs:function(){return r.g},MM:function(){return t.M},pv:function(){return l.p}});var r=e(14406),t=e(12132),l=e(80396),f=e(82488),E=e.n(f);e.o(f,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return f.Auth0Auth}}),e.o(f,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(o,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"GithubAuth")&&e.d(o,{GithubAuth:function(){return f.GithubAuth}}),e.o(f,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return f.GitlabAuth}}),e.o(f,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return f.GoogleAuth}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuth2")&&e.d(o,{OAuth2:function(){return f.OAuth2}}),e.o(f,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(o,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"SamlAuth")&&e.d(o,{SamlAuth:function(){return f.SamlAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(o,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(o,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return f.createSpecializedApp}}),e.o(f,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return f.defaultConfigLoader}})},82488:function(){},82370:function(q,o,e){"use strict";e.d(o,{b:function(){return te}});var r=e(2784),t=e(10289),l=e(64279),f=e(56494),E=e(36964),i=e(76105);function h(P){const I={};for(const K in P.collectors)P.collectors.hasOwnProperty(K)&&(I[K]=P.collectors[K]());const Z=[{node:r.Children.toArray(P.root),parent:void 0,contexts:{}}];for(;Z.length!==0;){const{node:K,parent:k,contexts:ce}=Z.shift();r.Children.forEach(K,Ee=>{if(!(0,r.isValidElement)(Ee))return;const Ae={};for(const Ze in I)if(I.hasOwnProperty(Ze)){const Oe=I[Ze];Ae[Ze]=Oe.visit(Oe.accumulator,Ee,k,ce[Ze])}for(const Ze of P.discoverers){const Oe=Ze(Ee);Oe&&Z.push({node:Oe,parent:Ee,contexts:Ae})}})}return Object.fromEntries(Object.entries(I).map(([K,k])=>[K,k.accumulator]))}function g(P,I){return()=>({accumulator:P(),visit:I})}function m(P){var I;return(I=P.props)==null?void 0:I.children}function u(P){var I,Z,K;if(((I=P.props)==null?void 0:I.path)&&((Z=P.props)==null?void 0:Z.element))return(K=P.props)==null?void 0:K.element}const y=g(()=>new Set,(P,I)=>{const Z=(0,E.getComponentData)(I,"core.plugin");Z&&P.add(Z)});var s=e(88934);function S(P){var K;const I=(K=P.props)==null?void 0:K.element;let Z=(0,E.getComponentData)(P,"core.mountPoint");return!Z&&(0,r.isValidElement)(I)&&(Z=(0,E.getComponentData)(I,"core.mountPoint")),Z}const N=g(()=>new Map,(P,I,Z,K)=>{var Ee,Ae;let k=K;if((Z==null?void 0:Z.props.element)===I)return k;if((0,E.getComponentData)(I,"core.gatherMountPoints")){const Ze=(Ee=I.props)==null?void 0:Ee.path;if(!Ze)throw new Error("Mount point gatherer must have a path");k=Ze}const ce=S(I);if(ce){let Ze=(Ae=I.props)==null?void 0:Ae.path;if(k&&(Ze?k=void 0:Ze=k),!Ze)throw new Error("Mounted routable extension must have a path");P.set(ce,Ze)}return k}),D=g(()=>new Map,(P,I,Z,K)=>{var Ee;if((Z==null?void 0:Z.props.element)===I)return K;let k=K;const ce=S(I);return ce&&(K&&"sticky"in K?(P.set(ce,K.sticky),((Ee=I.props)==null?void 0:Ee.path)?k=ce:k=K):(P.set(ce,K),k=ce)),(0,E.getComponentData)(I,"core.gatherMountPoints")?{sticky:k}:k}),Q={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},B=g(()=>Array(),(P,I,Z,K)=>{var Oe,he,Ce;const k=(Oe=K==null?void 0:K.children)!=null?Oe:P;if((Z==null?void 0:Z.props.element)===I)return K;const ce=(he=I.props)==null?void 0:he.path,Ee=Boolean((Ce=I.props)==null?void 0:Ce.caseSensitive),Ae=S(I);if(Ae){if(ce){const je={caseSensitive:Ee,path:ce,element:"mounted",routeRefs:new Set([Ae]),children:[Q],plugin:(0,E.getComponentData)(I.props.element,"core.plugin")};return k.push(je),je}K==null||K.routeRefs.add(Ae)}if((0,E.getComponentData)(I,"core.gatherMountPoints")){if(!ce)throw new Error("Mount point gatherer must have a path");const je={caseSensitive:Ee,path:ce,element:"gathered",routeRefs:new Set,children:[Q],plugin:K==null?void 0:K.plugin};return k.push(je),je}return K}),L=g(()=>new Set,(P,I)=>{if(I.type===s.L){const Z=I.props;P.add("with"in Z?Z.with:Z.without)}});var b=e(76241);const F=(0,b.uW)("route-ref-type",()=>Symbol("route-ref-type"));function $(P){return P[F]==="absolute"}function X(P){return P[F]==="sub"}function de(P){return P[F]==="external"}function xe(...P){const I=P.join("/").replace(/\/\/+/g,"/");return I!=="/"&&I.endsWith("/")?I.slice(0,-1):I}function Ie(P,I,Z){let K,k="";if($(P))K=P;else if(X(P))K=P.parent,k=P.path;else if(de(P)){const Ae=Z.get(P);if(!Ae)return[void 0,""];if($(Ae))K=Ae;else if(X(Ae))K=Ae.parent,k=Ae.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${Ae}`)}else throw P[F]?new Error(`Unknown or invalid route ref type, ${P[F]}`):new Error(`Unknown object passed to useRouteRef, got ${P}`);if(!K)return[void 0,""];const ce=I.get(K);if(!ce)return[void 0,""];const Ee=xe(ce,k);return[K,Ee]}function Te(P,I,Z,K,k){var he;const ce=(he=(0,t.fp)(k,I))!=null?he:[],Ee=Array();let Ae=-1;for(let Ce=P;Ce&&(Ae=ce.findIndex(je=>je.route.routeRefs.has(Ce)),Ae===-1);Ce=K.get(Ce))Ee.unshift(Ce);Ee.length===0&&(Ae-=1);const Ze=Ae===-1?"":ce[Ae].pathname,Oe=xe(...Ee.slice(0,-1).map(Ce=>{const je=Z.get(Ce);if(!je)throw new Error(`No path for ${Ce}`);if(je.includes(":"))throw new Error(`Cannot route to ${P} with parent ${Ce} as it has parameters`);return je}));return Ze+Oe}class fe{constructor(I,Z,K,k,ce){this.routePaths=I,this.routeParents=Z,this.routeObjects=K,this.routeBindings=k,this.appBasePath=ce}resolve(I,Z){const[K,k]=Ie(I,this.routePaths,this.routeBindings);if(!K)return;let ce;typeof Z=="string"?ce=this.trimPath(Z):Z.pathname?ce={...Z,pathname:this.trimPath(Z.pathname)}:ce=Z;const Ee=this.appBasePath+Te(K,ce,this.routePaths,this.routeParents,this.routeObjects);return(...[Ze])=>Ee+(0,t.Gn)(k,Ze)}trimPath(I){return I&&(I.startsWith(this.appBasePath)?I.slice(this.appBasePath.length):I)}}const Ge=(0,b.CT)("routing-context"),we=({routePaths:P,routeParents:I,routeObjects:Z,routeBindings:K,basePath:k="",children:ce})=>{const Ee=new fe(P,I,Z,K,k),Ae=(0,b.EI)({1:Ee});return r.createElement(Ge.Provider,{value:Ae},ce)},Qe=(P,I)=>{var Z,K;try{const k=(0,t.fp)(I,{pathname:P}),ce=(Z=k==null?void 0:k.filter(Ae=>{var Ze;return((Ze=Ae==null?void 0:Ae.route.routeRefs)==null?void 0:Ze.size)>0}).pop())==null?void 0:Z.route;if(!ce)return{};let Ee;return ce.routeRefs.size===1&&(Ee=ce.routeRefs.values().next().value),{extension:"App",pluginId:((K=ce.plugin)==null?void 0:K.getId())||"root",...Ee?{routeRef:Ee.id}:{}}}catch{return{}}},_e=({pathname:P,search:I,hash:Z})=>{const K=(0,E.useAnalytics)();return(0,r.useEffect)(()=>{K.captureEvent("navigate",`${P}${I}${Z}`)},[K,P,I,Z]),null},nt=({tree:P})=>{const{pathname:I,search:Z,hash:K}=(0,t.TH)(),{routeObjects:k}=(0,r.useMemo)(()=>h({root:P,discoverers:[m,u],collectors:{routeObjects:B}}),[P]);return r.createElement(E.AnalyticsContext,{attributes:Qe(I,k)},r.createElement(_e,{pathname:I,search:Z,hash:K}))};function mt(P,I){const Z=new Set(I.values());Z.delete(void 0);for(const K of I.keys()){if(Z.has(K))continue;let k=K,ce="";for(;k;){const Ae=P.get(k);if(!Ae)throw new Error(`No path for ${k}`);ce=`${Ae}${ce}`,k=I.get(k)}const Ee=ce.match(/:(\w+)/g);if(Ee){for(let Ae=0;Ae<Ee.length;Ae++)for(let Ze=Ae+1;Ze<Ee.length;Ze++)if(Ee[Ze]===Ee[Ae])throw new Error(`Parameter ${Ee[Ze]} is duplicated in path ${ce}`)}}}function ot(P,I){for(const Z of I)if(!!Z.externalRoutes){for(const[K,k]of Object.entries(Z.externalRoutes))if(!k.optional&&!P.has(k))throw new Error(`External route '${K}' of the '${Z.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const Rt=(0,b.CT)("app-context"),Wt=({appContext:P,children:I})=>{const Z=(0,b.EI)({1:P});return r.createElement(Rt.Provider,{value:Z,children:I})};function $t(P){return new Error(`Tried to access IdentityApi ${P} before app was loaded`)}function At(P){console.warn(`WARNING: Call to ${P} is deprecated and will break in the future`)}class st{constructor(){ee(this,"target");ee(this,"waitForTarget");ee(this,"resolveTarget",()=>{});this.waitForTarget=new Promise(I=>{this.resolveTarget=I})}setTarget(I){this.target=I,this.resolveTarget(I)}getUserId(){if(!this.target)throw $t("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return At("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw $t("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return At("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(I=>I.getProfileInfo())}async getBackstageIdentity(){const I=await this.waitForTarget.then(Z=>Z.getBackstageIdentity());return I.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${I.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),I}async getCredentials(){return this.waitForTarget.then(I=>I.getCredentials())}async getIdToken(){return this.waitForTarget.then(I=>{if(!I.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return At("getIdToken"),I.getIdToken()})}async signOut(){await this.waitForTarget.then(I=>I.signOut()),location.reload()}}var gt=e(72164);function Lt(P,I,Z){if(P!==void 0){const k=Z.find(ce=>ce.id===P);if(k)return k}if(I){const k=Z.find(ce=>ce.variant==="dark");if(k)return k}const K=Z.find(k=>k.variant==="light");return K||Z[0]}const xt=()=>{const P=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[I,Z]=(0,r.useState)(P.matches);return(0,r.useEffect)(()=>{const K=k=>{Z(k.matches)};return P.addListener(K),()=>{P.removeListener(K)}},[P]),I};function Ut({children:P}){const I=(0,E.useApi)(E.appThemeApiRef),Z=(0,gt.Z)(I.activeThemeId$(),I.getActiveThemeId()),K=Boolean(window.matchMedia)?xt():!1,k=Lt(Z,K,I.getInstalledThemes());if(!k)throw new Error("App has no themes");return r.createElement(k.Provider,{children:P})}var Pt=e(46611);class Ct{constructor(){ee(this,"apis",[])}add(I,Z){return this.apis.push([I.id,Z]),Z}build(){return new pt(new Map(this.apis))}}class pt{static builder(){return new Ct}static from(I){return new pt(new Map(I.map(([Z,K])=>[Z.id,K])))}static with(I,Z){return new pt(new Map([[I.id,Z]]))}constructor(I){this.apis=I}with(I,Z){return new pt(new Map([...this.apis,[I.id,Z]]))}get(I){return this.apis.get(I.id)}}function Me(P){const I=new Map;return P&&P({bind:(K,k)=>{for(const[ce,Ee]of Object.entries(k)){const Ae=K[ce];if(!Ae)throw new Error(`Key ${ce} is not an existing external route`);if(!Ee&&!Ae.optional)throw new Error(`External route ${ce} is required but was undefined`);Ee&&I.set(Ae,Ee)}}}),I}function rt(P){var Z;let{pathname:I}=new URL((Z=P.getOptionalString("app.baseUrl"))!=null?Z:"/","http://dummy.dev");return I=I.replace(/\/*$/,""),I}function Xe(P,I,Z){var Ze;const K=Boolean(P),k=(0,l.default)(P||(()=>Promise.resolve([])));let ce;if(K&&k.loading){const{Progress:Oe}=I;ce=r.createElement(Oe,null)}else if(k.error){const{BootErrorPage:Oe}=I;ce=r.createElement(Oe,{step:"load-config",error:k.error})}const{ThemeProvider:Ee=Ut}=I;return ce?{node:r.createElement(f.ApiProvider,{apis:pt.with(E.appThemeApiRef,Z)},r.createElement(Ee,null,ce))}:{api:f.ConfigReader.fromConfigs((Ze=k.value)!=null?Ze:[])}}class Tt{constructor(I){this.app=I}getPlugins(){return this.app.getPlugins()}getSystemIcon(I){return this.app.getSystemIcon(I)}getComponents(){return this.app.getComponents()}}class ie{constructor(I){ee(this,"apiHolder");ee(this,"configApi");ee(this,"apis");ee(this,"icons");ee(this,"plugins");ee(this,"components");ee(this,"themes");ee(this,"configLoader");ee(this,"defaultApis");ee(this,"bindRoutes");ee(this,"appIdentityProxy",new st);ee(this,"apiFactoryRegistry");var Z,K,k,ce;this.apis=(Z=I.apis)!=null?Z:[],this.icons=I.icons,this.plugins=new Set((K=I.plugins)!=null?K:[]),this.components=I.components,this.themes=I.themes,this.configLoader=(k=I.configLoader)!=null?k:Pt.t,this.defaultApis=(ce=I.defaultApis)!=null?ce:[],this.bindRoutes=I.bindRoutes,this.apiFactoryRegistry=new i.pv}getPlugins(){return Array.from(this.plugins)}getSystemIcon(I){return this.icons[I]}getComponents(){return this.components}getProvider(){const I=new Tt(this);let Z=!1;return({children:k})=>{const ce=(0,r.useMemo)(()=>f.AppThemeSelector.createWithStorage(this.themes),[]),{routePaths:Ee,routeParents:Ae,routeObjects:Ze,featureFlags:Oe,routeBindings:he}=(0,r.useMemo)(()=>{const dt=h({root:k,discoverers:[m,u],collectors:{routePaths:N,routeParents:D,routeObjects:B,collectedPlugins:y,featureFlags:L}});return dt.collectedPlugins.forEach(ke=>this.plugins.add(ke)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...dt,routeBindings:Me(this.bindRoutes)}},[k]);Z||(Z=!0,mt(Ee,Ae),ot(he,this.plugins));const Ce=Xe(this.configLoader,this.components,ce),je="api"in Ce;if(je){const{api:dt}=Ce;this.configApi=dt}if((0,r.useEffect)(()=>{if(je){const dt=this.getApiHolder().get(E.featureFlagsApiRef);for(const ke of this.plugins.values())if("getFeatureFlags"in ke)for(const oe of ke.getFeatureFlags())dt.registerFlag({name:oe.name,pluginId:ke.getId()});else for(const oe of ke.output())oe.type==="feature-flag"&&dt.registerFlag({name:oe.name,pluginId:ke.getId()});for(const ke of Oe)dt.registerFlag({name:ke,pluginId:""})}},[je,Ce,Oe]),"node"in Ce)return Ce.node;const{ThemeProvider:lt=Ut}=this.components;return r.createElement(f.ApiProvider,{apis:this.getApiHolder()},r.createElement(Wt,{appContext:I},r.createElement(lt,null,r.createElement(we,{routePaths:Ee,routeParents:Ae,routeObjects:Ze,routeBindings:he,basePath:rt(Ce.api)},k))))}}getRouter(){const{Router:I,SignInPage:Z}=this.components,K=({component:ce,children:Ee})=>{const[Ae,Ze]=(0,r.useState)();return Ae?(this.appIdentityProxy.setTarget(Ae),Ee):r.createElement(ce,{onSignInSuccess:Ze})};return({children:ce})=>{const Ee=(0,E.useApi)(E.configApiRef),Ae=`${rt(Ee)}/*`;return Z?r.createElement(I,null,r.createElement(nt,{tree:ce}),r.createElement(K,{component:Z},r.createElement(t.Z5,null,r.createElement(t.AW,{path:Ae,element:r.createElement(r.Fragment,null,ce)})))):(this.appIdentityProxy.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()=>{}}),r.createElement(I,null,r.createElement(nt,{tree:ce}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:Ae,element:r.createElement(r.Fragment,null,ce)}))))}}getApiHolder(){if(this.apiHolder){for(const I of this.plugins)for(const Z of I.getApis())this.apiFactoryRegistry.get(Z.api)||this.apiFactoryRegistry.register("default",Z);return i.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:E.appThemeApiRef,deps:{},factory:()=>f.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:E.configApiRef,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:E.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:E.featureFlagsApiRef,deps:{},factory:()=>new f.LocalStorageFeatureFlags});for(const I of this.defaultApis)this.apiFactoryRegistry.register("default",I);for(const I of this.plugins)for(const Z of I.getApis())if(!this.apiFactoryRegistry.register("default",Z))throw new Error(`Plugin ${I.getId()} tried to register duplicate or forbidden API factory for ${Z.api}`);for(const I of this.apis)if(!this.apiFactoryRegistry.register("app",I))throw new Error(`Duplicate or forbidden API factory for ${I.api} in app`);return i.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new i.MM(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(I){const Z=new Set;for(const K of I){const k=K.getId();if(Z.has(k))throw new Error(`Duplicate plugin found '${k}'`);Z.add(k)}}}function te(P){return new ie(P)}},46611:function(q,o,e){"use strict";e.d(o,{t:function(){return r}});const r=async(t="__APP_INJECTED_RUNTIME_CONFIG__")=>{const l=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external",requestUrl:"http://localhost:3000/api"}}}];if(!l)throw new Error("No static configuration provided");if(!Array.isArray(l))throw new Error("Static configuration has invalid format");const f=l.slice();if(t!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const i=JSON.parse(t);Array.isArray(i)?f.push(...i):f.push({data:i,context:"env"})}catch(i){throw new Error(`Failed to load runtime configuration, ${i}`)}const E=window.__APP_CONFIG__;return E&&f.push({context:"window",data:E}),f}},44056:function(q,o,e){"use strict";e.d(o,{b:function(){return r.b},t:function(){return t.t}});var r=e(82370),t=e(46611),l=e(73495),f=e.n(l);e.o(l,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return l.AtlassianAuth}}),e.o(l,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return l.Auth0Auth}}),e.o(l,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return l.BitbucketAuth}}),e.o(l,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return l.FlatRoutes}}),e.o(l,"GithubAuth")&&e.d(o,{GithubAuth:function(){return l.GithubAuth}}),e.o(l,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return l.GitlabAuth}}),e.o(l,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return l.GoogleAuth}}),e.o(l,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return l.MicrosoftAuth}}),e.o(l,"OAuth2")&&e.d(o,{OAuth2:function(){return l.OAuth2}}),e.o(l,"OktaAuth")&&e.d(o,{OktaAuth:function(){return l.OktaAuth}}),e.o(l,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return l.OneLoginAuth}}),e.o(l,"SamlAuth")&&e.d(o,{SamlAuth:function(){return l.SamlAuth}})},73495:function(){},49208:function(q,o,e){"use strict";e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi},OAuthRequestManager:function(){return r.OAuthRequestManager},UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return r.UrlPatternDiscovery},WebStorage:function(){return r.WebStorage},createFetchApi:function(){return r.createFetchApi},createSpecializedApp:function(){return t.b},defaultConfigLoader:function(){return t.t},FlatRoutes:function(){return l.w}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}});var l=e(63938)},55274:function(q,o,e){"use strict";e.d(o,{Hc:function(){return g},q2:function(){return i},k1:function(){return h}});function r(m,u){for(const y of u)if(!m.has(y))return!1;return!0}class t{constructor(u){this.options=u}sessionExistsAndHasScope(u,y){if(!u)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const s=this.options.sessionScopes(u);return r(s,y)}getExtendedScope(u,y){const s=new Set(this.options.defaultScopes);if(u&&this.options.sessionScopes!==void 0){const S=this.options.sessionScopes(u);for(const N of S)s.add(N)}if(y)for(const S of y)s.add(S);return s}}var l=e(98005),f=e(36964);class E{constructor(){ee(this,"subject",new l.X(f.SessionState.SignedOut));ee(this,"signedIn",!1)}setIsSignedIn(u){this.signedIn!==u&&(this.signedIn=u,this.subject.next(this.signedIn?f.SessionState.SignedIn:f.SessionState.SignedOut))}sessionState$(){return this.subject}}class i{constructor(u){ee(this,"connector");ee(this,"helper");ee(this,"sessionScopesFunc");ee(this,"sessionShouldRefreshFunc");ee(this,"stateTracker",new E);ee(this,"refreshPromise");ee(this,"currentSession");const{connector:y,defaultScopes:s=new Set,sessionScopes:S,sessionShouldRefresh:N}=u;this.connector=y,this.sessionScopesFunc=S,this.sessionShouldRefreshFunc=N,this.helper=new t({sessionScopes:S,defaultScopes:s})}async getSession(u){if(this.helper.sessionExistsAndHasScope(this.currentSession,u.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const s=await this.collapsedSessionRefresh(),S=this.sessionScopesFunc(this.currentSession),N=this.sessionScopesFunc(s);return r(N,S)&&(this.currentSession=s),s}catch(s){if(u.optional)return;throw s}}if(!this.currentSession&&!u.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(u)}catch{}if(!u.optional)return this.currentSession=await this.connector.createSession({...u,scopes:this.helper.getExtendedScope(this.currentSession,u.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(){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession();try{const u=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),u}finally{delete this.refreshPromise}}}class h{constructor(u){ee(this,"connector");ee(this,"helper");ee(this,"stateTracker",new E);ee(this,"currentSession");const{connector:y,defaultScopes:s=new Set,sessionScopes:S}=u;this.connector=y,this.helper=new t({sessionScopes:S,defaultScopes:s})}setSession(u){this.currentSession=u,this.stateTracker.setIsSignedIn(Boolean(u))}async getSession(u){if(this.helper.sessionExistsAndHasScope(this.currentSession,u.scopes))return this.currentSession;if(!u.optional)return this.currentSession=await this.connector.createSession({...u,scopes:this.helper.getExtendedScope(this.currentSession,u.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}class g{constructor(u){ee(this,"manager");ee(this,"storageKey");ee(this,"schema");ee(this,"sessionShouldRefreshFunc");ee(this,"helper");const{manager:y,storageKey:s,schema:S,sessionScopes:N,sessionShouldRefresh:D=()=>!1}=u;this.manager=y,this.storageKey=s,this.schema=S,this.sessionShouldRefreshFunc=D,this.helper=new t({sessionScopes:N,defaultScopes:new Set})}setSession(u){this.manager.setSession(u),this.saveSession(u)}async getSession(u){const{scopes:y}=u,s=this.loadSession();if(this.helper.sessionExistsAndHasScope(s,y)&&!this.sessionShouldRefreshFunc(s))return this.manager.setSession(s),s;const S=await this.manager.getSession(u);return this.saveSession(S),S}async removeSession(){localStorage.removeItem(this.storageKey),await this.manager.removeSession()}sessionState$(){return this.manager.sessionState$()}loadSession(){try{const u=localStorage.getItem(this.storageKey);if(u){const y=JSON.parse(u,(s,S)=>(S==null?void 0:S.__type)==="Set"?new Set(S.__value):S);try{return this.schema.parse(y)}catch(s){throw console.log(`Failed to load session from local storage because it did not conform to the expected schema, ${s}`),s}}return}catch{localStorage.removeItem(this.storageKey);return}}saveSession(u){if(u===void 0){localStorage.removeItem(this.storageKey);return}try{this.schema.parse(u)}catch(y){console.warn(`Failed to save session to local storage because it did not conform to the expected schema, ${y}`);return}localStorage.setItem(this.storageKey,JSON.stringify(u,(y,s)=>s instanceof Set?{__type:"Set",__value:Array.from(s)}:s))}}},17678:function(q,o,e){"use strict";e.d(o,{d:function(){return r}});function r(t){return new Promise((l,f)=>{const E=t.width||500,i=t.height||700,h=window.screen.width/2-E/2,g=window.screen.height/2-i/2,m=window.open(t.url,t.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${E},height=${i},top=${g},left=${h}`);let u="";if(!m||typeof m.closed=="undefined"||m.closed){const N=new Error("Failed to open auth popup.");N.name="PopupRejectedError",f(N);return}const y=N=>{if(N.source!==m||N.origin!==t.origin)return;const{data:D}=N;if(D.type==="config_info"){u=D.targetOrigin;return}if(D.type!=="authorization_response")return;const Q=D;if("error"in Q){const B=new Error(Q.error.message);B.name=Q.error.name,f(B)}else l(Q.response);S()},s=setInterval(()=>{if(m.closed){const N=`Login failed, ${u&&u!==window.location.origin?`Incorrect app origin, expected ${u}`:"popup was closed"}`,D=new Error(N);D.name="PopupClosedError",f(D),S()}},100);function S(){window.removeEventListener("message",y),clearInterval(s)}window.addEventListener("message",y)})}},98005:function(q,o,e){"use strict";e.d(o,{J:function(){return l},X:function(){return f}});var r=e(82394),t=e.n(r);class l{constructor(){ee(this,"isClosed",!1);ee(this,"terminatingError");ee(this,"observable",new(t())(i=>this.isClosed?(this.terminatingError?i.error(this.terminatingError):i.complete(),()=>{}):(this.subscribers.add(i),()=>{this.subscribers.delete(i)})));ee(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(i){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(h=>h.next(i))}error(i){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=i,this.subscribers.forEach(h=>h.error(i))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(i=>i.complete())}subscribe(i,h,g){const m=typeof i=="function"?{next:i,error:h,complete:g}:i;return this.observable.subscribe(m)}}class f{constructor(i){ee(this,"isClosed");ee(this,"currentValue");ee(this,"terminatingError");ee(this,"observable");ee(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=i,this.terminatingError=void 0,this.observable=new(t())(h=>this.isClosed?(this.terminatingError?h.error(this.terminatingError):h.complete(),()=>{}):(h.next(this.currentValue),this.subscribers.add(h),()=>{this.subscribers.delete(h)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(i){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=i,this.subscribers.forEach(h=>h.next(i))}error(i){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=i,this.subscribers.forEach(h=>h.error(i))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(i=>i.complete())}subscribe(i,h,g){const m=typeof i=="function"?{next:i,error:h,complete:g}:i;return this.observable.subscribe(m)}}},88934:function(q,o,e){"use strict";e.d(o,{L:function(){return l}});var r=e(36964),t=e(2784);const l=f=>{const{children:E}=f,i=(0,r.useApi)(r.featureFlagsApiRef),h="with"in f?i.isActive(f.with):!i.isActive(f.without);return t.createElement(t.Fragment,null,h?E:null)};(0,r.attachComponentData)(l,"core.featureFlagged",!0)},63938:function(q,o,e){"use strict";e.d(o,{w:function(){return f}});var r=e(2784),t=e(10289),l=e(36964);const f=i=>{const h=(0,l.useApp)(),{NotFoundErrorPage:g}=h.getComponents(),m=(0,l.useElementFilter)(i.children,u=>u.getElements().flatMap(y=>{var S;let s=y.props.path;return s===""?[]:(s=(S=s==null?void 0:s.replace(/\/\*$/,""))!=null?S:"/",[{path:s,element:y,children:y.props.children?[{path:s==="/"?"/":"/*",element:y.props.children}]:void 0}])}).sort((y,s)=>s.path.localeCompare(y.path)).map(y=>(y.path=y.path==="/"?"/":`${y.path}/*`,y)));return m.push({element:r.createElement(g,null),path:"/*"}),(0,t.V$)(m)};var E=e(88934)},9118:function(q,o,e){"use strict";e.d(o,{Button:function(){return B},CodeSnippet:function(){return fe},Content:function(){return ka},ContentHeader:function(){return ri},CreateButton:function(){return Qe},DependencyGraph:function(){return he},DependencyGraphTypes:function(){return r},EmptyState:function(){return O},ErrorPage:function(){return li},ErrorPanel:function(){return ht},Header:function(){return so},HeaderIconLinkRow:function(){return Qr},HeaderLabel:function(){return Ei},HeaderTabs:function(){return qa},InfoCard:function(){return jn},ItemCardGrid:function(){return Pi},ItemCardHeader:function(){return Si},Link:function(){return D},LogViewer:function(){return hn},MissingAnnotationEmptyState:function(){return be},OverflowTooltip:function(){return Ir},Page:function(){return lo},PageWithHeader:function(){return Oi},Progress:function(){return kn},ResponseErrorPanel:function(){return Un},RoutedTabs:function(){return _a},Select:function(){return yt},Sidebar:function(){return qo},SidebarContext:function(){return zr},SidebarDivider:function(){return ms},SidebarItem:function(){return Qa},SidebarPage:function(){return wo},SidebarPinStateContext:function(){return gr},SubvalueCell:function(){return Is},SupportButton:function(){return Uo},Table:function(){return Ys},WarningPanel:function(){return Ln},sidebarConfig:function(){return Xt},useContent:function(){return Ra},useQueryParamState:function(){return Do}});var r={};e.r(r),e.d(r,{Nm:function(){return _e},ht:function(){return ot},LJ:function(){return mt}});var t=e(2784),l=e(36964),f=e(19928);function E(n){const[a,c]=useState([]),d=useApi(alertApiRef);if(useEffect(()=>{const x=d.alert$().subscribe(U=>c(J=>J.concat(U)));return()=>{x.unsubscribe()}},[d]),a.length===0)return null;const[p]=a,R=()=>{c(x=>x.filter(U=>U!==p))};return React.createElement(Snackbar,{open:!0,anchorOrigin:{vertical:"top",horizontal:"center"}},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:R,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:p.severity},React.createElement("span",null,p.message.toString(),a.length>1&&React.createElement("em",null,` (${a.length-1} older ${pluralize("message",a.length-1)})`))))}var i=e(79692),h=e(12420);const g=(0,i.Z)(n=>(0,h.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function m(n){const{displayName:a,picture:c,customStyles:d}=n,p=g();return React.createElement(MaterialAvatar,{alt:a,src:c,className:p.avatar,style:{backgroundColor:stringToColor(a||c||""),...d}},a&&extractInitials(a))}var u=e(77277),y=e(86689),s=e(62833);const S=n=>/^([a-z+.-]+):/.test(n),N=n=>{var a;return n instanceof Array?n.map(N).join(" ").trim():typeof n=="object"&&n?N((a=n==null?void 0:n.props)==null?void 0:a.children):["string","number"].includes(typeof n)?String(n):""},D=t.forwardRef(({onClick:n,noTrack:a,...c},d)=>{const p=(0,l.useAnalytics)(),R=String(c.to),x=N(c.children)||R,U=S(R),J=U&&!!/^https?:/.exec(R),z=ae=>{n==null||n(ae),a||p.captureEvent("click",x,{attributes:{to:R}})};return U?t.createElement(y.Z,{ref:d,href:R,onClick:z,...J?{target:"_blank",rel:"noopener"}:{},...c}):t.createElement(y.Z,{ref:d,component:s.rU,onClick:z,...c})}),Q=t.forwardRef((n,a)=>t.createElement(D,{ref:a,...n,color:"initial"})),B=t.forwardRef((n,a)=>t.createElement(u.Z,{ref:a,component:Q,...n}));var L=e(60364),b=e(61837),F=e(80030),$=e(19353),X=e(55295);function de(n){const{text:a,tooltipDelay:c=1e3,tooltipText:d="Text copied to clipboard"}=n,p=(0,l.useApi)(l.errorApiRef),[R,x]=(0,t.useState)(!1),[{error:U},J]=(0,X.Z)();(0,t.useEffect)(()=>{U&&p.post(U)},[U,p]);const z=ae=>{ae.stopPropagation(),x(!0),J(a)};return t.createElement(t.Fragment,null,t.createElement(F.ZP,{id:"copy-test-tooltip",title:d,placement:"top",leaveDelay:c,onClose:()=>x(!1),open:R},t.createElement(b.Z,{onClick:z},t.createElement($.Z,null))))}var xe=e(70813),Ie=e(26639),Te=e(39595);function fe(n){const{text:a,language:c,showLineNumbers:d=!1,highlightedNumbers:p,customStyle:R,showCopyCodeButton:x=!1}=n,U=(0,L.Z)(),J=U.palette.type==="dark"?Ie.Z:Te.Z,z=U.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(xe.Z,{customStyle:R,language:c,style:J,showLineNumbers:d,wrapLines:!0,lineNumberStyle:{color:U.palette.textVerySubtle},lineProps:ae=>(p==null?void 0:p.includes(ae))?{style:{backgroundColor:z}}:{}},a),x&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(de,{text:a})))}var Ge=e(41156),we=e(88188);function Qe(n){const{title:a,to:c}=n,d=(0,Ge.Z)(p=>p.breakpoints.down("xs"));return c?d?t.createElement(b.Z,{component:s.rU,color:"primary",title:a,size:"small",to:c},t.createElement(we.Z,null)):t.createElement(u.Z,{component:s.rU,variant:"contained",color:"primary",to:c},a):null}var _e;(function(n){const a="TB";n.TOP_BOTTOM=a;const c="BT";n.BOTTOM_TOP=c;const d="LR";n.LEFT_RIGHT=d;const p="RL";n.RIGHT_LEFT=p})(_e||(_e={}));var nt;(function(n){const a="UL";n.UP_LEFT=a;const c="UR";n.UP_RIGHT=c;const d="DL";n.DOWN_LEFT=d;const p="DR";n.DOWN_RIGHT=p})(nt||(nt={}));var mt;(function(n){const a="network-simplex";n.NETWORK_SIMPLEX=a;const c="tight-tree";n.TIGHT_TREE=c;const d="longest-path";n.LONGEST_PATH=d})(mt||(mt={}));var ot;(function(n){const a="l";n.LEFT=a;const c="r";n.RIGHT=c;const d="c";n.CENTER=d})(ot||(ot={}));var Rt=e(13387),Wt=e(11105),$t=e(97963),At=e(46506),st=e.n(At),gt=e(54073),Lt=e.n(gt),xt=e(10368);const Ut=(0,i.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function Pt({node:{id:n}}){const a=Ut(),[c,d]=t.useState(0),[p,R]=t.useState(0),x=t.useRef(null);t.useLayoutEffect(()=>{if(x.current){let{height:ae,width:le}=x.current.getBBox();ae=Math.round(ae),le=Math.round(le),(ae!==p||le!==c)&&(d(le),R(ae))}},[c,p]);const U=10,J=c+U*2,z=p+U*2;return t.createElement("g",null,t.createElement("rect",{className:a.node,width:J,height:z,rx:10}),t.createElement("text",{ref:x,className:a.text,y:z/2,x:J/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const Ct="arrow-marker",pt="node",Me="edge",rt="label",Xe=(0,xt.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),Tt=n=>t.createElement(Pt,{...n});function ie({render:n=Tt,setNode:a,node:c}){const{width:d,height:p,x:R=0,y:x=0}=c,U=c,J=Xe(),z=t.useRef(null);return t.useLayoutEffect(()=>{if(z.current){let{height:ae,width:le}=z.current.getBBox();ae=Math.round(ae),le=Math.round(le),(ae!==p||le!==d)&&a(c.id,{...c,height:ae,width:le})}},[c,d,p,a]),t.createElement("g",{ref:z,"data-testid":pt,className:J.node,transform:`translate(${R-d/2},${x-p/2})`},n({node:U}))}var te=e(40408),P=e(49810),I=e(19574),Z=e.n(I);const K=(0,xt.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function k({edge:{label:n}}){const a=K();return t.createElement("text",{className:a.text,textAnchor:"middle"},n)}const ce=(0,xt.Z)(n=>({path:{strokeWidth:2,stroke:n.palette.textSubtle,fill:"none",transition:`${n.transitions.duration.shortest}ms`},label:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphEdge"}),Ee=n=>t.createElement(k,{...n}),Ae=te.Z().x(n=>n.x).y(n=>n.y).curve(P.Z);function Ze({render:n=Ee,setEdge:a,id:c,edge:d}){const{x:p=0,y:R=0,width:x,height:U,points:J}=d,z=d,ae=ce(),le=t.useRef(null);t.useLayoutEffect(()=>{if(le.current){let{height:Re,width:Se}=le.current.getBBox();Re=Math.round(Re),Se=Math.round(Se),(Re!==U||Se!==x)&&a(c,{...d,height:Re,width:Se})}},[d,U,x,a,c]);let ye="";if(J){const Re=J.filter(Se=>Z()(Se.x)&&Z()(Se.y));ye=Ae(Re)||""}return t.createElement(t.Fragment,null,ye&&t.createElement("path",{"data-testid":Me,className:ae.path,markerEnd:`url(#${Ct})`,d:ye}),z.label?t.createElement("g",{ref:le,"data-testid":rt,className:ae.label,transform:`translate(${p},${R})`},n({edge:z})):null)}const Oe="workspace";function he(n){var yr,po;const{edges:a,nodes:c,renderNode:d,direction:p=_e.TOP_BOTTOM,align:R,nodeMargin:x=50,edgeMargin:U=10,rankMargin:J=50,paddingX:z=0,paddingY:ae=0,acyclicer:le,ranker:ye=mt.NETWORK_SIMPLEX,labelPosition:Re=ot.RIGHT,labelOffset:Se=10,edgeRanks:ut=1,edgeWeight:Nt=1,renderLabel:an,defs:kt,zoom:it="enabled",...Dt}=n,Zt=(0,$t.Z)(),[on,Gn]=t.useState(100),[Tn,Vr]=t.useState(100),Ot=t.useRef(new(st()).graphlib.Graph),[Kn,Oa]=t.useState(((yr=Ot.current.graph())==null?void 0:yr.width)||0),[tr,xa]=t.useState(((po=Ot.current.graph())==null?void 0:po.height)||0),[fa,ma]=t.useState([]),[Da,ln]=t.useState([]),An=Math.max(Kn,on),Pn=Math.max(tr,Tn),nr=t.useMemo(()=>Lt()(Jt=>{if(!Jt)return;const cn=Wt.Z(Jt),jt=Wt.Z(Jt.getElementById(Oe));function Mn(){cn.call(Rt.sP().scaleExtent([1,10]).on("zoom",wn=>{wn.transform.x=Math.min(0,Math.max(wn.transform.x,An-An*wn.transform.k)),wn.transform.y=Math.min(0,Math.max(wn.transform.y,Pn-Pn*wn.transform.k)),jt.attr("transform",wn.transform)}))}it==="enabled"?Mn():it==="enable-on-click"&&cn.on("click",()=>Mn());const{width:Nn,height:ha}=Jt.getBoundingClientRect();on!==Nn&&Gn(Nn),Tn!==ha&&Vr(ha)},100),[Tn,on,An,Pn,it]),en=t.useCallback(()=>{const Jt=Ot.current.nodes(),cn=Ot.current.edges();Jt.forEach(jt=>{c.some(Nn=>Nn.id===jt)||Ot.current.removeNode(jt)}),cn.forEach(jt=>{a.some(Nn=>Nn.from===jt.v&&Nn.to===jt.w)||Ot.current.removeEdge(jt.v,jt.w)}),c.forEach(jt=>{const Mn=Ot.current.nodes().find(Nn=>jt.id===Nn);if(Mn&&Ot.current.node(Mn)){const{width:Nn,height:ha,x:wn,y:Gi}=Ot.current.node(Mn);Ot.current.setNode(Mn,{...jt,width:Nn,height:ha,x:wn,y:Gi})}else Ot.current.setNode(jt.id,{...jt,width:0,height:0})}),a.forEach(jt=>{Ot.current.setEdge(jt.from,jt.to,{...jt,label:jt.label,width:0,height:0,labelpos:Re,labeloffset:Se,weight:Nt,minlen:ut})})},[a,c,Re,Se,Nt,ut]),tn=t.useMemo(()=>Lt()(()=>{st().layout(Ot.current);const{height:Jt,width:cn}=Ot.current.graph(),jt=Math.max(0,Jt||0),Mn=Math.max(0,cn||0);Oa(Mn),xa(jt),ma(Ot.current.nodes()),ln(Ot.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(Ot.current.setGraph({rankdir:p,align:R,nodesep:x,edgesep:U,ranksep:J,marginx:z,marginy:ae,acyclicer:le,ranker:ye}),en(),tn(),tn.cancel),[le,R,p,U,z,ae,x,J,ye,en,tn]);function pr(Jt,cn){return Ot.current.setNode(Jt,cn),tn(),Ot.current}function rr(Jt,cn){return Ot.current.setEdge(Jt,cn),tn(),Ot.current}return t.createElement("svg",{ref:nr,...Dt,width:"100%",height:Pn,viewBox:`0 0 ${An} ${Pn}`},t.createElement("defs",null,t.createElement("marker",{id:Ct,viewBox:"0 0 24 24",markerWidth:"14",markerHeight:"14",refX:"16",refY:"12",orient:"auto",markerUnits:"strokeWidth"},t.createElement("path",{fill:Zt.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),kt),t.createElement("g",{id:Oe},t.createElement("svg",{width:Kn,height:tr,y:Pn/2-tr/2,x:An/2-Kn/2,viewBox:`0 0 ${Kn} ${tr}`},Da.map(Jt=>{const cn=Ot.current.edge(Jt);return cn?t.createElement(Ze,{key:`${Jt.v}-${Jt.w}`,id:Jt,setEdge:rr,render:an,edge:cn}):null}),fa.map(Jt=>{const cn=Ot.current.node(Jt);return cn?t.createElement(ie,{key:Jt,setNode:pr,render:d,node:cn}):null}))))}var Ce=e(72779),je=e.n(Ce);const lt=(0,i.Z)(n=>{var a;return{root:{padding:n.spacing(0),marginBottom:n.spacing(0),marginTop:n.spacing(0),display:"flex",flexFlow:"row nowrap"},topPosition:{position:"relative",marginBottom:n.spacing(6),marginTop:-n.spacing(3),zIndex:"unset"},icon:{fontSize:20},content:{width:"100%",maxWidth:"inherit",flexWrap:"nowrap"},message:{display:"flex",alignItems:"center",color:n.palette.banner.text,"& a":{color:n.palette.banner.link}},info:{backgroundColor:n.palette.banner.info},error:{backgroundColor:n.palette.banner.error},warning:{backgroundColor:(a=n.palette.banner.warning)!=null?a:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),dt=n=>{var Re;const{variant:a,message:c,id:d,fixed:p=!1}=n,R=lt(),U=useApi(storageApiRef).forBucket("notifications"),J=(Re=U.get("dismissedBanners"))!=null?Re:[],[z,ae]=useState(new Set(J)),le=useObservable(U.observe$("dismissedBanners"));useEffect(()=>{var Se;if(le==null?void 0:le.newValue){const ut=(Se=le==null?void 0:le.newValue)!=null?Se:[];ae(new Set(ut))}},[le==null?void 0:le.newValue]);const ye=()=>{U.set("dismissedBanners",[...z,d])};return React.createElement(Snackbar,{anchorOrigin:p?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!z.has(d),classes:{root:classNames(R.root,!p&&R.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(R.content,R[a]),message:R.message},message:c,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:ye},React.createElement(Close,{className:R.icon}))]}))};var ke=e(60905),oe=e(90436),Ne=e(86284),tt=e(96465),et=e(19133),We=e(3871);const ze=(0,i.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),j=({missing:n})=>{const a=ze();switch(n){case"field":return t.createElement("img",{src:Ne,className:a.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:tt,alt:"no Information",className:a.generalImg});case"content":return t.createElement("img",{src:et,alt:"create Component",className:a.generalImg});case"data":return t.createElement("img",{src:We,alt:"no Build",className:a.generalImg});default:return null}},A=(0,i.Z)(n=>({root:{backgroundColor:n.palette.background.default,padding:n.spacing(2,0,0,0)},action:{marginTop:n.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function O(n){const{title:a,description:c,missing:d,action:p}=n,R=A();return t.createElement(ke.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:R.root,spacing:2},t.createElement(ke.Z,{item:!0,xs:12,md:6},t.createElement(ke.Z,{container:!0,direction:"column"},t.createElement(ke.Z,{item:!0,xs:!0},t.createElement(oe.Z,{variant:"h5"},a)),t.createElement(ke.Z,{item:!0,xs:!0},t.createElement(oe.Z,{variant:"body1"},c)),t.createElement(ke.Z,{item:!0,xs:!0,className:R.action},p))),t.createElement(ke.Z,{item:!0,xs:12,md:6,className:R.imageContainer},t.createElement(j,{missing:d})))}const W=`apiVersion: backstage.io/v1alpha1
|
|
2
|
+
kind: Component
|
|
3
|
+
metadata:
|
|
4
|
+
name: example
|
|
5
|
+
description: example.com
|
|
6
|
+
annotations:
|
|
7
|
+
ANNOTATION: value
|
|
8
|
+
spec:
|
|
9
|
+
type: website
|
|
10
|
+
lifecycle: production
|
|
11
|
+
owner: user:guest`,_=(0,i.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function be(n){const{annotation:a}=n,c=_(),d=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,a)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(O,{missing:"field",title:"Missing Annotation",description:d,action:t.createElement(t.Fragment,null,t.createElement(oe.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:c.code},t.createElement(fe,{text:W.replace("ANNOTATION",a),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(u.Z,{color:"primary",component:D,to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"},"Read more"))})}var me=e(11776),Be=e(38402),Fe=e(49378),He=e(41128),vt=e(27616),Ht=e(8284),ue=e(70660),H=e(91750),se=e(38016);const pe=(n,a)=>(a.palette.type==="light"?He._j:He.$n)(a.palette[n].light,.6),Ve=(n,a)=>(a.palette.type==="light"?He.$n:He._j)(a.palette[n].light,.9),Ye=(0,i.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:a})=>pe(a,n)}})),ct=({severity:n})=>{const a=Ye({severity:n});return t.createElement(H.Z,{classes:a})},bt=({severity:n})=>{const a=Ye({severity:n});return t.createElement(se.Z,{classes:a})},nn=(0,i.Z)(n=>({panel:{backgroundColor:({severity:a})=>Ve(a,n),color:({severity:a})=>pe(a,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:a})=>pe(a,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:a})=>pe(a,n),backgroundColor:({severity:a})=>Ve(a,n)},details:{width:"100%",display:"block",color:n.palette.textContrast,backgroundColor:n.palette.background.default,border:`1px solid ${n.palette.border}`,padding:n.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),Zn=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function Ln(n){const{severity:a="warning",title:c,message:d,children:p,defaultExpanded:R}=n,x=nn({severity:a}),U=Zn(a)+(c?`: ${c}`:"");return t.createElement(vt.Z,{defaultExpanded:R!=null?R:!1,className:x.panel,role:"alert"},t.createElement(Ht.Z,{expandIcon:t.createElement(bt,{severity:a}),className:x.summary},t.createElement(ct,{severity:a}),t.createElement(oe.Z,{className:x.summaryText,variant:"subtitle1"},U)),(d||p)&&t.createElement(ue.Z,null,t.createElement(ke.Z,{container:!0},d&&t.createElement(ke.Z,{item:!0,xs:12},t.createElement(oe.Z,{className:x.message,variant:"body1"},d)),p&&t.createElement(ke.Z,{item:!0,xs:12,className:x.details},p))))}const On=(0,i.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),xn=({error:n,message:a,stack:c,children:d})=>{const p=On();return t.createElement(me.Z,{dense:!0},t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{classes:{secondary:p.text},primary:"Error",secondary:n}),t.createElement(de,{text:n})),t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{classes:{secondary:p.text},primary:"Message",secondary:a}),t.createElement(de,{text:a})),c&&t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{classes:{secondary:p.text},primary:"Stack Trace",secondary:c}),t.createElement(de,{text:c})),d)};function ht(n){const{title:a,error:c,defaultExpanded:d,children:p}=n;return t.createElement(Ln,{severity:"error",title:a!=null?a:c.message,defaultExpanded:d},t.createElement(xn,{error:c.name,message:c.message,stack:c.stack,children:p}))}var Qt=e(85256);const Rn=(0,i.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function Un(n){var Se;const{title:a,error:c,defaultExpanded:d}=n,p=Rn();if(c.name!=="ResponseError")return t.createElement(ht,{title:a!=null?a:c.message,defaultExpanded:d,error:c});const{body:R,cause:x}=c,{request:U,response:J}=R,z=`${J.statusCode}: ${x.name}`,ae=U&&`${U.method} ${U.url}`,le=x.message.replace(/\\n/g,`
|
|
12
|
+
`),ye=(Se=x.stack)==null?void 0:Se.replace(/\\n/g,`
|
|
13
|
+
`),Re=JSON.stringify(R,void 0,2);return t.createElement(ht,{title:a!=null?a:c.message,defaultExpanded:d,error:{name:z,message:le,stack:ye}},ae&&t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{classes:{secondary:p.text},primary:"Request",secondary:U?`${ae}`:void 0}),t.createElement(de,{text:ae})),t.createElement(t.Fragment,null,t.createElement(Qt.Z,{component:"li",className:p.divider}),t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{classes:{secondary:p.text},primary:"Full Error as JSON"})),t.createElement(fe,{language:"json",text:Re,showCopyCodeButton:!0})))}var Gt=e(28316);function Yn(n){const a=document.createElement("div");return a.setAttribute("id",n),a}function Er(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function ar(n){const a=useRef(null);useEffect(function(){const p=document.querySelector(`#${n}`),R=p||Yn(n);return p||Er(R),R.appendChild(a.current),function(){a.current.remove(),R.childNodes.length===-1&&R.remove()}},[n]);function c(){return a.current||(a.current=document.createElement("div")),a.current}return c()}var Wn=null;const qt="core.calloutSeen";function jr(){const[n,a]=useState(()=>{const d=localStorage.getItem(qt);return d?JSON.parse(d):{}}),c=useCallback((d,p)=>{const R=localStorage.getItem(qt),U={...R?JSON.parse(R):{},[d]:p};a(U),localStorage.setItem(qt,JSON.stringify(U))},[]);return{states:n,setState:c}}function Ar(n){const{states:a,setState:c}=jr(),d=useCallback(()=>{c(n,!0)},[c,n]);return{seen:a[n]===!0,markSeen:d}}function ga(n){const{seen:a,markSeen:c}=Ar(n);return{show:a===!1,hide:c}}const Gr=(0,i.Z)({"@keyframes pulsateSlightly":{"0%":{transform:"scale(1.0)"},"100%":{transform:"scale(1.1)"}},"@keyframes pulsateAndFade":{"0%":{transform:"scale(1.0)",opacity:.9},"100%":{transform:"scale(1.5)",opacity:0}},featureWrapper:{position:"relative"},backdrop:{zIndex:2e3,position:"fixed",overflow:"hidden",left:0,right:0,top:0,bottom:0},dot:{position:"absolute",backgroundColor:"transparent",borderRadius:"100%",border:"1px solid rgba(103, 146, 180, 0.98)",boxShadow:"0px 0px 0px 20000px rgba(0, 0, 0, 0.5)",zIndex:2001,transformOrigin:"center center",animation:"$pulsateSlightly 1744ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) alternate infinite"},pulseCircle:{width:"100%",height:"100%",backgroundColor:"transparent",borderRadius:"100%",border:"2px solid white",zIndex:2001,transformOrigin:"center center",animation:"$pulsateAndFade 872ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite"},text:{position:"absolute",color:"white",zIndex:2003}},{name:"BackstageFeatureCalloutCircular"});function pa(n){const{featureId:a,title:c,description:d,children:p}=n,{show:R,hide:x}=useShowCallout(a),U=usePortal("core.callout"),J=useRef(null),[z,ae]=useState(),le=Gr(),ye=useCallback(()=>{if(J.current){const Re=J.current.getBoundingClientRect(),Se=Math.max(Re.width,Re.height),ut=800,Nt=Re.x-(Se-Re.width)/2-ut,an=Re.y-(Se-Re.height)/2-ut,kt=Se+2*ut,it=450,Dt=Re.x+Re.width/2-it,Zt=Re.y-(Se-Re.height)/2+Se+20;ae({dotLeft:Nt,dotTop:an,dotSize:kt,borderWidth:ut,textTop:Zt,textLeft:Dt,textWidth:it})}},[]);return useEffect(()=>(window.addEventListener("resize",ye),window.addEventListener("scroll",ye),()=>{window.removeEventListener("resize",ye),window.removeEventListener("scroll",ye)}),[ye]),useLayoutEffect(ye,[J.current,ye]),R?React.createElement(React.Fragment,null,React.createElement("div",{className:le.featureWrapper,ref:J},p),createPortal(React.createElement("div",{className:le.backdrop},React.createElement(ClickAwayListener,{onClickAway:x},React.createElement(React.Fragment,null,React.createElement("div",{className:le.dot,"data-testid":"dot",style:{left:z==null?void 0:z.dotLeft,top:z==null?void 0:z.dotTop,width:z==null?void 0:z.dotSize,height:z==null?void 0:z.dotSize,borderWidth:z==null?void 0:z.borderWidth},onClick:x,onKeyDown:x,role:"button",tabIndex:0},React.createElement("div",{className:le.pulseCircle})),React.createElement("div",{className:le.text,"data-testid":"text",style:{left:z==null?void 0:z.textLeft,top:z==null?void 0:z.textTop,width:z==null?void 0:z.textWidth}},React.createElement(Typography,{variant:"h2",paragraph:!0},c),React.createElement(Typography,null,d))))),U)):React.createElement(React.Fragment,null,p)}var Kr=e(35292);const Yr=(0,i.Z)(n=>({link:{display:"grid",justifyItems:"center",gridGap:4,textAlign:"center"},disabled:{color:"gray",cursor:"default"},primary:{color:n.palette.primary.main},secondary:{color:n.palette.secondary.main},label:{fontSize:"0.7rem",textTransform:"uppercase",fontWeight:600,letterSpacing:1.2}}),{name:"BackstageIconLinkVertical"});function Jr({color:n="primary",disabled:a=!1,href:c="#",icon:d=t.createElement(Kr.Z,null),label:p,onClick:R,title:x}){const U=Yr();return a?t.createElement(y.Z,{title:x,className:je()(U.link,U.disabled),underline:"none"},d,t.createElement("span",{className:U.label},p)):t.createElement(y.Z,{title:x,className:je()(U.link,U[n]),to:c,component:D,onClick:R},d,t.createElement("span",{className:U.label},p))}const vr=(0,i.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function Qr(n){const{links:a}=n,c=vr();return t.createElement("nav",{className:c.links},a.map((d,p)=>t.createElement(Jr,{key:p+1,...d})))}const Rr=n=>{const a=n==="dark"?"16%":"97%";return`
|
|
14
|
+
hsl(0, 0%, ${a}) 0%,
|
|
15
|
+
hsla(0, 0%, ${a}, 0.987) 8.1%,
|
|
16
|
+
hsla(0, 0%, ${a}, 0.951) 15.5%,
|
|
17
|
+
hsla(0, 0%, ${a}, 0.896) 22.5%,
|
|
18
|
+
hsla(0, 0%, ${a}, 0.825) 29%,
|
|
19
|
+
hsla(0, 0%, ${a}, 0.741) 35.3%,
|
|
20
|
+
hsla(0, 0%, ${a}, 0.648) 41.2%,
|
|
21
|
+
hsla(0, 0%, ${a}, 0.55) 47.1%,
|
|
22
|
+
hsla(0, 0%, ${a}, 0.45) 52.9%,
|
|
23
|
+
hsla(0, 0%, ${a}, 0.352) 58.8%,
|
|
24
|
+
hsla(0, 0%, ${a}, 0.259) 64.7%,
|
|
25
|
+
hsla(0, 0%, ${a}, 0.175) 71%,
|
|
26
|
+
hsla(0, 0%, ${a}, 0.104) 77.5%,
|
|
27
|
+
hsla(0, 0%, ${a}, 0.049) 84.5%,
|
|
28
|
+
hsla(0, 0%, ${a}, 0.013) 91.9%,
|
|
29
|
+
hsla(0, 0%, ${a}, 0) 100%
|
|
30
|
+
`},Sr=100,Dn=10,Cr=(0,i.Z)(n=>({root:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center"},container:{overflow:"auto",scrollbarWidth:0,"&::-webkit-scrollbar":{display:"none"}},fade:{position:"absolute",width:Sr,height:`calc(100% + ${Dn}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-Dn,background:`linear-gradient(90deg, ${Rr(n.palette.type)})`},fadeRight:{right:-Dn,background:`linear-gradient(270deg, ${Rr(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function or(n){const[[a,c],d]=React.useState([0,0]);return React.useLayoutEffect(()=>{const p=n.current;if(!p){d([0,0]);return}const R=()=>{const x=p.scrollLeft,U=p.scrollWidth-p.offsetWidth-p.scrollLeft;d([x,U])};return R(),p.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{p.removeEventListener("scroll",R),window.removeEventListener("resize",R)}},[n]),[a,c]}function sr(n,a,c){const[d,p]=React.useState(0);return React.useLayoutEffect(()=>{if(d===0)return;const R=performance.now(),x=requestAnimationFrame(U=>{if(!n.current)return;const J=U-R,z=Math.abs(d)*J/a,le=Math.max(c,z)*Math.sign(d);n.current.scrollBy({left:le});const ye=d-le;Math.sign(d)!==Math.sign(ye)?p(0):p(ye)});return()=>cancelAnimationFrame(x)},[n,d,a,c]),p}function Xr(n){const{scrollStep:a=100,scrollSpeed:c=50,minScrollDistance:d=5,children:p,...R}=n,x=Cr(n),U=React.useRef(),[J,z]=or(U),ae=sr(U,c,d),le=ye=>{!U.current||ae(ye?a:-a)};return React.createElement("div",{...R,className:x.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:x.container,ref:U},p),React.createElement("div",{className:classNames(x.fade,x.fadeLeft,{[x.fadeHidden]:J===0})}),React.createElement("div",{className:classNames(x.fade,x.fadeRight,{[x.fadeHidden]:z===0})}),J>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>le(!1),className:classNames(x.button,x.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),z>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>le(!0),className:classNames(x.button,x.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const Tr=(0,i.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function zn(n){const a=Tr(n),{shorthand:c,alpha:d}=n;return c?React.createElement("span",{className:a[d?"alpha":"beta"],style:{fontSize:"120%"}},d?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:a[d?"alpha":"beta"]},d?"Alpha":"Beta")}const ir=(0,t.lazy)(()=>Promise.all([e.e(5011),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function hn(n){const{Progress:a}=(0,l.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(a,null)},t.createElement(ir,{...n}))}const zt=(0,i.Z)(n=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${n.palette.border}`},"& th, & td":{border:`1px solid ${n.palette.border}`,padding:n.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:n.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:n.palette.background.paper},"& tr":{backgroundColor:n.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:n.palette.background.default},"& a":{color:n.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),Jn={code:({inline:n,className:a,children:c,...d})=>{const p=String(c).replace(/\n+$/,""),R=/language-(\w+)/.exec(a||"");return!n&&R?t.createElement(fe,{language:R[1],text:p}):t.createElement("code",{className:a,...d},c)}};function lr(n){const{content:a,dialect:c="gfm",linkTarget:d}=n,p=zt();return React.createElement(ReactMarkdown,{remarkPlugins:c==="gfm"?[gfm]:[],className:p.markdown,children:a,components:Jn,linkTarget:d})}var Pr=e(10179);const Qn=(0,i.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),kr=({request:n,busy:a,setBusy:c})=>{const d=Qn(),[p,R]=useState(),x=async()=>{c(!0);try{await n.trigger()}catch(J){R(isError(J)?J.message:"An unspecified error occurred")}finally{c(!1)}},U=n.provider.icon;return React.createElement(ListItem,{button:!0,disabled:a,classes:{root:d.root}},React.createElement(ListItemAvatar,null,React.createElement(U,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:p&&React.createElement(Typography,{color:"error"},p)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:x},"Log in"))};var ya=null;const qr=(0,i.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function bn(n){const a=qr(),[c,d]=useState(!1),p=useApi(oauthRequestApiRef),R=useObservable(useMemo(()=>p.authRequest$(),[p]),[]),x=()=>{R.forEach(U=>U.reject())};return React.createElement(Dialog,{open:Boolean(R.length),fullWidth:!0,maxWidth:"xs",classes:{paper:a.dialog}},React.createElement(DialogTitle,{classes:{root:a.title}},"Login Required"),React.createElement(DialogContent,{dividers:!0,classes:{root:a.contentList}},React.createElement(List,null,R.map(U=>React.createElement(LoginRequestListItem,{key:U.provider.title,request:U,busy:c,setBusy:d})))),React.createElement(DialogActions,{classes:{root:a.actionButtons}},React.createElement(Button,{onClick:x},"Reject All")))}var _t=e(15277),Sn=e.n(_t),Hn=e(29862);const Xn=(0,i.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function Ir(n){var x;const[a,c]=(0,t.useState)(!1),d=(0,Hn.t)(),p=Xn(),R=U=>{d()&&c(U)};return t.createElement(F.ZP,{title:(x=n.title)!=null?x:n.text||"",placement:n.placement,disableHoverListener:!a},t.createElement(Sn(),{text:n.text,line:n.line,onToggled:R,containerClassName:p.container}))}var _r=e(67358);function kn(n){const[a,c]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const d=setTimeout(()=>c(!0),250);return()=>clearTimeout(d)},[]),a?t.createElement(_r.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var Lr=e(94339),Vn=e(14503),cr=e(24579),un=e(32552),Kt=e(15459),dn=e(95544),qn=e(27597);const _n=(0,i.Z)(n=>({root:{maxWidth:"fit-content",padding:n.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:n.palette.textSubtle},arrow:{color:n.palette.textSubtle}}),{name:"BackstageBottomLink"});function Or(n){const{link:a,title:c,onClick:d}=n,p=_n();return t.createElement("div",null,t.createElement(Qt.Z,null),t.createElement(D,{to:a,onClick:d,underline:"none"},t.createElement(dn.Z,{display:"flex",alignItems:"center",className:p.root},t.createElement(dn.Z,{className:p.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(oe.Z,null,t.createElement("strong",null,c))),t.createElement(qn.Z,{className:p.arrow}))))}const xr=n=>{const{slackChannel:a}=n;if(a){if(typeof a=="string")return t.createElement(t.Fragment,null,"Please contact ",a," for help.");if(!a.href)return t.createElement(t.Fragment,null,"Please contact ",a.name," for help.")}else return null;return t.createElement(B,{to:a.href,variant:"contained"},a.name)},ur=class extends t.Component{constructor(a){super(a);this.state={error:void 0,errorInfo:void 0}}componentDidCatch(a,c){console.error(`ErrorBoundary, error: ${a}, info: ${c}`),this.setState({error:a,errorInfo:c})}render(){const{slackChannel:a,children:c}=this.props,{error:d}=this.state;return d?t.createElement(ht,{title:"Something Went Wrong",error:d},t.createElement(xr,{slackChannel:a})):c}},Dr=(0,i.Z)(n=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},header:{padding:n.spacing(2,2,2,2.5)},headerTitle:{fontWeight:700},headerSubheader:{paddingTop:n.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),br=(0,Kt.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(Vn.Z),dr={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function jn(n){const{title:a,subheader:c,divider:d=!0,deepLink:p,slackChannel:R,errorBoundaryProps:x,variant:U,children:J,headerStyle:z,headerProps:ae,icon:le,action:ye,actionsClassName:Re,actions:Se,cardClassName:ut,actionsTopRight:Nt,className:an,noPadding:kt,titleTypographyProps:it}=n,Dt=Dr();let Zt={},on={};U&&U.split(/[\s]+/g).forEach(Ot=>{Zt={...Zt,...dr.card[Ot]},on={...on,...dr.cardContent[Ot]}});const Gn=()=>t.createElement("div",{className:Dt.headerSubheader},c&&t.createElement("div",{className:Dt.subheader},c),le),Tn=x||(R?{slackChannel:R}:{});return t.createElement(Lr.Z,{style:Zt,className:an},t.createElement(ur,{...Tn},a&&t.createElement(un.Z,{classes:{root:Dt.header,title:Dt.headerTitle,subheader:Dt.headerSubheader,avatar:Dt.headerAvatar,action:Dt.headerAction,content:Dt.headerContent},title:a,subheader:Gn(),action:ye,style:{...z},titleTypographyProps:it,...ae}),Nt&&t.createElement(br,null,Nt),d&&t.createElement(Qt.Z,null),t.createElement(cr.Z,{className:je()(ut,{[Dt.noPadding]:kt}),style:on},J),Se&&t.createElement(Vn.Z,{className:Re},Se),p&&t.createElement(Or,{...p})))}var ea=e(39307);const Fr=(0,i.Z)(n=>({root:{position:"relative",lineHeight:0},overlay:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -60%)",fontSize:45,fontWeight:"bold",color:n.palette.textContrast},description:{fontSize:"100%",top:"50%",left:"50%",transform:"translate(-50%, -50%)",position:"absolute",wordBreak:"break-all",display:"inline-block"},circle:{width:"80%",transform:"translate(10%, 0)"},colorUnknown:{}}),{name:"BackstageGauge"}),fr={fractional:!0,inverse:!1,unit:"%",max:100},Br=({palette:n,value:a,inverse:c,max:d})=>{if(isNaN(a))return"#ddd";const p=d||fr.max,R=c?p-a:a;return R<p/3?n.status.error:R<p*(2/3)?n.status.warning:n.status.ok};function ta(n){const[a,c]=useState(null),{getColor:d=Br}=n,p=Fr(n),{palette:R}=useTheme(),{value:x,fractional:U,inverse:J,unit:z,max:ae,description:le}={...fr,...n},ye=U?Math.round(x*ae):x,Re=ae!==100?Math.round(x):ye,[Se,ut]=useState(!1);return useEffect(()=>{const Nt=a,an=()=>ut(!0),kt=()=>ut(!1);return Nt&&le?(Nt.addEventListener("mouseenter",an),Nt.addEventListener("mouseleave",kt),()=>{Nt.removeEventListener("mouseenter",an),Nt.removeEventListener("mouseleave",kt)}):()=>{ut(!1)}},[le,a]),React.createElement("div",{ref:c,className:p.root},React.createElement(Circle,{strokeLinecap:"butt",percent:ye,strokeWidth:12,trailWidth:12,strokeColor:d({palette:R,value:Re,inverse:J,max:ae}),className:p.circle}),le&&Se?React.createElement("div",{className:p.description},le):React.createElement("div",{className:p.overlay},isNaN(x)?"N/A":`${Re}${z}`))}const Mr=(0,i.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function na(n){const a=Mr(n),{title:c,subheader:d,progress:p,inverse:R,deepLink:x,description:U,icon:J,variant:z,getColor:ae}=n,le={inverse:R,description:U,getColor:ae,value:p};return React.createElement("div",{className:a.root},React.createElement(InfoCard,{title:c,subheader:d,deepLink:x,variant:z,icon:J},React.createElement(Gauge,{...le})))}function ra(n){const{value:a,getColor:c=getProgressColor}=n,{palette:d}=useTheme();if(isNaN(a))return null;let p=Math.round(a*100*100)/100;p>100&&(p=100);const R=c({palette:d,value:p,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${p}%`},React.createElement("span",null,React.createElement(Line,{percent:p,strokeWidth:4,trailWidth:4,strokeColor:R})))}var Nr=e(21324),er=e(7089),$n=e(1292),Fn=e(42494),Zr=e(74603),Ur=e(12231),$r=e(73698),C=e(72379);const w=(0,i.Z)(()=>(0,h.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var ve=()=>{const n=w();return t.createElement(C.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"}))};const Ke=(0,i.Z)(()=>(0,h.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var ft=()=>{const n=Ke();return t.createElement(C.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"}))};const Je=(0,Kt.Z)(n=>(0,h.Z)({root:{"label + &":{marginTop:n.spacing(3)}},input:{borderRadius:4,position:"relative",backgroundColor:n.palette.background.paper,border:"1px solid #ced4da",fontSize:16,padding:"10px 26px 10px 12px",transition:n.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:n.palette.background.paper,borderRadius:4}}}),{name:"BackstageSelectInputBase"})(Zr.Z),St=(0,i.Z)(n=>(0,h.Z)({formControl:{margin:`${n.spacing(1)} 0px`,maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:14,fontFamily:n.typography.fontFamily,color:n.palette.text.primary,"&.Mui-focused":{color:n.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function yt(n){const{multiple:a,items:c,label:d,placeholder:p,selected:R,onChange:x,triggerReset:U,native:J=!1,disabled:z=!1}=n,ae=St(),[le,ye]=(0,t.useState)(R||(a?[]:"")),[Re,Se]=(0,t.useState)(!1);(0,t.useEffect)(()=>{ye(a?[]:"")},[U,a]),(0,t.useEffect)(()=>{R!==void 0&&ye(R)},[R]);const ut=it=>{ye(it.target.value),x(it.target.value)},Nt=it=>{if(z){it.preventDefault();return}Se(Dt=>a&&!(it.target instanceof HTMLElement)?!0:!Dt)},an=()=>{Se(!1)},kt=it=>()=>{const Dt=le.filter(Zt=>Zt!==it);ye(Dt),x(Dt)};return t.createElement("div",{className:ae.root},t.createElement(oe.Z,{variant:"button"},d),t.createElement($n.Z,{onClickAway:an},t.createElement(Fn.Z,{className:ae.formControl},t.createElement($r.Z,{value:le,native:J,disabled:z,"data-testid":"select",displayEmpty:!0,multiple:a,onChange:ut,onClick:Nt,open:Re,input:t.createElement(Je,null),renderValue:it=>{var Dt;return a&&le.length!==0?t.createElement("div",{className:ae.chips},it.map(Zt=>{var on,Gn;return t.createElement(er.Z,{key:(on=c.find(Tn=>Tn.value===Zt))==null?void 0:on.value,label:(Gn=c.find(Tn=>Tn.value===Zt))==null?void 0:Gn.label,clickable:!0,onDelete:kt(Zt),className:ae.chip})})):t.createElement(oe.Z,null,le.length===0?p||"":(Dt=c.find(Zt=>Zt.value===it))==null?void 0:Dt.label)},IconComponent:()=>Re?t.createElement(ft,null):t.createElement(ve,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},p&&!a&&t.createElement(Ur.Z,{value:[]},p),J?c&&c.map(it=>t.createElement("option",{value:it.value,key:it.value},it.label)):c&&c.map(it=>t.createElement(Ur.Z,{key:it.value,value:it.value},a&&t.createElement(Nr.Z,{color:"primary",checked:le.includes(it.value)||!1,className:ae.checkbox}),it.label))))))}const Ft=()=>{},Yt=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:Ft,stepHistory:[],setStepHistory:Ft,onStepChange:Ft});function v(n){const{children:a,elevated:c,onStepChange:d,activeStep:p=0}=n,[R,x]=useState(p),[U,J]=useState([0]);useEffect(()=>{x(p)},[p]);const z=[];let ae;return Children.forEach(a,le=>{isValidElement(le)&&(le.props.end?ae=le:z.push(le))}),React.createElement(React.Fragment,null,React.createElement(Yt.Provider,{value:{stepIndex:R,setStepIndex:x,stepHistory:U,setStepHistory:J,onStepChange:d,stepperLength:Children.count(a)}},React.createElement(MuiStepper,{activeStep:R,orientation:"vertical",elevation:c?2:0},z)),R>=Children.count(a)-1&&ae)}const T=(0,i.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),M=({text:n,handleClick:a})=>React.createElement(Button,{onClick:a},n||"Reset"),V=({text:n,handleClick:a,disabled:c,last:d,stepIndex:p})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:c,"data-testid":`nextButton-${p}`,onClick:a},n||(d?"Finish":"Next")),Y=({text:n,handleClick:a,disabled:c,stepIndex:d})=>React.createElement(Button,{onClick:a,"data-testid":`backButton-${d}`,disabled:c},n||"Back"),G=({actions:n={},children:a})=>{const c=T(),{stepperLength:d,stepIndex:p,setStepIndex:R,stepHistory:x,setStepHistory:U,onStepChange:J}=useContext(VerticalStepperContext),z=(Re,Se)=>{Se&&Se(),J&&J(p,Re),R(Re)},ae=()=>{const Re=n.nextStep?n.nextStep(p,d-1):p+1;z(Re,n.onNext),U([...x,Re])},le=()=>{x.pop(),z(x[x.length-1],n.onBack),U([...x])},ye=()=>{z(0,n.onRestart),U([0])};return React.createElement("div",{className:c.root},[void 0,!0].includes(n.showBack)&&p!==0&&React.createElement(Y,{text:n.backText,handleClick:le,disabled:p===0,stepIndex:p}),[void 0,!0].includes(n.showNext)&&React.createElement(V,{text:n.nextText,handleClick:ae,disabled:!!d&&p>=d||!!n.canNext&&!n.canNext(),stepIndex:p}),n.showRestart&&p!==0&&React.createElement(M,{text:n.restartText,handleClick:ye,stepIndex:p}),a)},ne=(0,i.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function ge(n){const{title:a,children:c,end:d,actions:p,...R}=n,x=ne();return d?React.createElement("div",{className:x.end},React.createElement(Typography,{variant:"h6"},a),c,React.createElement(SimpleStepperFooter,{actions:{...p||{},showNext:!1}})):React.createElement(MuiStep,{...R},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},a)),React.createElement(StepContent,null,c,React.createElement(SimpleStepperFooter,{actions:p})))}const Le=(0,i.Z)(n=>({status:{fontWeight:500,"&::before":{width:"0.7em",height:"0.7em",display:"inline-block",marginRight:8,borderRadius:"50%",content:'""'}},ok:{"&::before":{backgroundColor:n.palette.status.ok}},warning:{"&::before":{backgroundColor:n.palette.status.warning}},error:{"&::before":{backgroundColor:n.palette.status.error}},pending:{"&::before":{backgroundColor:n.palette.status.pending}},running:{"&::before":{backgroundColor:n.palette.status.running}},aborted:{"&::before":{backgroundColor:n.palette.status.aborted}}}),{name:"BackstageStatus"});function De(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function Ue(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function Pe(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.error),"aria-label":"Status error","aria-hidden":"true",...n})}function $e(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function It(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.running),"aria-label":"Status running","aria-hidden":"true",...n})}function Et(n){const a=Le(n);return React.createElement("span",{className:classNames(a.status,a.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var Bt=e(74600),wt=e(15584);const Vt=n=>(0,h.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),pn={root:{border:"0",verticalAlign:"top"}},fn=n=>(0,h.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),Mt=n=>(0,h.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),sn=(0,Kt.Z)(Vt,{name:"BackstageMetadataTableTitleCell"})(wt.Z),rn=(0,Kt.Z)(pn,{name:"BackstageMetadataTableCell"})(wt.Z),mr=({dense:n,children:a})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,a)),yn=({title:n,children:a,...c})=>React.createElement(TableRow,null,n&&React.createElement(sn,null,n),React.createElement(rn,{colSpan:n?1:2,...c},a)),mn=(0,Kt.Z)(fn,{name:"BackstageMetadataTableList"})(({classes:n,children:a})=>t.createElement("ul",{className:n.root},a)),wr=(0,Kt.Z)(Mt,{name:"BackstageMetadataTableListItem"})(({classes:n,children:a})=>t.createElement("li",{className:n.root},a)),Wr=(0,h.Z)({root:{margin:"0 0",listStyleType:"none"}}),Eo=n=>(0,h.Z)({root:{...Wr.root,paddingLeft:n.spacing(1)}}),ba=(0,Kt.Z)(Wr,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:a})=>t.createElement(mn,{classes:n},a)),Fa=(0,Kt.Z)(Eo,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:a})=>t.createElement(mn,{classes:n},a));function Ao(n,a){const c=n.map((d,p)=>React.createElement(MetadataListItem,{key:p},Ea(d)));return a?React.createElement(Fa,null,c):React.createElement(ba,null,c)}function vo(n,a,c){const d=Object.keys(n).map(p=>{const R=Ea(n[p],!0),x=c&&c.titleFormat?c.titleFormat(p):startCase(p);return React.createElement(MetadataListItem,{key:p},`${x}: `,R)});return a?React.createElement(Fa,null,d):React.createElement(ba,null,d)}function Ea(n,a,c){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?vo(n,a,c):Array.isArray(n)?Ao(n,c):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const Ro=({value:n,options:a})=>React.createElement(Fragment,null,Ea(n,a)),So=({title:n,value:a,options:c})=>React.createElement(MetadataTableItem,{title:c&&c.titleFormat?c.titleFormat(n):startCase(n)},React.createElement(Ro,{value:a,options:c}));function Co(n,a){return Object.keys(n).map(c=>React.createElement(So,{key:c,title:c,value:n[c],options:a}))}function Ji(n){const{metadata:a,dense:c=!0,options:d}=n,p=Co(a,d||{});return React.createElement(MetadataTable,{dense:c},p)}var To=e(49429),Po=e(86136),Ba=e(79784),hr=e(76635),Io=e(19126),aa=e.n(Io),Lo=e(80277);function Oo(n){return aa().stringify(n,{strictNullHandling:!0})}function Ma(n){return aa().parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function Na(n,a){return Ma(n)[a]}function xo(n,a,c){const d={...Ma(n),[a]:c};return Oo(d)}function Do(n,a=250){const[c,d]=(0,s.lr)(),p=c.toString(),[R,x]=(0,t.useState)(Na(p,n));return(0,t.useEffect)(()=>{const U=Na(p,n);x(J=>(0,hr.isEqual)(U,J)?J:U)},[p,x,n]),(0,Lo.b)(()=>{const U=xo(p,n,R);p!==U&&d(U,{replace:!0})},[d,R,p,n],a),[R,x]}const bo={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/andrewthauer/backstage/blob/master/app-config.yaml"}]}]};function Za(){const a=(0,l.useApiHolder)().get(l.configApiRef),c=a==null?void 0:a.getOptionalConfig("app.support");return c?{url:c.getString("url"),items:c.getConfigArray("items").flatMap(d=>{var p;return{title:d.getString("title"),icon:d.getOptionalString("icon"),links:((p=d.getOptionalConfigArray("links"))!=null?p:[]).flatMap(R=>({url:R.getString("url"),title:R.getString("title")}))}})}:bo}var Fo=e(80079);function Bn(n,a){const d=(0,l.useApp)().getSystemIcon(n);return d?t.createElement(d,{...a}):t.createElement(Fo.Z,{...a})}function Qi(n){return Bn("brokenImage",n)}function Xi(n){return Bn("catalog",n)}function ki(n){return Bn("chat",n)}function qi(n){return Bn("dashboard",n)}function _i(n){return Bn("docs",n)}function el(n){return Bn("email",n)}function tl(n){return Bn("github",n)}function nl(n){return Bn("group",n)}function oa(n){return Bn("help",n)}function rl(n){return Bn("user",n)}function al(n){return Bn("warning",n)}const Bo=(0,i.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),Mo=({icon:n})=>{var d;const a=(0,l.useApp)(),c=n&&(d=a.getSystemIcon(n))!=null?d:oa;return t.createElement(c,null)},No=({link:n})=>{var a;return t.createElement(D,{to:n.url},(a=n.title)!=null?a:n.url)},Zo=({item:n})=>{var a;return t.createElement(Be.Z,null,t.createElement(Po.Z,null,t.createElement(Mo,{icon:n.icon})),t.createElement(Fe.Z,{primary:n.title,secondary:(a=n.links)==null?void 0:a.reduce((c,d,p)=>[...c,p>0&&t.createElement("br",{key:p}),t.createElement(No,{link:d,key:d.url})],[])}))};function Uo(n){const{title:a,children:c}=n,{items:d}=Za(),[p,R]=(0,t.useState)(!1),[x,U]=(0,t.useState)(null),J=Bo(),z=(0,Ge.Z)(ye=>ye.breakpoints.down("sm")),ae=ye=>{U(ye.currentTarget),R(!0)},le=()=>{R(!1)};return t.createElement(t.Fragment,null,t.createElement(dn.Z,{display:"flex",ml:1},z?t.createElement(b.Z,{color:"primary",size:"small",onClick:ae,"data-testid":"support-button"},t.createElement(oa,null)):t.createElement(u.Z,{"data-testid":"support-button",color:"primary",onClick:ae,startIcon:t.createElement(oa,null)},"Support")),t.createElement(Ba.ZP,{"data-testid":"support-button-popover",open:p,anchorEl:x,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:le},t.createElement(me.Z,{className:J.popoverList},a&&t.createElement(Be.Z,{alignItems:"flex-start"},t.createElement(oe.Z,{variant:"subtitle1"},a)),t.Children.map(c,(ye,Re)=>t.createElement(Be.Z,{alignItems:"flex-start",key:`child-${Re}`},ye)),d&&d.map((ye,Re)=>t.createElement(Zo,{item:ye,key:`item-${Re}`}))),t.createElement(To.Z,null,t.createElement(u.Z,{color:"primary",onClick:le},"Close"))))}var Aa=e(18671),Cn=e(10289);const sa=72,Ua=24,$a=18,Xt={drawerWidthClosed:sa,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:sa,iconSize:sa-Ua*2,iconPadding:Ua,selectedIndicatorWidth:3,userBadgePadding:$a,userBadgeDiameter:sa-$a*2,mobileSidebarHeight:56},va={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:Xt.defaultOpenDelayMs+200},ol="@backstage/core/sidebar-intro-dismissed",zr=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),wa=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var ia;(function(n){const a="sidebarPinState";n.SIDEBAR_PIN_STATE=a})(ia||(ia={}));const Wa={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(ia.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(ia.SIDEBAR_PIN_STATE,JSON.stringify(n))}},$o=(0,i.Z)(n=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[n.breakpoints.up("sm")]:{paddingLeft:({isPinned:a})=>a?Xt.drawerWidthOpen:Xt.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:Xt.mobileSidebarHeight}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),gr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1}),za=(0,t.createContext)({content:{contentRef:void 0}});function wo(n){const[a,c]=(0,t.useState)(()=>Wa.getSidebarPinState()),d=(0,t.useRef)(null),p=(0,t.useMemo)(()=>({content:{contentRef:d}}),[d]);(0,t.useEffect)(()=>{Wa.setSidebarPinState(a)},[a]);const R=(0,Ge.Z)(J=>J.breakpoints.down("xs"),{noSsr:!0}),x=()=>c(!a),U=$o({isPinned:a});return t.createElement(gr.Provider,{value:{isPinned:a,toggleSidebarPinState:x,isMobile:R}},t.createElement(za.Provider,{value:p},t.createElement("div",{className:U.root},n.children)))}function Ra(){const{content:n}=(0,t.useContext)(za);return{focusContent:(0,t.useCallback)(()=>{var c,d;(d=(c=n==null?void 0:n.contentRef)==null?void 0:c.current)==null||d.focus()},[n]),contentRef:n==null?void 0:n.contentRef}}var Wo=e(50023),zo=e(4190),Ho=e(87685),Vo=e(44882),jo=e(57998);const Go=(0,i.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:{color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${Xt.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"},label:{display:"none"}})),Ko=n=>{const{to:a,label:c,icon:d,value:p}=n,R=Go(),x=(0,Cn.TH)(),{selectedMenuItemIndex:U,setSelectedMenuItemIndex:J}=(0,t.useContext)(ja),z=(le,ye)=>{J(ye===U?-1:ye)},ae=p===U&&U>=0||p!==U&&!(U>=0)&&a===x.pathname;return t.createElement(jo.Z,{label:c,icon:d,component:D,to:a||x.pathname,onChange:z,value:p,selected:ae,classes:R})},Ha=n=>{const{children:a,to:c,label:d,icon:p,value:R}=n,{isMobile:x}=(0,t.useContext)(gr);return x?t.createElement(Ko,{to:c,label:d,icon:p,value:R}):t.createElement(t.Fragment,null,a)},Va=(0,i.Z)(n=>({root:{position:"fixed",backgroundColor:n.palette.navigation.background,color:n.palette.navigation.color,bottom:0,left:0,right:0,zIndex:n.zIndex.snackbar,borderTop:"1px solid #383838"},overlay:{background:n.palette.navigation.background,width:"100%",bottom:`${Xt.mobileSidebarHeight}px`,height:`calc(100% - ${Xt.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"},overlayHeader:{display:"flex",color:n.palette.bursts.fontColor,alignItems:"center",justifyContent:"space-between",padding:n.spacing(2,3)},overlayHeaderClose:{color:n.palette.bursts.fontColor},marginMobileSidebar:{marginBottom:`${Xt.mobileSidebarHeight}px`}})),Yo=n=>(0,hr.orderBy)(n,({props:{priority:a}})=>Number.isInteger(a)?a:-1,"desc"),Jo=t.createElement(Ha).type,Qo=({children:n,label:a="Menu",open:c,onClose:d})=>{const p=Va();return t.createElement(zo.ZP,{anchor:"bottom",open:c,onClose:d,ModalProps:{BackdropProps:{classes:{root:p.marginMobileSidebar}}},classes:{root:p.marginMobileSidebar,paperAnchorBottom:p.overlay}},t.createElement(dn.Z,{className:p.overlayHeader},t.createElement(oe.Z,{variant:"h3"},a),t.createElement(b.Z,{onClick:d,classes:{root:p.overlayHeaderClose}},t.createElement(Ho.Z,null))),t.createElement(dn.Z,null,n))},ja=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),Xo=n=>{const{children:a}=n,c=Va(),d=(0,Cn.TH)(),[p,R]=(0,t.useState)(-1);(0,t.useEffect)(()=>{R(-1)},[d.pathname]);let x=(0,l.useElementFilter)(a,J=>J.getElements().filter(z=>z.type===Jo));if(a)x.length?x=Yo(x):x.push(t.createElement(Ha,{key:"default_menu",icon:t.createElement(Vo.Z,null)},a));else return null;const U=p>=0&&!x[p].props.to;return t.createElement(zr.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(ja.Provider,{value:{selectedMenuItemIndex:p,setSelectedMenuItemIndex:R}},t.createElement(Qo,{label:x[p]&&x[p].props.label,open:U,onClose:()=>R(-1)},x[p]&&x[p].props.children),t.createElement(Wo.Z,{className:c.root,"data-testid":"mobile-sidebar-root"},x)))},Ga=(0,i.Z)(n=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:n.zIndex.appBar,background:n.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",width:Xt.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:Xt.drawerWidthOpen,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shorter})},visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var En;(function(n){n[n.Closed=0]="Closed";const c=0+1;n[n.Idle=c]="Idle";const d=c+1;n[n.Open=d]="Open"})(En||(En={}));const ko=n=>{const{openDelayMs:a=Xt.defaultOpenDelayMs,closeDelayMs:c=Xt.defaultCloseDelayMs,disableExpandOnHover:d,children:p}=n,R=Ga(),x=(0,Ge.Z)(Nt=>Nt.breakpoints.down("md"),{noSsr:!0}),[U,J]=(0,t.useState)(En.Closed),z=(0,t.useRef)(),{isPinned:ae,toggleSidebarPinState:le}=(0,t.useContext)(gr),ye=()=>{ae||d||(z.current&&(clearTimeout(z.current),z.current=void 0),U!==En.Open&&!x&&(z.current=window.setTimeout(()=>{z.current=void 0,J(En.Open)},a),J(En.Idle)))},Re=()=>{ae||d||(z.current&&(clearTimeout(z.current),z.current=void 0),U===En.Idle?J(En.Closed):U===En.Open&&(z.current=window.setTimeout(()=>{z.current=void 0,J(En.Closed)},c)))},Se=U===En.Open&&!x||ae,ut=Nt=>{Nt?(J(En.Open),le()):(J(En.Closed),le())};return t.createElement("div",{style:{}},t.createElement(_o,null),t.createElement(zr.Provider,{value:{isOpen:Se,setOpen:ut}},t.createElement("div",{className:R.root,"data-testid":"sidebar-root",onMouseEnter:d?()=>{}:ye,onFocus:d?()=>{}:ye,onMouseLeave:d?()=>{}:Re,onBlur:d?()=>{}:Re},t.createElement("div",{className:je()(R.drawer,{[R.drawerOpen]:Se})},p))))},qo=n=>{const{children:a,openDelayMs:c,closeDelayMs:d,disableExpandOnHover:p}=n,{isMobile:R}=(0,t.useContext)(gr);return R?t.createElement(Xo,null,a):t.createElement(ko,{openDelayMs:c,closeDelayMs:d,disableExpandOnHover:p},a)};function _o(){const{focusContent:n,contentRef:a}=Ra(),c=Ga();return(a==null?void 0:a.current)?t.createElement(u.Z,{onClick:n,variant:"contained",className:je()(c.visuallyHidden)},"Skip to content"):null}function Ka(n,a){const c=new URLSearchParams(a.search).toString(),d=aa().parse(c),p=new URLSearchParams(n.search).toString(),R=aa().parse(p);return(0,hr.isEqual)(a.pathname,n.pathname)&&(0,hr.isMatch)(R,d)}const es=(0,i.Z)(n=>({item:{height:48,width:"100%","&:hover":{background:"#6f6f6f",color:n.palette.navigation.selectedColor},display:"flex",alignItems:"center",color:n.palette.navigation.color,padding:20,cursor:"pointer",position:"relative",background:"none",border:"none"},itemContainer:{width:"100%"},selected:{background:"#6f6f6f",color:"#FFF"},label:{margin:14,marginLeft:7,fontSize:14},dropdownArrow:{position:"absolute",right:21},dropdown:{display:"flex",flexDirection:"column",alignItems:"end"},dropdownItem:{width:"100%",padding:"10px 0 10px 0"},textContent:{color:n.palette.navigation.color,display:"flex",justifyContent:"center",[n.breakpoints.down("xs")]:{display:"block",paddingLeft:n.spacing(4)},fontSize:"14px"}})),sl=n=>{const{title:a,to:c,icon:d,dropdownItems:p}=n,R=es(),{setIsHoveredOn:x}=useContext(SidebarItemWithSubmenuContext),U=()=>{x(!1)},J=useResolvedPath(c),z=useLocation();let ae=isLocationMatch(z,J);const[le,ye]=useState(!1),Re=()=>{ye(!le)};return p!==void 0?(p.some(Se=>{const ut=resolvePath(Se.to);return ae=isLocationMatch(z,ut),ae}),React.createElement("div",{className:R.itemContainer},React.createElement("button",{onClick:Re,onTouchStart:Se=>Se.stopPropagation(),className:classnames(R.item,ae?R.selected:void 0)},React.createElement(d,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a),le?React.createElement(ArrowDropUpIcon,{className:R.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:R.dropdownArrow})),p&&le&&React.createElement("div",{className:R.dropdown},p.map((Se,ut)=>React.createElement(Link,{component:NavLink,to:Se.to,underline:"none",className:R.dropdownItem,onClick:U,onTouchStart:Nt=>Nt.stopPropagation(),key:ut},React.createElement(Typography,{className:R.textContent},Se.title)))))):React.createElement("div",{className:R.itemContainer},React.createElement(Link,{component:NavLink,to:c,underline:"none",className:classnames(R.item,ae?R.selected:void 0),onClick:U,onTouchStart:Se=>Se.stopPropagation()},React.createElement(d,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a)))},ts=n=>(0,i.Z)(a=>{var c,d;return{root:{zIndex:1e3,position:"relative",overflow:"visible",width:a.spacing(7)+1},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[a.breakpoints.up("sm")]:{marginLeft:n.left,transition:a.transitions.create("margin-left",{easing:a.transitions.easing.sharp,duration:a.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(d=(c=a.palette.navigation.submenu)==null?void 0:c.background)!=null?d:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:va.drawerWidthClosed,transitionDelay:`${va.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:va.drawerWidthOpen,[a.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:a.spacing(3),left:0,top:0}},title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[a.breakpoints.down("xs")]:{display:"none"}}}}),ns=n=>{const{isOpen:a}=(0,t.useContext)(zr),c=a?Xt.drawerWidthOpen:Xt.drawerWidthClosed,d=ts({left:c})(),{isHoveredOn:p}=(0,t.useContext)(wa),[R,x]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{x(p)},[p]),t.createElement("div",{className:je()(d.drawer,{[d.drawerOpen]:R})},t.createElement(oe.Z,{variant:"h5",className:d.title},n.title),n.children)};var la=e(76600),rs=e(26739),as=e(98989),os=e(59797),ss=e(83543);const is=(0,i.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),il=()=>{const n=is();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})))};var ll=null;const ls=(0,i.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),cl=()=>{const n=ls();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})))};var ul=null;const ca=(0,i.Z)(n=>{var R,x,U,J;const{selectedIndicatorWidth:a,drawerWidthClosed:c,drawerWidthOpen:d,iconContainerWidth:p}=Xt;return{root:{color:n.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"},closed:{width:c,justifyContent:"center"},open:{[n.breakpoints.up("sm")]:{width:d}},highlightable:{"&:hover":{background:(x=(R=n.palette.navigation.navItem)==null?void 0:R.hoverBackground)!=null?x:"#404040"}},highlighted:{background:(J=(U=n.palette.navigation.navItem)==null?void 0:U.hoverBackground)!=null?J:"#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:p,marginRight:-n.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:n.typography.fontSize},searchFieldHTMLInput:{padding:n.spacing(2,0,2)},searchContainer:{width:d-p},secondaryAction:{width:n.spacing(6),textAlign:"center",marginRight:n.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:n.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${a}px ${n.palette.navigation.indicator}`,color:n.palette.navigation.selectedColor},"&$closed":{width:c},"& $closedItemIcon":{paddingRight:a},"& $iconContainer":{marginLeft:-a}}}},{name:"BackstageSidebarItem"}),cs=(n,a)=>(0,l.useElementFilter)(n.props.children,c=>{let d=!1;return c.getElements().forEach(({props:{to:p,dropdownItems:R}})=>{if(!d){if(R==null?void 0:R.length){R.forEach(({to:x})=>d=d||Ka(a,(0,Cn.i3)(x)));return}p&&(d=Ka(a,(0,Cn.i3)(p)))}}),d},[a.pathname]);function Ya(n){return n.to===void 0}const us=t.createElement(ns).type,ds=t.forwardRef(function({to:a,end:c,style:d,className:p,activeStyle:R,caseSensitive:x,activeClassName:U="active","aria-current":J="page",...z},ae){let{pathname:le}=(0,Cn.TH)(),{pathname:ye}=(0,Cn.WU)(a);x||(le=le.toLocaleLowerCase("en-US"),ye=ye.toLocaleLowerCase("en-US"));let Re=le===ye;!Re&&!c&&(Re=le.startsWith(`${ye}/`));const Se=Re?J:void 0;return t.createElement(s.rU,{...z,to:a,ref:ae,"aria-current":Se,style:{...d,...Re?R:void 0},className:je()([p,Re?U:void 0])})}),Ja=(0,t.forwardRef)((n,a)=>{const{icon:c,text:d,hasNotifications:p=!1,disableHighlight:R=!1,onClick:x,children:U,className:J,...z}=n,ae=ca(),{isOpen:le}=(0,t.useContext)(zr),ye=t.createElement(rs.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!p,className:je()({[ae.closedItemIcon]:!le})},t.createElement(c,{fontSize:"small"})),Re=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:ae.iconContainer},ye),d&&t.createElement(oe.Z,{variant:"subtitle2",className:ae.label},d),t.createElement("div",{className:ae.secondaryAction},U)),Se=le?Re:ye,ut={onClick:x,className:je()(J,ae.root,le?ae.open:ae.closed,Ya(n)&&ae.buttonItem,{[ae.highlightable]:!R})};return Ya(n)?t.createElement("button",{"aria-label":d,...ut,ref:a},Se):t.createElement(ds,{...ut,activeClassName:ae.selected,to:n.to?n.to:"",ref:a,"aria-label":d||n.to,...z},Se)}),fs=({children:n,...a})=>{const c=ca(),[d,p]=(0,t.useState)(!1),R=(0,Cn.TH)(),x=cs(n,R),U=(0,Ge.Z)(le=>le.breakpoints.down("sm")),J=()=>{p(!0)},z=()=>{p(!1)},ae=()=>U?d?t.createElement(os.Z,{fontSize:"small",className:c.submenuArrow}):t.createElement(ss.Z,{fontSize:"small",className:c.submenuArrow}):!d&&t.createElement(as.Z,{fontSize:"small",className:c.submenuArrow});return t.createElement(wa.Provider,{value:{isHoveredOn:d,setIsHoveredOn:p}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:z,onTouchStart:d?z:J,onMouseEnter:J,className:je()(d&&c.highlighted)},t.createElement(Ja,{className:x?c.selected:"",...a},ae()),d&&n))},Qa=(0,t.forwardRef)((n,a)=>{const[c]=(0,l.useElementFilter)(n.children,d=>d.getElements().filter(p=>p.type===us));return c?t.createElement(fs,{...n},c):t.createElement(Ja,{...n,ref:a})});function dl(n){const[a,c]=useState(""),d=ca(),p=n.icon?n.icon:SearchIcon,R=()=>{n.onSearch(a),c("")},x=ae=>{ae.key==="Enter"&&(ae.preventDefault(),R())},U=ae=>{c(ae.target.value)},J=ae=>{ae.preventDefault(),ae.stopPropagation()},z=ae=>{R(),ae.preventDefault()};return React.createElement("div",{className:d.searchRoot},React.createElement(Qa,{icon:p,to:n.to,onClick:z,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:a,onClick:J,onChange:U,onKeyDown:x,className:d.searchContainer,InputProps:{disableUnderline:!0,className:d.searchField},inputProps:{className:d.searchFieldHTMLInput}})))}const fl=(0,la.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),ml=(0,la.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),ms=(0,la.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),hs=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),hl=(0,la.Z)("div")(({theme:n})=>{const a=hs(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":a,"&:hover":a}}),gl=()=>{const n=ca(),{isOpen:a,setOpen:c}=useContext(SidebarContext);if(useMediaQuery(R=>R.breakpoints.down("md"),{noSsr:!0}))return null;const p=()=>{c(!a)};return React.createElement("button",{onClick:p,className:n.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:n.arrows},a?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},gs=(0,i.Z)(n=>({introCard:{color:"#b5b5b5",fontSize:12,width:Xt.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:Xt.iconPadding,paddingRight:Xt.iconPadding},introDismiss:{display:"flex",justifyContent:"flex-end",alignItems:"center",marginTop:12},introDismissLink:{color:"#dddddd",display:"flex",alignItems:"center",marginBottom:4,"&:hover":{color:n.palette.linkHover,transition:n.transitions.create("color",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})}},introDismissText:{fontSize:"0.7rem",fontWeight:"bold",textTransform:"uppercase",letterSpacing:1},introDismissIcon:{width:18,height:18,marginRight:12}}),{name:"BackstageSidebarIntro"});function ps(n){const a=gs(),{text:c,onClose:d}=n,p=()=>d();return React.createElement("div",{className:a.introCard},React.createElement(Typography,{variant:"subtitle2"},c),React.createElement("div",{className:a.introDismiss},React.createElement(Link,{component:"button",onClick:p,underline:"none",className:a.introDismissLink},React.createElement(CloseIcon,{className:a.introDismissIcon}),React.createElement(Typography,{component:"span",className:a.introDismissText},"Dismiss"))))}const Xa=n=>{const{text:a,onDismiss:c}=n,[d,p]=useState(!1),R=()=>{p(!0)};return React.createElement(Collapse,{in:!d,onExited:c},React.createElement(ps,{text:a,onClose:R}))},ys=null,Es="And your recently viewed plugins will pop up here!";function pl(n){const{isOpen:a}=useContext(SidebarContext),c={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[d,p]=useLocalStorageValue(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:R,recentlyViewedItemsDismissed:x}=d!=null?d:{},U=()=>{p(z=>({...c,...z,starredItemsDismissed:!0}))},J=()=>{p(z=>({...c,...z,recentlyViewedItemsDismissed:!0}))};return a?React.createElement(React.Fragment,null,!R&&React.createElement(React.Fragment,null,React.createElement(Xa,{text:ys,onDismiss:U}),React.createElement(SidebarDivider,null)),!x&&React.createElement(Xa,{text:Es,onDismiss:J})):null}const As=(0,i.Z)(n=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:n.spacing(3),paddingBottom:n.spacing(3),paddingLeft:n.spacing(2),paddingRight:n.spacing(2),[n.breakpoints.up("sm")]:{paddingLeft:n.spacing(3),paddingRight:n.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function ka(n){const{className:a,stretch:c,noPadding:d,children:p,...R}=n,{contentRef:x}=Ra(),U=As();return t.createElement("article",{ref:x,tabIndex:-1,...R,className:je()(U.root,a,{[U.stretch]:c,[U.noPadding]:d})},p)}var vs=e(6487),Rs=e(99152);const Ss=(0,i.Z)(n=>({tabsWrapper:{gridArea:"pageSubheader",backgroundColor:n.palette.background.paper,paddingLeft:n.spacing(3)},defaultTab:{padding:n.spacing(3,3),...n.typography.caption,textTransform:"uppercase",fontWeight:"bold",color:n.palette.text.secondary},selected:{color:n.palette.text.primary},tabRoot:{"&:hover":{backgroundColor:n.palette.background.default,color:n.palette.text.primary}}}),{name:"BackstageHeaderTabs"});function qa(n){const{tabs:a,onChange:c,selectedIndex:d}=n,[p,R]=(0,t.useState)(d!=null?d:0),x=Ss(),U=(J,z)=>{d===void 0&&R(z),c&&c(z)};return(0,t.useEffect)(()=>{d!==void 0&&R(d)},[d]),t.createElement("div",{className:x.tabsWrapper},t.createElement(Rs.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:U,value:p},a.map((J,z)=>t.createElement(vs.Z,{...J.tabProps,"data-testid":`header-tab-${z}`,label:J.label,key:J.id,value:z,className:x.defaultTab,classes:{selected:x.selected,root:x.tabRoot}}))))}function Cs(n){var U,J,z;const a=(0,Cn.UO)(),d=n.map(({path:ae,children:le})=>({caseSensitive:!1,path:`${ae}/*`,element:le})).sort((ae,le)=>le.path.replace(/\/\*$/,"").localeCompare(ae.path.replace(/\/\*$/,""))),p=(U=(0,Cn.V$)(d))!=null?U:n[0].children,[R]=(J=(0,Cn.fp)(d,`/${a["*"]}`))!=null?J:[],x=R?n.findIndex(ae=>`${ae.path}/*`===R.route.path):0;return{index:x===-1?0:x,element:p,route:(z=n[x])!=null?z:n[0]}}function _a(n){const{routes:a}=n,c=(0,Cn.s0)(),{index:d,route:p,element:R}=Cs(a),x=(0,t.useMemo)(()=>a.map(J=>({id:J.path,label:J.title,tabProps:J.tabProps})),[a]),U=J=>c(a[J].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(qa,{tabs:x,selectedIndex:d,onChange:U}),t.createElement(ka,null,t.createElement(Aa.q,{title:p.title}),R))}const Sa=()=>null;(0,l.attachComponentData)(Sa,"core.gatherMountPoints",!0);function eo(n){const a=t.createElement(Sa,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(c=>{if(!(0,t.isValidElement)(c))return[];if(c.type===t.Fragment)return eo(c.props.children);if(c.type!==a)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:d,title:p,children:R,tabProps:x}=c.props;return[{path:d,title:p,children:R,tabProps:x}]})}function Ts(n){const a=eo(n.children);return t.createElement(_a,{routes:a})}Ts.Route=Sa;const Ps=(0,i.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Is(n){const{value:a,subvalue:c}=n,d=Ps();return t.createElement(t.Fragment,null,t.createElement("div",{className:d.value},a),t.createElement("div",{className:d.subvalue},c))}var Ls=e(21070),Os=e(90324),xs=e(98281),Ds=e(48049),to=e(51209),no=e(33375),bs=e(44233),Fs=e(27604),Ca=e(36444),Bs=e(37971),Ms=e(59709),Ns=e(17373),Zs=e(3702),Us=e(93111),ua=e(67222);const $s=(0,i.Z)(n=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:n.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:"60px",justifyContent:"space-between",borderBottom:`1px solid ${n.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:n.spacing(2)}}}),{name:"BackstageTableFilters"}),ws=n=>{var J;const a=$s(),{onChangeFilters:c}=n,[d,p]=(0,t.useState)({...n.selectedFilters}),[R,x]=(0,t.useState)(!1),U=()=>{p({}),x(z=>!z)};return(0,t.useEffect)(()=>{c(d)},[d,c]),t.createElement("div",{className:a.root},t.createElement("div",{className:a.header},t.createElement("div",{className:a.value},"Filters"),t.createElement(u.Z,{color:"primary",onClick:U},"Clear all")),t.createElement("div",{className:a.filters},((J=n.filters)==null?void 0:J.length)&&n.filters.map(z=>t.createElement(yt,{triggerReset:R,key:z.element.label,...z.element,selected:d[z.element.label],onChange:ae=>p({...d,[z.element.label]:ae})}))))},Ws={Add:(0,t.forwardRef)((n,a)=>t.createElement(Ls.Z,{...n,ref:a})),Check:(0,t.forwardRef)((n,a)=>t.createElement(xs.Z,{...n,ref:a})),Clear:(0,t.forwardRef)((n,a)=>t.createElement(no.Z,{...n,ref:a})),Delete:(0,t.forwardRef)((n,a)=>t.createElement(bs.Z,{...n,ref:a})),DetailPanel:(0,t.forwardRef)((n,a)=>t.createElement(to.Z,{...n,ref:a})),Edit:(0,t.forwardRef)((n,a)=>t.createElement(Fs.Z,{...n,ref:a})),Export:(0,t.forwardRef)((n,a)=>t.createElement(Zs.Z,{...n,ref:a})),Filter:(0,t.forwardRef)((n,a)=>t.createElement(Ca.Z,{...n,ref:a})),FirstPage:(0,t.forwardRef)((n,a)=>t.createElement(Bs.Z,{...n,ref:a})),LastPage:(0,t.forwardRef)((n,a)=>t.createElement(Ms.Z,{...n,ref:a})),NextPage:(0,t.forwardRef)((n,a)=>t.createElement(to.Z,{...n,ref:a})),PreviousPage:(0,t.forwardRef)((n,a)=>t.createElement(Ds.Z,{...n,ref:a})),ResetSearch:(0,t.forwardRef)((n,a)=>t.createElement(no.Z,{...n,ref:a})),Search:(0,t.forwardRef)((n,a)=>t.createElement(Ca.Z,{...n,ref:a})),SortArrow:(0,t.forwardRef)((n,a)=>t.createElement(Os.Z,{...n,ref:a})),ThirdStateCheck:(0,t.forwardRef)((n,a)=>t.createElement(Ns.Z,{...n,ref:a})),ViewColumn:(0,t.forwardRef)((n,a)=>t.createElement(Us.Z,{...n,ref:a}))};function ro(n,a){const c=a.split(".");let d=n[c[0]];for(let p=1;p<c.length;++p){if(d===void 0)return d;const R=c[p];d=d[R]}return d}const zs=(0,Kt.Z)(n=>({header:{padding:n.spacing(1,2,1,2.5),borderTop:`1px solid ${n.palette.grey.A100}`,borderBottom:`1px solid ${n.palette.grey.A100}`,color:n.palette.textSubtle,fontWeight:n.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(ua.W$),ao=(0,Kt.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})(ua.UW),Hs=(0,i.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),Vs=(0,i.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function js(n,a){return n.map(c=>{const d={};let p=c.cellStyle||{};if(c.highlight)if(d.color=a.palette.textContrast,typeof p=="object")p.fontWeight=a.typography.fontWeightBold;else{const R=p;p=(x,U,J)=>({...R(x,U,J),fontWeight:a.typography.fontWeightBold})}return{...c,headerStyle:d,cellStyle:p}})}function Gs(n,a){return(0,hr.transform)(n,(c,d,p)=>{(0,hr.isEqual)(d,a[p])||(c[p]=d)})}const oo={search:"",filtersOpen:!1,filters:{}};function Ks(n){const{toolbarRef:a,setSearch:c,hasFilters:d,selectedFiltersLength:p,toggleFilters:R}=n,x=Hs(),U=(0,t.useCallback)(J=>{n.onSearchChanged(J),c(J)},[n,c]);return d?t.createElement("div",{className:x.root},t.createElement("div",{className:x.root},t.createElement(b.Z,{onClick:R,"aria-label":"filter list"},t.createElement(Ca.Z,null)),t.createElement(oe.Z,{className:x.title},"Filters (",p,")")),t.createElement(ao,{...n,ref:a,onSearchChanged:U})):t.createElement(ao,{...n,ref:a,onSearchChanged:U})}function Ys(n){const{data:a,columns:c,options:d,title:p,subtitle:R,filters:x,initialState:U,emptyContent:J,onStateChange:z,...ae}=n,le=Vs(),ye=(0,L.Z)(),Re={...oo,...U},[Se,ut]=(0,t.useState)(Re.filtersOpen),Nt=(0,t.useCallback)(()=>ut(ln=>!ln),[ut]),[an,kt]=(0,t.useState)(0),[it,Dt]=(0,t.useState)(a),[Zt,on]=(0,t.useState)(Re.filters),Gn=js(c,ye),[Tn,Vr]=(0,t.useState)(Re.search);(0,t.useEffect)(()=>{if(z){const ln=Gs({search:Tn,filtersOpen:Se,filters:Zt},oo);z(ln)}},[Tn,Se,Zt,z]);const Ot={headerStyle:{textTransform:"uppercase"}},Kn=(0,t.useCallback)(ln=>{var An;return(An=c.find(Pn=>Pn.title===ln))==null?void 0:An.field},[c]);(0,t.useEffect)(()=>{if(typeof a=="function")return;if(!Zt){Dt(a);return}const ln=Object.values(Zt);if(a&&ln.flat().length){const An=a.filter(Pn=>!!Object.entries(Zt).filter(([,nr])=>!!nr.length).every(([nr,en])=>{const tn=ro(Pn,Kn(nr));return Array.isArray(tn)&&Array.isArray(en)?tn.some(pr=>en.includes(pr)):Array.isArray(tn)?tn.includes(en):Array.isArray(en)?en.includes(tn):tn===en}));Dt(An)}else Dt(a);kt(ln.flat().length)},[a,Zt,Kn]);const Oa=(ln,An)=>{const Pn=en=>{const tn=new Set,pr=rr=>{rr!=null&&tn.add(rr)};return An&&An.forEach(rr=>{const yr=ro(rr,Kn(en));Array.isArray(yr)?yr.forEach(pr):pr(yr)}),tn},nr=en=>({placeholder:"All results",label:en.column,multiple:en.type==="multiple-select",items:[...Pn(en.column)].sort().map(tn=>({label:tn,value:tn}))});return ln.map(en=>({type:en.type,element:nr(en)}))},tr=!!(x==null?void 0:x.length),xa=(0,t.useCallback)(ln=>t.createElement(Ks,{setSearch:Vr,hasFilters:tr,selectedFiltersLength:an,toggleFilters:Nt,...ln}),[Nt,tr,an,Vr]),fa=typeof a!="function"&&a.length===0,ma=c.length,Da=(0,t.useCallback)(ln=>J&&fa?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:ma},J))):t.createElement(ua.os,{...ln}),[fa,J,ma]);return t.createElement("div",{className:le.root},Se&&a&&typeof a!="function"&&(x==null?void 0:x.length)&&t.createElement(ws,{filters:Oa(x,a),selectedFilters:Zt,onChangeFilters:on}),t.createElement(ua.ZP,{components:{Header:zs,Toolbar:xa,Body:Da},options:{...Ot,...d},columns:Gn,icons:Ws,title:t.createElement(t.Fragment,null,t.createElement(oe.Z,{variant:"h5",component:"h3"},p),R&&t.createElement(oe.Z,{color:"textSecondary",variant:"body1"},R)),data:typeof a=="function"?a:it,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...ae}))}const yl=n=>{const{children:a,value:c,index:d,...p}=n;return React.createElement("div",{role:"tabpanel",hidden:c!==d,"aria-labelledby":`scrollable-auto-tab-${d}`,...p},c===d&&React.createElement(Box,{p:3},a))},Js=(0,i.Z)(()=>({root:{color:"#6E6E6E",overflow:"visible",fontSize:"1.5rem",textAlign:"center",borderRadius:"50%",backgroundColor:"#E6E6E6",marginLeft:n=>n.isNext?"auto":"0",marginRight:n=>n.isNext?"0":"10px","&:hover":{backgroundColor:"#E6E6E6",opacity:"1"}}}),{name:"BackstageTabIcon"}),El=n=>{const a=Js(n),{ariaLabel:c,onClick:d}=n;return React.createElement(IconButton,{onClick:d,className:a.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":c},n.children)},Qs=(n,a)=>a?n?"20px":"0":"40px",Xs=(0,i.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:a=>Qs(a.isFirstNav,a.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}})),Al=n=>{const a=Xs(n),{isFirstNav:c,isFirstIndex:d,...p}=n;return React.createElement(Tab,{className:a.root,disableRipple:!0,...p})},ks=(0,i.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),vl=n=>{const a=ks(n);return React.createElement(Tabs,{classes:a,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},_s=(0,i.Z)(n=>({root:{flexGrow:1,width:"100%"},styledTabs:{backgroundColor:n.palette.background.paper},appbar:{boxShadow:"none",backgroundColor:n.palette.background.paper,paddingLeft:"10px",paddingRight:"10px"}}),{name:"BackstageTabs"});function Rl(n){const{tabs:a}=n,c=_s(),[d,p]=useState([0,0]),[R,x]=useState(0),[U,J]=useState(0),[z,ae]=useState([[]]),le=useRef(),{width:ye}=useWindowSize(),Re=(kt,it)=>{p([R,it])},Se=()=>{x(R-1)},ut=()=>{x(R+1)},Nt=()=>R+1<z.length;useEffect(()=>{const it=R===0?1:2,Dt=le.current.offsetWidth-20-it*30,Zt=d[0]*U+d[1],on=Math.floor(Dt/170);J(on),ae(chunkArray(a,on)),p([Math.floor(Zt/on),Zt%on])},[ye,a]);const an=R===d[0]?d[1]:!1;return React.createElement("div",{className:c.root},React.createElement(AppBar,{ref:le,className:c.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:an,onChange:Re,selectionFollowsFocus:!0},R!==0&&React.createElement(StyledIcon,{onClick:Se,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),z[R].map((kt,it)=>React.createElement(StyledTab,{value:it,isFirstIndex:it===0,isFirstNav:R===0,key:it,icon:kt.icon||void 0,label:kt.label||void 0})),Nt()&&React.createElement(StyledIcon,{isNext:!0,onClick:ut,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),an!==!1?z[R].map((kt,it)=>React.createElement(TabPanel,{key:it,value:it,index:an},kt.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:d[1],index:d[1]},z[d[0]][d[1]].content))}var Sl=e(44311);function ei(n,a){const c=n[n.length-1];if(!!c)return c>=.9?a.palette.status.ok:c>=.5?a.palette.status.warning:a.palette.status.error}function Cl(n){var c;const a=useTheme();return n.data?React.createElement(Sparklines,{width:120,height:30,min:0,max:1,...n},n.title&&React.createElement("title",null,n.title),React.createElement(SparklinesLine,{color:(c=n.color)!=null?c:ei(n.data,a)})):null}const ti=n=>(0,i.Z)(a=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:a.spacing(2),textAlign:n.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:a.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),ni=({title:n="Unknown page",className:a})=>t.createElement(oe.Z,{variant:"h4",component:"h2",className:a,"data-testid":"header-title"},n);function ri(n){const{description:a,title:c,titleComponent:d=void 0,children:p,textAlign:R="left"}=n,x=ti({textAlign:R})(),U=d||t.createElement(ni,{title:c,className:x.title});return t.createElement(t.Fragment,null,t.createElement(Aa.q,{title:c}),t.createElement("div",{className:x.container},t.createElement("div",{className:x.leftItemsBox},U,a&&t.createElement(oe.Z,{className:x.description,variant:"body2"},a)),t.createElement("div",{className:x.rightItemsBox},p)))}var ai=e(29788);const oi=(0,i.Z)(n=>({micDrop:{maxWidth:"60%",position:"absolute",bottom:n.spacing(2),right:n.spacing(2),[n.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",bottom:"unset",right:"unset",margin:`${n.spacing(10)}px auto ${n.spacing(4)}px`}}}),{name:"BackstageErrorPageMicDrop"}),si=()=>{const n=oi();return t.createElement("img",{src:ai,className:n.micDrop,alt:"Girl dropping mic from her hands"})},ii=(0,i.Z)(n=>({container:{padding:n.spacing(8),[n.breakpoints.down("xs")]:{padding:n.spacing(2)}},title:{paddingBottom:n.spacing(5),[n.breakpoints.down("xs")]:{paddingBottom:n.spacing(4),fontSize:32}},subtitle:{color:n.palette.textSubtle}}),{name:"BackstageErrorPage"});function li(n){const{status:a,statusMessage:c,additionalInfo:d,supportUrl:p}=n,R=ii(),x=(0,Cn.s0)(),U=Za();return t.createElement(ke.Z,{container:!0,spacing:0,className:R.container},t.createElement(si,null),t.createElement(ke.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(oe.Z,{"data-testid":"error",variant:"body1",className:R.subtitle},"ERROR ",a,": ",c),t.createElement(oe.Z,{variant:"body1",className:R.subtitle},d),t.createElement(oe.Z,{variant:"h2",className:R.title},"Looks like someone dropped the mic!"),t.createElement(oe.Z,{variant:"h6"},t.createElement(D,{to:"#","data-testid":"go-back-link",onClick:()=>x(-1)},"Go back"),"... or please"," ",t.createElement(D,{to:p||U.url},"contact support")," if you think this is a bug.")))}var ci=e(16173);const ui=(0,Kt.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(oe.Z),Ta=(0,Kt.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(dn.Z);function di(n){const{children:a,...c}=n,[d,p]=t.useState(null),R=t.Children.toArray(a),[x,U,...J]=R,z=J.length?J.pop():R[R.length-1],ae=R.length>3,le=Se=>{p(Se.currentTarget)},ye=()=>{p(null)},Re=Boolean(d);return t.createElement(t.Fragment,null,t.createElement(ci.Z,{"aria-label":"breadcrumb",...c},R.length>1&&t.createElement(Ta,{clone:!0},x),R.length>2&&t.createElement(Ta,{clone:!0},U),ae&&t.createElement(ui,{onClick:le},"..."),t.createElement(dn.Z,{style:{fontStyle:"italic"}},z)),t.createElement(Ba.ZP,{open:Re,anchorEl:d,onClose:ye,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(me.Z,null,J.map((Se,ut)=>t.createElement(Be.Z,{key:ut,button:!0},t.createElement(Ta,{clone:!0},Se))))))}const fi=(0,i.Z)(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"},title:{color:n.palette.bursts.fontColor,wordBreak:"break-all",fontSize:n.typography.h3.fontSize,marginBottom:0},subtitle:{color:n.palette.bursts.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.palette.bursts.fontColor},breadcrumb:{color:n.palette.bursts.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"}),mi=({type:n,typeLink:a,classes:c,pageTitle:d})=>n?a?t.createElement(di,{className:c.breadcrumb},t.createElement(D,{to:a},n),t.createElement(oe.Z,null,d)):t.createElement(oe.Z,{className:c.type},n):null,hi=({pageTitle:n,classes:a,tooltip:c})=>{const d=t.createElement(oe.Z,{className:a.title,variant:"h1"},n);return c?t.createElement(F.ZP,{title:c,placement:"top-start"},d):d},gi=({classes:n,subtitle:a})=>a?typeof a!="string"?t.createElement(t.Fragment,null,a):t.createElement(oe.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},a):null;function so(n){const{children:a,pageTitleOverride:c,style:d,subtitle:p,title:R,tooltip:x,type:U,typeLink:J}=n,z=fi(),le=(0,l.useApi)(l.configApiRef).getOptionalString("app.title")||"Backstage",ye=c||R,Re=R||c,Se=`${ye} | %s | ${le}`,ut=`${ye} | ${le}`;return t.createElement(t.Fragment,null,t.createElement(Aa.q,{titleTemplate:Se,defaultTitle:ut}),t.createElement("header",{style:d,className:z.header},t.createElement(dn.Z,{className:z.leftItemsBox},t.createElement(mi,{classes:z,type:U,typeLink:J,pageTitle:Re}),t.createElement(hi,{classes:z,pageTitle:Re,tooltip:x}),t.createElement(gi,{classes:z,subtitle:p})),t.createElement(ke.Z,{container:!0,className:z.rightItemsBox,spacing:4},a)))}const pi=(0,i.Z)(n=>({root:{textAlign:"left"},label:{color:n.palette.common.white,fontWeight:"bold",letterSpacing:0,fontSize:n.typography.fontSize,marginBottom:n.spacing(1)/2,lineHeight:1},value:{color:"rgba(255, 255, 255, 0.8)",fontSize:n.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),yi=({value:n,className:a})=>t.createElement(oe.Z,{className:a},n);function Ei(n){const{label:a,value:c,url:d}=n,p=pi(),R=t.createElement(yi,{className:p.value,value:c||"<Unknown>"});return t.createElement(ke.Z,{item:!0},t.createElement("span",{className:p.root},t.createElement(oe.Z,{className:p.label},a),d?t.createElement(D,{to:d},R):R))}const Ai={hour:"2-digit",minute:"2-digit"};function io(n){const a=new Date,c=window.navigator.language,d=[];if(!n.has("homepage.clocks"))return d;const p=n.getConfigArray("homepage.clocks");for(const R of p)if(R.has("label")&&R.has("timezone")){let x=R.getString("label");const U={timeZone:R.getString("timezone"),...Ai};try{new Date().toLocaleString(c,U)}catch{console.warn(`The timezone ${U.timeZone} is invalid. Defaulting to GMT`),U.timeZone="GMT",x="GMT"}const J=a.toLocaleTimeString(c,U);d.push({time:J,label:x})}return d}function Tl(n){const a=useApi(configApiRef),c=[],[d,p]=React.useState(c);return React.useEffect(()=>{p(io(a));const R=setInterval(()=>{p(io(a))},1e3);return()=>{clearInterval(R)}},[a]),d.length!==0?React.createElement(React.Fragment,null,d.map(R=>React.createElement(HeaderLabel,{label:R.label,value:R.time,key:R.label}))):null}const vi=n=>(0,h.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),Ri=(0,i.Z)(vi,{name:"BackstageItemCardHeader"});function Si(n){const{title:a,subtitle:c,children:d}=n,p=Ri(n);return t.createElement("div",{className:p.root},c&&t.createElement(oe.Z,{variant:"subtitle2",component:"h3"},c),a&&t.createElement(oe.Z,{variant:"h6",component:"h4"},a),d)}function Pl(n){const{description:a,tags:c,title:d,type:p,subtitle:R,label:x,onClick:U,href:J}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:d,subtitle:R||p})),React.createElement(CardContent,null,(c==null?void 0:c.length)?React.createElement(Box,null,c.map((z,ae)=>React.createElement(Chip,{size:"small",label:z,key:ae}))):null,a),React.createElement(CardActions,null,!J&&React.createElement(Button,{to:"#",onClick:U,color:"primary"},x),J&&React.createElement(Button,{to:J,color:"primary"},x)))}const Ci=n=>(0,h.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Ti=(0,i.Z)(Ci,{name:"BackstageItemCardGrid"});function Pi(n){const{children:a,...c}=n,d=Ti(c);return t.createElement("div",{className:d.root,...c},a)}var Ii=e(41547);const Li=(0,i.Z)(()=>({root:({isMobile:n})=>({display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",height:n?"100%":"100vh",overflowY:"auto"})}),{name:"BackstagePage"});function lo(n){const{themeId:a,children:c}=n,{isMobile:d}=(0,t.useContext)(gr),p=Li({isMobile:d});return t.createElement(Ii.Z,{theme:R=>({...R,page:R.getPageTheme({themeId:a})})},t.createElement("div",{className:p.root},c))}function Oi(n){const{themeId:a,children:c,...d}=n;return t.createElement(lo,{themeId:a},t.createElement(so,{...d}),c)}var gn=e(30195);const Il=gn.z.object({providerInfo:gn.z.object({}).catchall(gn.z.unknown()).optional(),profile:gn.z.object({email:gn.z.string().optional(),displayName:gn.z.string().optional(),picture:gn.z.string().optional()}),backstageIdentity:gn.z.object({token:gn.z.string(),identity:gn.z.object({type:gn.z.literal("user"),userEntityRef:gn.z.string(),ownershipEntityRefs:gn.z.array(gn.z.string())})})}),co={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function xi(n){const a=new Date(Date.now()+co.defaultTokenExpiryMillis);if(!n)return a;const[c,d,p]=n.split("."),R=JSON.parse(atob(d));return typeof R.exp!="number"?a:new Date(R.exp*1e3-co.tokenExpiryMarginMillis)}class Ll{constructor(a){ee(this,"options");ee(this,"abortController");ee(this,"state");this.options=a,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:a}=this.getSessionSync(),c=a.identity.userEntityRef,d=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(c);if(!d)throw new TypeError(`Invalid user entity reference "${c}"`);return d[3]}async getIdToken(){return(await this.getSessionAsync()).backstageIdentity.token}getProfile(){return this.getSessionSync().profile}async getProfileInfo(){return(await this.getSessionAsync()).profile}async getBackstageIdentity(){return(await this.getSessionAsync()).backstageIdentity.identity}async getCredentials(){return{token:(await this.getSessionAsync()).backstageIdentity.token}}async signOut(){this.abortController.abort()}getSessionSync(){if(this.state.type==="active")return this.state.session;if(this.state.type==="fetching"&&this.state.previous)return this.state.previous;throw new Error("No session available. Try reloading your browser page.")}async getSessionAsync(){if(this.state.type==="fetching")return this.state.promise;if(this.state.type==="active"&&new Date<this.state.expiresAt)return this.state.session;const a=this.state.type==="active"?this.state.session:void 0,c=this.fetchSession().then(d=>(this.state={type:"active",session:d,expiresAt:xi(d.backstageIdentity.token)},d),d=>{throw this.state={type:"failed",error:d},d});return this.state={type:"fetching",promise:c,previous:a},c}async fetchSession(){const a=await this.options.discoveryApi.getBaseUrl("auth"),c=await fetch(`${a}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!c.ok)throw await ResponseError.fromResponse(c);return proxiedSessionSchema.parse(await c.json())}}const Ol=n=>{const a=useApi(discoveryApiRef),[{status:c,error:d},{execute:p}]=useAsync(async()=>{const R=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:a});await R.start(),n.onSignInSuccess(R)});return useMountEffect(p),c==="loading"?React.createElement(Progress,null):d?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:d}):null},Di=(0,i.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),Pa=({children:n})=>{const a=Di();return t.createElement(ke.Z,{component:"li",item:!0,classes:a},n)};class Ia{getUserId(){return"guest"}async getIdToken(){}getProfile(){return{email:"guest@example.com",displayName:"Guest"}}async getProfileInfo(){return{email:"guest@example.com",displayName:"Guest"}}async getBackstageIdentity(){const a="user:default/guest";return{type:"user",userEntityRef:a,ownershipEntityRefs:[a]}}async getCredentials(){return{}}async signOut(){}}function bi(n){const[a,c,d]=n.split(".");return JSON.parse(atob(c))}class La{constructor(a){this.result=a}getUserId(){return this.result.userId}static fromResult(a){return new La(a)}async getIdToken(){var a,c;return(c=(a=this.result).getIdToken)==null?void 0:c.call(a)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const a=await this.getIdToken();if(!a){const p=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:p,ownershipEntityRefs:[p]}}const{sub:c,ent:d}=bi(a);return{type:"user",userEntityRef:c,ownershipEntityRefs:d!=null?d:[]}}async getCredentials(){var c,d;return{token:await((d=(c=this.result).getIdToken)==null?void 0:d.call(c))}}async signOut(){var a,c;return(c=(a=this.result).signOut)==null?void 0:c.call(a)}}class Hr{constructor(a,c,d){ee(this,"profilePromise");this.identity=a,this.authApi=c,this.profile=d}static createGuest(){return new Ia}static fromLegacy(a){return La.fromResult(a)}static create(a){return new Hr(a.identity,a.authApi,a.profile)}getUserId(){const a=this.identity.userEntityRef,c=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(a);if(!c)throw new TypeError(`Invalid user entity reference "${a}"`);return c[3]}async getIdToken(){return(await this.authApi.getBackstageIdentity()).token}getProfile(){if(!this.profile)throw new Error("The identity API does not implement synchronous profile fetching, use getProfileInfo() instead");return this.profile}async getProfileInfo(){if(this.profilePromise)return await this.profilePromise;try{return this.profilePromise=this.authApi.getProfile(),await this.profilePromise}catch(a){throw this.profilePromise=void 0,a}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const Fi={Component:({config:n,onSignInSuccess:a})=>{const{apiRef:c,title:d,message:p}=n,R=(0,l.useApi)(c),x=(0,l.useApi)(l.errorApiRef),U=async()=>{try{const J=await R.getBackstageIdentity({instantPopup:!0});if(!J)throw new Error(`The ${d} provider is not configured to support sign-in`);const z=await R.getProfile();a(Hr.create({identity:J.identity,profile:z,authApi:R}))}catch(J){x.post(new Pr.SP("Login failed",J))}};return t.createElement(Pa,null,t.createElement(jn,{variant:"fullHeight",title:d,actions:t.createElement(u.Z,{color:"primary",variant:"outlined",onClick:U},"Sign In")},t.createElement(oe.Z,{variant:"body1"},p)))},loader:async(n,a)=>{const c=n.get(a),d=await c.getBackstageIdentity({optional:!0});if(!d)return;const p=await c.getProfile();return Hr.create({identity:d.identity,profile:p,authApi:c})}},Bi={Component:({onSignInSuccess:n})=>t.createElement(Pa,null,t.createElement(jn,{title:"Guest",variant:"fullHeight",actions:t.createElement(u.Z,{color:"primary",variant:"outlined",onClick:()=>n(new Ia)},"Enter")},t.createElement(oe.Z,{variant:"body1"},"Enter as a Guest User.",t.createElement("br",null),"You will not have a verified identity,",t.createElement("br",null),"meaning some features might be unavailable."))),loader:async()=>new Ia};var Mi=e(94106),uo=e(86619),fo=e(74828),Ni=e(45455),Zi=e.n(Ni);const Ui=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,$i=(0,i.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),mo=n=>{const{ref:a,...c}=n;return{inputRef:a,...c}},wi={Component:({onSignInSuccess:n})=>{const a=$i(),{register:c,handleSubmit:d,formState:p}=(0,Mi.cI)({mode:"onChange"}),{errors:R}=p,x=({userId:U})=>{n(Hr.fromLegacy({userId:U,profile:{email:`${U}@example.com`}}))};return t.createElement(Pa,null,t.createElement(jn,{title:"Custom User",variant:"fullHeight"},t.createElement(oe.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:a.form,onSubmit:d(x)},t.createElement(Fn.Z,null,t.createElement(uo.Z,{...mo(c("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(R.userId)}),R.userId&&t.createElement(fo.Z,{error:!0},R.userId.message)),t.createElement(Fn.Z,null,t.createElement(uo.Z,{...mo(c("idToken",{required:!1,validate:U=>!U||Ui.test(U)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(R.idToken)}),R.idToken&&t.createElement(fo.Z,{error:!0},R.idToken.message)),t.createElement(u.Z,{type:"submit",color:"primary",variant:"outlined",className:a.button,disabled:!(p==null?void 0:p.isDirty)||!Zi()(R)},"Continue"))))},loader:async()=>{}},da="@backstage/core:SignInPage:provider",ho={guest:Bi,custom:wi,common:Fi};function go(n,a){if(n in a)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function Nl(n){return n.reduce((c,d)=>{if(typeof d=="string")return go(d,c),c[d]={components:ho[d],id:d},c;const{id:p}=d;return go(p,c),c[p]={components:ho.common,id:p,config:d},c},{})}const Zl=(n,a)=>{const c=useApi(errorApiRef),d=useApiHolder(),[p,R]=useState(!0),x=useCallback(J=>{a(IdentityApiSignOutProxy.from({identityApi:J,signOut:async()=>{var z;localStorage.removeItem(da),await((z=J.signOut)==null?void 0:z.call(J))}}))},[a]);useLayoutEffect(()=>{var le;if(!p)return;const J=localStorage.getItem(da);if(J===null){R(!1);return}const z=n[J];if(!z){R(!1);return}let ae=!1;return z.components.loader(d,(le=z.config)==null?void 0:le.apiRef).then(ye=>{ae||(ye?x(ye):R(!1))}).catch(ye=>{ae||(localStorage.removeItem(da),c.post(ye),R(!1))}),()=>{ae=!0}},[p,c,a,d,n,x]);const U=useMemo(()=>Object.keys(n).map(J=>{const z=n[J],{Component:ae}=z.components,le=ye=>{localStorage.setItem(da,z.id),x(ye)};return React.createElement(ae,{key:z.id,config:z.config,onSignInSuccess:le})}),[n,x]);return[p,U]},Wi=({onSignInSuccess:n,providers:a=[],title:c,align:d="left"})=>{const p=useApi(configApiRef),R=useStyles(),x=getSignInProviders(a),[U,J]=useSignInProviders(x,n);return U?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:p.getString("app.title")}),React.createElement(Content,null,c&&React.createElement(ContentHeader,{title:c,textAlign:d}),React.createElement(Grid,{container:!0,justifyContent:d==="center"?d:"flex-start",spacing:2,component:"ul",classes:R},J)))},zi=({provider:n,auto:a,onSignInSuccess:c})=>{const d=useStyles(),p=useApi(n.apiRef),R=useApi(configApiRef),[x,U]=useState(),[J,z]=useState(!1),ae=async({checkExisting:le,showPopup:ye})=>{try{let Re;if(le&&(Re=await p.getBackstageIdentity({optional:!0})),!Re&&(ye||a)&&(z(!0),Re=await p.getBackstageIdentity({instantPopup:!0}),!Re))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Re){z(!0);return}const Se=await p.getProfile();c(UserIdentity.create({identity:Re.identity,authApi:p,profile:Se}))}catch(Re){U(Re),z(!0)}};return useMountEffect(()=>ae({checkExisting:!0})),J?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:R.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:d},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{ae({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),x&&x.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},x.message)))))):React.createElement(Progress,null)};function Ul(n){return"provider"in n?React.createElement(zi,{...n}):React.createElement(Wi,{...n})}const Hi=(0,i.Z)(n=>({root:{padding:n.spacing(0,2,0,2.5),minHeight:n.spacing(3)},indicator:{backgroundColor:n.palette.info.main,height:n.spacing(.3)}}),{name:"BackstageTabbedCard"}),Vi=(0,Kt.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(un.Z);function $l(n){const{slackChannel:a,errorBoundaryProps:c,children:d,title:p,deepLink:R,value:x,onChange:U}=n,J=Hi(),[z,ae]=useState(0),le=U||((Se,ut)=>ae(ut));let ye;x?React.Children.map(d,Se=>{React.isValidElement(Se)&&(Se==null?void 0:Se.props.value)===x&&(ye=Se==null?void 0:Se.props.children)}):React.Children.map(d,(Se,ut)=>{React.isValidElement(Se)&&ut===z&&(ye=Se==null?void 0:Se.props.children)});const Re=c||(a?{slackChannel:a}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Re},p&&React.createElement(Vi,{title:p}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:J,value:x||z,onChange:le},d),React.createElement(Divider,null),React.createElement(CardContent,null,ye),R&&React.createElement(BottomLink,{...R})))}const ji=(0,i.Z)(n=>({root:{minWidth:n.spacing(6),minHeight:n.spacing(3),margin:n.spacing(0,2,0,0),padding:n.spacing(.5,0,.5,0),textTransform:"none","&:hover":{opacity:1,backgroundColor:"transparent",color:n.palette.text.primary}},selected:{fontWeight:"bold"}}),{name:"BackstageCardTab"});function wl(n){const{children:a,...c}=n,d=ji();return React.createElement(Tab,{disableRipple:!0,classes:d,...c})}},88609:function(q,o,e){"use strict";e.d(o,{Os:function(){return f},fC:function(){return E}});var r=e(76241),t=e(2784);const l=(0,r.CT)("analytics-context"),f=()=>{const h=(0,t.useContext)(l);if(h===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const g=h.atVersion(1);if(g===void 0)throw new Error("No context found for version 1.");return g},E=h=>{const{attributes:g,children:m}=h,y={...f(),...g},s=(0,r.EI)({1:y});return t.createElement(l.Provider,{value:s},m)};function i(h,g){const m=u=>React.createElement(E,{attributes:g},React.createElement(h,{...u}));return m.displayName=`WithAnalyticsContext(${h.displayName||h.name||"Component"})`,m}},28461:function(q,o,e){"use strict";e.d(o,{f:function(){return r.fC},z:function(){return i}});var r=e(88609),t=e(27399),l=e(2784);class f{constructor(g,m={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=g,this.context=m}setContext(g){this.context=g}captureEvent(g,m,{value:u,attributes:y}={}){try{this.analyticsApi.captureEvent({action:g,subject:m,value:u,attributes:y,context:this.context})}catch(s){console.warn("Error during analytics event capture. %o",s)}}}function E(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function i(){const h=(0,l.useRef)(null),g=(0,r.Os)(),m=E();function u(){return h.current===null&&(h.current=new f(m)),h.current}const y=u();return y.setContext(g),y}},39135:function(q,o,e){"use strict";e.d(o,{CL:function(){return $},sM:function(){return t},$v:function(){return D},v_:function(){return Q},hg:function(){return B},uB:function(){return N},iW:function(){return h},bq:function(){return S},Ds:function(){return L},NW:function(){return b},VE:function(){return F},W0:function(){return X},gP:function(){return de},F4:function(){return f},ux:function(){return i},Kp:function(){return l},$4:function(){return xe},p_:function(){return g},br:function(){return m},ZM:function(){return Ie},eC:function(){return u},D:function(){return E},gW:function(){return s},Yp:function(){return y},E6:function(){return Te}});var r=e(86833),t;(function(fe){const Ge="SignedIn";fe.SignedIn=Ge;const we="SignedOut";fe.SignedOut=we})(t||(t={}));const l=(0,r.T0)({id:"core.auth.google"}),f=(0,r.T0)({id:"core.auth.github"}),E=(0,r.T0)({id:"core.auth.okta"}),i=(0,r.T0)({id:"core.auth.gitlab"}),h=(0,r.T0)({id:"core.auth.auth0"}),g=(0,r.T0)({id:"core.auth.microsoft"}),m=(0,r.T0)({id:"core.auth.oauth2"}),u=(0,r.T0)({id:"core.auth.oidc"}),y=(0,r.T0)({id:"core.auth.saml"}),s=(0,r.T0)({id:"core.auth.onelogin"}),S=(0,r.T0)({id:"core.auth.bitbucket"}),N=(0,r.T0)({id:"core.auth.atlassian"}),D=(0,r.T0)({id:"core.alert"}),Q=(0,r.T0)({id:"core.analytics"}),B=(0,r.T0)({id:"core.apptheme"}),L=(0,r.T0)({id:"core.config"}),b=(0,r.T0)({id:"core.discovery"}),F=(0,r.T0)({id:"core.error"});var $;(function(fe){fe[fe.None=0]="None";const we=1;fe[fe.Active=we]="Active"})($||($={}));const X=(0,r.T0)({id:"core.featureflags"}),de=(0,r.T0)({id:"core.fetch"}),xe=(0,r.T0)({id:"core.identity"}),Ie=(0,r.T0)({id:"core.oauthrequest"}),Te=(0,r.T0)({id:"core.storage"})},27399:function(q,o,e){"use strict";e.d(o,{createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.T0},useApi:function(){return r.h_},useApiHolder:function(){return r.I_},FeatureFlagState:function(){return t.CL},SessionState:function(){return t.sM},alertApiRef:function(){return t.$v},analyticsApiRef:function(){return t.v_},appThemeApiRef:function(){return t.hg},atlassianAuthApiRef:function(){return t.uB},auth0AuthApiRef:function(){return t.iW},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},discoveryApiRef:function(){return t.NW},errorApiRef:function(){return t.VE},featureFlagsApiRef:function(){return t.W0},fetchApiRef:function(){return t.gP},githubAuthApiRef:function(){return t.F4},gitlabAuthApiRef:function(){return t.ux},googleAuthApiRef:function(){return t.Kp},identityApiRef:function(){return t.$4},microsoftAuthApiRef:function(){return t.p_},oauth2ApiRef:function(){return t.br},oauthRequestApiRef:function(){return t.ZM},oidcAuthApiRef:function(){return t.eC},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},samlAuthApiRef:function(){return t.Yp},storageApiRef:function(){return t.E6}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(o,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(o,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(o,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return r.auth0AuthApiRef}}),e.o(r,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(o,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(o,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(o,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(o,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(o,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(o,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return r.oauth2ApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return r.oidcAuthApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return r.samlAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(o,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(o,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(o,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(o,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(q,o,e){"use strict";e.d(o,{T:function(){return t}});class r{constructor(f){if(this.config=f,!f.id.split(".").flatMap(i=>i.split("-")).every(i=>i.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${f.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function t(l){return new r(l)}},25182:function(q,o,e){"use strict";e.d(o,{n:function(){return r}});function r(t,l){return"id"in t?{api:t,deps:{},factory:()=>l}:t}},86833:function(q,o,e){"use strict";e.d(o,{h_:function(){return r.h_},I_:function(){return r.I_},T0:function(){return t.T},createApiFactory:function(){return E.n}});var r=e(5761),t=e(90515),l=e(16362),f=e.n(l);e.o(l,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return l.FeatureFlagState}}),e.o(l,"SessionState")&&e.d(o,{SessionState:function(){return l.SessionState}}),e.o(l,"alertApiRef")&&e.d(o,{alertApiRef:function(){return l.alertApiRef}}),e.o(l,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return l.analyticsApiRef}}),e.o(l,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return l.appThemeApiRef}}),e.o(l,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return l.atlassianAuthApiRef}}),e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return l.auth0AuthApiRef}}),e.o(l,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return l.bitbucketAuthApiRef}}),e.o(l,"configApiRef")&&e.d(o,{configApiRef:function(){return l.configApiRef}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return l.discoveryApiRef}}),e.o(l,"errorApiRef")&&e.d(o,{errorApiRef:function(){return l.errorApiRef}}),e.o(l,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return l.featureFlagsApiRef}}),e.o(l,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return l.fetchApiRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return l.githubAuthApiRef}}),e.o(l,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return l.gitlabAuthApiRef}}),e.o(l,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return l.googleAuthApiRef}}),e.o(l,"identityApiRef")&&e.d(o,{identityApiRef:function(){return l.identityApiRef}}),e.o(l,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return l.microsoftAuthApiRef}}),e.o(l,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return l.oauth2ApiRef}}),e.o(l,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return l.oauthRequestApiRef}}),e.o(l,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return l.oidcAuthApiRef}}),e.o(l,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return l.oktaAuthApiRef}}),e.o(l,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return l.oneloginAuthApiRef}}),e.o(l,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return l.samlAuthApiRef}}),e.o(l,"storageApiRef")&&e.d(o,{storageApiRef:function(){return l.storageApiRef}}),e.o(l,"useApp")&&e.d(o,{useApp:function(){return l.useApp}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var E=e(25182)},16362:function(){},5761:function(q,o,e){"use strict";e.d(o,{I_:function(){return l},h_:function(){return f}});var r=e(2784),t=e(76241);function l(){const i=(0,t.Vt)("api-context");if(!i)throw new Error("API context is not available");const h=i.atVersion(1);if(!h)throw new Error("ApiContext v1 not available");return h}function f(i){const g=l().get(i);if(!g)throw new Error(`No implementation available for ${i}`);return g}function E(i){return function(g){const m=y=>{const s=l(),S={};for(const N in i)if(i.hasOwnProperty(N)){const D=i[N],Q=s.get(D);if(!Q)throw new Error(`No implementation available for ${D}`);S[N]=Q}return React.createElement(g,{...y,...S})},u=g.displayName||g.name||"Component";return m.displayName=`withApis(${u})`,m}}},31311:function(q,o,e){"use strict";e.d(o,{q:function(){return r.q}});var r=e(32483),t=e(67229),l=e.n(t);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(q,o,e){"use strict";e.d(o,{q:function(){return t}});var r=e(76241);const t=()=>{const l=(0,r.Vt)("app-context");if(!l)throw new Error("App context is not available");const f=l.atVersion(1);if(!f)throw new Error("AppContext v1 not available");return f}},74181:function(q,o,e){"use strict";e.d(o,{R5:function(){return f},CO:function(){return s},P4:function(){return y},IY:function(){return E},vJ:function(){return B}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),l="__backstage_data";function f(L,b,F){var de;const $=L;let X=(de=$[l])!=null?de:t.get(L);if(X||(X={map:new Map},Object.defineProperty($,l,{enumerable:!1,configurable:!0,writable:!1,value:X}),t.set(L,X)),X.map.has(b)){const xe=L.displayName||L.name;throw new Error(`Attempted to attach duplicate data "${b}" to component "${xe}"`)}X.map.set(b,F)}function E(L,b){var X;if(!L)return;const F=L.type;if(!F)return;const $=(X=F[l])!=null?X:t.get(F);if(!!$)return $.map.get(b)}var i=e(2784),h=e(88609),g=e(31311),m=e(82772);class u extends i.Component{constructor(){super(...arguments);ee(this,"state",{error:void 0});ee(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(b){return{error:b}}render(){const{error:b}=this.state,{app:F,plugin:$}=this.props,{ErrorBoundaryFallback:X}=F.getComponents();return b?i.createElement(X,{error:b,resetError:this.handleErrorReset,plugin:$}):this.props.children}}function y(L){const{component:b,mountPoint:F,name:$}=L;return S({component:{lazy:()=>b().then(X=>{const de=Ie=>{try{(0,m.tg)(F)}catch(Te){if(typeof Te=="object"&&Te!==null){const{message:fe}=Te;if(typeof fe=="string"&&fe.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${F} 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 Te}return i.createElement(X,{...Ie})},xe=$||X.displayName||X.name||"LazyComponent";return de.displayName=`RoutableExtension(${xe})`,de},X=>xe=>{const Ie=(0,g.q)(),{BootErrorPage:Te}=Ie.getComponents();return i.createElement(Te,{step:"load-chunk",error:X})})},data:{"core.mountPoint":F},name:$})}function s(L){const{component:b,name:F}=L;return S({component:b,name:F})}function S(L){const{data:b={},name:F}=L;F||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let $;if("lazy"in L.component){const de=L.component.lazy;$=(0,i.lazy)(()=>de().then(xe=>({default:xe})))}else $=L.component.sync;const X=F||$.displayName||$.name||"Component";return{expose(de){const xe=Ie=>{const Te=(0,g.q)(),{Progress:fe}=Te.getComponents(),Ge=b==null?void 0:b["core.mountPoint"];return i.createElement(i.Suspense,{fallback:i.createElement(fe,null)},i.createElement(u,{app:Te,plugin:de},i.createElement(h.fC,{attributes:{pluginId:de.getId(),...F&&{extension:F},...Ge&&{routeRef:Ge.id}}},i.createElement($,{...Ie}))))};f(xe,"core.plugin",de);for(const[Ie,Te]of Object.entries(b))f(xe,Ie,Te);return xe.displayName=`Extension(${X})`,xe}}}var N=e(27399);function D(L,b,F,$){return i.Children.toArray(L).flatMap(X=>{if(!(0,i.isValidElement)(X))return[];if(X.type===i.Fragment)return D(X.props.children,b,F,$);if(E(X,"core.featureFlagged")){const de=X.props;return("with"in de?b.isActive(de.with):!b.isActive(de.without))?D(X.props.children,b,F,$):[]}if(F===void 0||F(X))return[X];if($)throw new Error($);return D(X.props.children,b,F,$)})}class Q{constructor(b,F){this.node=b,this.featureFlagsApi=F}selectByComponentData(b){const F=D(this.node,this.featureFlagsApi,$=>E($,b.key)!==void 0,b.withStrictError);return new Q(F,this.featureFlagsApi)}findComponentData(b){return D(this.node,this.featureFlagsApi,$=>E($,b.key)!==void 0).map($=>E($,b.key)).filter($=>$!==void 0)}getElements(){return D(this.node,this.featureFlagsApi)}}function B(L,b,F=[]){const $=(0,N.useApi)(N.featureFlagsApiRef),X=new Q(L,$);return(0,i.useMemo)(()=>b(X),[L,...F])}},80274:function(){},36964:function(q,o,e){"use strict";e.d(o,{AnalyticsContext:function(){return r.f},useAnalytics:function(){return r.z},FeatureFlagState:function(){return t.FeatureFlagState},SessionState:function(){return t.SessionState},alertApiRef:function(){return t.alertApiRef},analyticsApiRef:function(){return t.analyticsApiRef},appThemeApiRef:function(){return t.appThemeApiRef},atlassianAuthApiRef:function(){return t.atlassianAuthApiRef},auth0AuthApiRef:function(){return t.auth0AuthApiRef},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},githubAuthApiRef:function(){return t.githubAuthApiRef},gitlabAuthApiRef:function(){return t.gitlabAuthApiRef},googleAuthApiRef:function(){return t.googleAuthApiRef},identityApiRef:function(){return t.identityApiRef},microsoftAuthApiRef:function(){return t.microsoftAuthApiRef},oauth2ApiRef:function(){return t.oauth2ApiRef},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oidcAuthApiRef:function(){return t.oidcAuthApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},samlAuthApiRef:function(){return t.samlAuthApiRef},storageApiRef:function(){return t.storageApiRef},useApp:function(){return l.q},attachComponentData:function(){return f.R5},createComponentExtension:function(){return f.CO},createRoutableExtension:function(){return f.P4},getComponentData:function(){return f.IY},useElementFilter:function(){return f.vJ},createPlugin:function(){return h.r},createExternalRouteRef:function(){return g.x8},createRouteRef:function(){return g.NT},useRouteRef:function(){return g.tg},useRouteRefParams:function(){return g.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(o,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}});var l=e(31311);e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createApiRef")&&e.d(o,{createApiRef:function(){return l.createApiRef}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"useApi")&&e.d(o,{useApi:function(){return l.useApi}}),e.o(l,"useApiHolder")&&e.d(o,{useApiHolder:function(){return l.useApiHolder}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var f=e(74181),E=e(80274),i=e.n(E);e.o(E,"createApiFactory")&&e.d(o,{createApiFactory:function(){return E.createApiFactory}}),e.o(E,"createApiRef")&&e.d(o,{createApiRef:function(){return E.createApiRef}}),e.o(E,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return E.createExternalRouteRef}}),e.o(E,"createPlugin")&&e.d(o,{createPlugin:function(){return E.createPlugin}}),e.o(E,"createRouteRef")&&e.d(o,{createRouteRef:function(){return E.createRouteRef}}),e.o(E,"useApi")&&e.d(o,{useApi:function(){return E.useApi}}),e.o(E,"useApiHolder")&&e.d(o,{useApiHolder:function(){return E.useApiHolder}}),e.o(E,"useRouteRef")&&e.d(o,{useRouteRef:function(){return E.useRouteRef}}),e.o(E,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return E.useRouteRefParams}});var h=e(96896),g=e(82772)},96896:function(q,o,e){"use strict";e.d(o,{r:function(){return t}});class r{constructor(f){this.config=f}getId(){return this.config.id}getApis(){var f;return(f=this.config.apis)!=null?f:[]}getFeatureFlags(){var f,E;return(E=(f=this.config.featureFlags)==null?void 0:f.slice())!=null?E:[]}get routes(){var f;return(f=this.config.routes)!=null?f:{}}get externalRoutes(){var f;return(f=this.config.externalRoutes)!=null?f:{}}provide(f){return f.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(l){return new r(l)}},82772:function(q,o,e){var N,D,Q;"use strict";e.d(o,{x8:function(){return m},NT:function(){return f},tg:function(){return s},Oi:function(){return S}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class l{constructor(L,b){ee(this,N,"absolute");this.id=L,this.params=b}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}N=t;function f(B){var L;return new l(B.id,(L=B.params)!=null?L:[])}const E=/^\w+$/;class i{constructor(L,b,F,$){ee(this,D,"sub");this.id=L,this.path=b,this.parent=F,this.params=$}toString(){return`routeRef{type=sub,id=${this.id}}`}}D=t;function h(B){const{id:L,path:b,parent:F}=B,$=b.split("/").filter(xe=>xe.startsWith(":")).map(xe=>xe.substring(1)),X=[...F.params,...$];if(F.params.some(xe=>$.includes(xe)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!b.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${b}'`);if(b.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${b}'`);for(const xe of $)if(!E.test(xe))throw new Error(`SubRouteRef path has invalid param, got '${xe}'`);return new i(L,b,F,X)}class g{constructor(L,b,F){ee(this,Q,"external");this.id=L,this.params=b,this.optional=F}toString(){return`routeRef{type=external,id=${this.id}}`}}Q=t;function m(B){var L;return new g(B.id,(L=B.params)!=null?L:[],Boolean(B.optional))}var u=e(2784),y=e(10289);function s(B){const L=(0,y.TH)(),b=(0,r.Vt)("routing-context");if(!b)throw new Error("Routing context is not available");const F=b.atVersion(1),$=(0,u.useMemo)(()=>F&&F.resolve(B,L),[F,B,L]);if(!b)throw new Error("useRouteRef used outside of routing context");if(!F)throw new Error("RoutingContext v1 not available");const X="optional"in B&&B.optional;if(!$&&!X)throw new Error(`No path for ${B}`);return $}function S(B){return(0,y.UO)()}},10179:function(q,o,e){"use strict";e.d(o,{SP:function(){return N},dR:function(){return y},VL:function(){return Q},BD:function(){return t}});function r(B){if(typeof B!="object"||B===null||Array.isArray(B))return!1;const L=B;return!(typeof L.name!="string"||L.name===""||typeof L.message!="string")}function t(B){if(typeof B!="object"||B===null||Array.isArray(B))throw new Error(`Encountered invalid error, not an object, got '${B}'`);const L=B;if(typeof L.name!="string"||L.name==="")throw new Error(`Encountered error object without a name, got '${B}'`);if(typeof L.message!="string")throw new Error(`Encountered error object without a message, got '${B}'`)}var l=e(24852);function f(B,L){const b=serializeErrorInternal(B),F={name:"Unknown",message:"<no reason given>",...b};return(L==null?void 0:L.includeStack)||delete F.stack,F}function E(B){const L=(0,l.deserializeError)(B);return B.stack||(L.stack=void 0),L}function i(B){if(r(B)){const L=String(B);return L!=="[object Object]"?L:`${B.name}: ${B.message}`}return`unknown error '${B}'`}class h extends Error{constructor(L,b){var $;let F=L;if(b!==void 0){const X=i(b);F?F+=`; caused by ${X}`:F=`caused by ${X}`}super(F);ee(this,"cause");($=Error.captureStackTrace)==null||$.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(b)?b:void 0}}class g extends null{}class m extends null{}class u extends null{}class y extends h{}class s extends null{}class S extends null{}class N extends h{constructor(L,b){super(L,b);this.name=r(b)?b.name:"Error"}}async function D(B){var L;try{const b=await B.text();if(b){if((L=B.headers.get("content-type"))==null?void 0:L.startsWith("application/json"))try{const F=JSON.parse(b);if(F.error&&F.response)return F}catch{}return{error:{name:"Error",message:`Request failed with status ${B.status} ${B.statusText}, ${b}`},response:{statusCode:B.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${B.status} ${B.statusText}`},response:{statusCode:B.status}}}class Q extends Error{constructor(L){super(L.message);ee(this,"response");ee(this,"body");ee(this,"cause");this.name="ResponseError",this.response=L.response,this.body=L.data,this.cause=L.cause}static async fromResponse(L){const b=await D(L),F=b.response.statusCode||L.status,$=b.error.name||L.statusText,X=`Request failed with ${F} ${$}`,de=E(b.error);return new Q({message:X,response:L,data:b,cause:de})}}},36356:function(q,o,e){var y,s,S,N,D;"use strict";e.d(o,{nW:function(){return u},ae:function(){return i},q3:function(){return h}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class l{constructor(L){vn(this,y,void 0);In(this,y,L)}async getCredentials(L){const b=new URL(L.url),F=qe(this,y).find($=>$.isUrlSupported(b));if(!F)throw new Error(`No auth provider available for '${L.url}', see https://backstage.io/link?scm-auth`);return F.getCredentials(L)}}y=new WeakMap;const Q=class{constructor(L,b,F,$){vn(this,s,void 0);vn(this,S,void 0);vn(this,N,void 0);vn(this,D,void 0);In(this,s,b),In(this,S,F),In(this,N,$),In(this,D,L)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef,bitbucket:bitbucketAuthApiRef},factory:({github:L,gitlab:b,azure:F,bitbucket:$})=>Q.merge(Q.forGithub(L),Q.forGitlab(b),Q.forAzure(F),Q.forBitbucket($))})}static forAuthApi(L,b){return new Q("generic",L,b.host,b.scopeMapping)}static forGithub(L,b){var $;const F=($=b==null?void 0:b.host)!=null?$:"github.com";return new Q("github",L,F,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(L,b){var $;const F=($=b==null?void 0:b.host)!=null?$:"gitlab.com";return new Q("gitlab",L,F,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(L,b){var $;const F=($=b==null?void 0:b.host)!=null?$:"dev.azure.com";return new Q("azure",L,F,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(L,b){var $;const F=($=b==null?void 0:b.host)!=null?$:"bitbucket.org";return new Q("bitbucket",L,F,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...L){return new l(L)}isUrlSupported(L){return L.host===qe(this,S)}getAdditionalScopesForProvider(L){var b,F;return!(L==null?void 0:L.customScopes)||qe(this,D)==="generic"?[]:(F=(b=L.customScopes)==null?void 0:b[qe(this,D)])!=null?F:[]}async getCredentials(L){const{url:b,additionalScope:F,...$}=L,X=qe(this,N).default.slice();(F==null?void 0:F.repoWrite)&&X.push(...qe(this,N).repoWrite);const de=this.getAdditionalScopesForProvider(F);de.length&&X.push(...de);const xe=[...new Set(X)],Ie=await qe(this,s).getAccessToken(xe,$);return{token:Ie,headers:{Authorization:`Bearer ${Ie}`}}}};let f=Q;s=new WeakMap,S=new WeakMap,N=new WeakMap,D=new WeakMap;var E=e(63925);class i{static fromConfig(L){return E.Lx.fromConfig(L)}}const h=(0,r.createApiRef)({id:"integration.scmintegrations"});var g=e(73250),m=e(2784);const u=B=>{var X;const{type:L}=B,b=(0,r.useApp)(),F=g.Z,$=L&&(X=b.getSystemIcon(L))!=null?X:F;return m.createElement($,null)}},63925:function(q,o,e){var Oe,he,Ce,je,lt,dt,ke;"use strict";e.d(o,{Lx:function(){return Ze},Pb:function(){return Ct}});var r=e(82717),t=e.n(r),l=e(76635);function f(j){const A=new URL("http://example.com");return A.host=j,A.host===j}function E(j){try{return new URL(j),!0}catch{return!1}}function i(j,A){return{list(){return j},byUrl(O){try{const W=typeof O=="string"?new URL(O):O;return j.find(_=>A(_)===W.host)}catch{return}},byHost(O){return j.find(W=>A(W)===O)}}}function h(j){const{url:A,base:O,lineNumber:W}=j;try{return new URL(A),A}catch{}let _;if(A.startsWith("/")){const{filepath:be}=t()(O);_=new URL(O);const me=(0,l.trimEnd)(_.pathname.substring(0,_.pathname.length-be.length),"/");_.pathname=`${me}${A}`}else _=new URL(A,O);return _.search=new URL(O).search,W&&(_.hash=`L${W}`),_.toString()}const g="GB",oe=class{constructor(A,O,W,_,be,me){vn(this,Oe,void 0);vn(this,he,void 0);vn(this,Ce,void 0);vn(this,je,void 0);vn(this,lt,void 0);vn(this,dt,void 0);vn(this,ke,(...A)=>{const O=new URL(qe(this,Oe));return O.pathname=A.map(W=>encodeURIComponent(W)).join("/"),O});In(this,Oe,A),In(this,he,O),In(this,Ce,W),In(this,je,_),In(this,lt,be),In(this,dt,me)}static fromRepoUrl(A){var vt;const O=new URL(A);let W,_,be;const me=O.pathname.split("/").map(Ht=>decodeURIComponent(Ht));if(me[2]==="_git"?(W=me[1],_=be=me[3]):me[3]==="_git"&&(W=me[1],_=me[2],be=me[4]),!W||!_||!be)throw new Error("Azure URL must point to a git repository");const Be=(vt=O.searchParams.get("path"))!=null?vt:void 0;let Fe;const He=O.searchParams.get("version");if(He){if(He.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");Fe=He.slice(2)}return new oe(O.origin,W,_,be,Be,Fe)}toRepoUrl(){let A;return qe(this,Ce)===qe(this,je)?A=qe(this,ke).call(this,qe(this,he),"_git",qe(this,je)):A=qe(this,ke).call(this,qe(this,he),qe(this,Ce),"_git",qe(this,je)),qe(this,lt)&&A.searchParams.set("path",qe(this,lt)),qe(this,dt)&&A.searchParams.set("version",g+qe(this,dt)),A.toString()}toFileUrl(){if(!qe(this,lt))throw new Error("Azure URL must point to a specific path to be able to download a file");const A=qe(this,ke).call(this,qe(this,he),qe(this,Ce),"_apis","git","repositories",qe(this,je),"items");return A.searchParams.set("api-version","6.0"),A.searchParams.set("path",qe(this,lt)),qe(this,dt)&&A.searchParams.set("version",qe(this,dt)),A.toString()}toArchiveUrl(){const A=qe(this,ke).call(this,qe(this,he),qe(this,Ce),"_apis","git","repositories",qe(this,je),"items");return A.searchParams.set("recursionLevel","full"),A.searchParams.set("download","true"),A.searchParams.set("api-version","6.0"),qe(this,lt)&&A.searchParams.set("scopePath",qe(this,lt)),qe(this,dt)&&A.searchParams.set("version",qe(this,dt)),A.toString()}toCommitsUrl(){const A=qe(this,ke).call(this,qe(this,he),qe(this,Ce),"_apis","git","repositories",qe(this,je),"commits");return A.searchParams.set("api-version","6.0"),qe(this,dt)&&A.searchParams.set("searchCriteria.itemVersion.version",qe(this,dt)),A.toString()}getOwner(){return qe(this,he)}getProject(){return qe(this,Ce)}getRepo(){return qe(this,je)}getPath(){return qe(this,lt)}getRef(){return qe(this,dt)}};let m=oe;Oe=new WeakMap,he=new WeakMap,Ce=new WeakMap,je=new WeakMap,lt=new WeakMap,dt=new WeakMap,ke=new WeakMap;const u="dev.azure.com";function y(j){var W;const A=(W=j.getOptionalString("host"))!=null?W:u,O=j.getOptionalString("token");if(!f(A))throw new Error(`Invalid Azure integration config, '${A}' is not a valid host`);return{host:A,token:O}}function s(j){const A=j.map(y);return A.some(O=>O.host===u)||A.push({host:u}),A}const Ne=class{constructor(A){this.integrationConfig=A}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){var _;const{url:O,base:W}=A;if(E(O))return O;try{const be=m.fromRepoUrl(W),me=new URL(W),Be=new URL(`https://a.com${(_=be.getPath())!=null?_:""}`),Fe=new URL(O,Be).pathname;return me.searchParams.set("path",Fe),A.lineNumber&&(me.searchParams.set("line",String(A.lineNumber)),me.searchParams.set("lineEnd",String(A.lineNumber+1)),me.searchParams.set("lineStartColumn","1"),me.searchParams.set("lineEndColumn","1")),me.toString()}catch{return new URL(O,W).toString()}}resolveEditUrl(A){return A}};let S=Ne;ee(S,"factory",({config:A})=>{var W;const O=s((W=A.getOptionalConfigArray("integrations.azure"))!=null?W:[]);return i(O.map(_=>new Ne(_)),_=>_.config.host)});var N=e(48834).Buffer;function D(j){return AzureUrl.fromRepoUrl(j).toFileUrl()}function Q(j){return AzureUrl.fromRepoUrl(j).toArchiveUrl()}function B(j){return AzureUrl.fromRepoUrl(j).toCommitsUrl()}function L(j,A){const O=A?{...A}:{};if(j.token){const W=N.from(`:${j.token}`,"utf8");O.Authorization=`Basic ${W.toString("base64")}`}return{headers:O}}const b="bitbucket.org",F="https://api.bitbucket.org/2.0";function $(j){var me;const A=(me=j.getOptionalString("host"))!=null?me:b;let O=j.getOptionalString("apiBaseUrl");const W=j.getOptionalString("token"),_=j.getOptionalString("username"),be=j.getOptionalString("appPassword");if(!f(A))throw new Error(`Invalid Bitbucket integration config, '${A}' is not a valid host`);return O?O=(0,l.trimEnd)(O,"/"):A===b&&(O=F),{host:A,apiBaseUrl:O,token:W,username:_,appPassword:be}}function X(j){const A=j.map($);return A.some(O=>O.host===b)||A.push({host:b,apiBaseUrl:F}),A}const tt=class{constructor(A){this.integrationConfig=A}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){const O=h(A);if(A.lineNumber){const W=new URL(O),_=W.pathname.split("/").slice(-1)[0];return W.hash=`${_}-${A.lineNumber}`,W.toString()}return O}resolveEditUrl(A){const O=t()(A),W=new URL(A);return W.searchParams.set("mode","edit"),W.searchParams.set("spa","0"),W.searchParams.set("at",O.ref),W.toString()}};let de=tt;ee(de,"factory",({config:A})=>{var W;const O=X((W=A.getOptionalConfigArray("integrations.bitbucket"))!=null?W:[]);return i(O.map(_=>new tt(_)),_=>_.config.host)});var xe=e(96279),Ie=e(48834).Buffer;async function Te(j,A){const{name:O,owner:W,resource:_}=parseGitUrl(j),be=_==="bitbucket.org";let me=be?`${A.apiBaseUrl}/repositories/${W}/${O}`:`${A.apiBaseUrl}/projects/${W}/repos/${O}/default-branch`,Be=await fetch(me,we(A));if(Be.status===404&&!be&&(me=`${A.apiBaseUrl}/projects/${W}/repos/${O}/branches/default`,Be=await fetch(me,we(A))),!Be.ok){const He=`Failed to retrieve default branch from ${me}, ${Be.status} ${Be.statusText}`;throw new Error(He)}let Fe;if(be)Fe=(await Be.json()).mainbranch.name;else{const{displayId:He}=await Be.json();Fe=He}if(!Fe)throw new Error(`Failed to read default branch from ${me}. Response ${Be.status} ${Be.json()}`);return Fe}async function fe(j,A){const{name:O,owner:W,ref:_,protocol:be,resource:me,filepath:Be}=parseGitUrl(j),Fe=me==="bitbucket.org";let He=_;He||(He=await Te(j,A));const vt=Be?`&path=${encodeURIComponent(Be)}`:"";return Fe?`${be}://${me}/${W}/${O}/get/${He}.tar.gz`:`${A.apiBaseUrl}/projects/${W}/repos/${O}/archive?format=tgz&at=${He}&prefix=${W}-${O}${vt}`}function Ge(j,A){try{const{owner:O,name:W,ref:_,filepathtype:be,filepath:me}=parseGitUrl(j);if(!O||!W||be!=="browse"&&be!=="raw"&&be!=="src")throw new Error("Invalid Bitbucket URL or file path");const Be=me.replace(/^\//,"");if(A.host==="bitbucket.org"){if(!_)throw new Error("Invalid Bitbucket URL or file path");return`${A.apiBaseUrl}/repositories/${O}/${W}/src/${_}/${Be}`}return`${A.apiBaseUrl}/projects/${O}/repos/${W}/raw/${Be}?at=${_}`}catch(O){throw new Error(`Incorrect URL: ${j}, ${O}`)}}function we(j){const A={};if(j.token)A.Authorization=`Bearer ${j.token}`;else if(j.username&&j.appPassword){const O=Ie.from(`${j.username}:${j.appPassword}`,"utf8");A.Authorization=`Basic ${O.toString("base64")}`}return{headers:A}}const Qe="github.com",_e="https://api.github.com",nt="https://raw.githubusercontent.com";function mt(j){var me,Be;const A=(me=j.getOptionalString("host"))!=null?me:Qe;let O=j.getOptionalString("apiBaseUrl"),W=j.getOptionalString("rawBaseUrl");const _=j.getOptionalString("token"),be=(Be=j.getOptionalConfigArray("apps"))==null?void 0:Be.map(Fe=>({appId:Fe.getNumber("appId"),clientId:Fe.getString("clientId"),clientSecret:Fe.getString("clientSecret"),webhookSecret:Fe.getString("webhookSecret"),privateKey:Fe.getString("privateKey"),allowedInstallationOwners:Fe.getOptionalStringArray("allowedInstallationOwners")}));if(!f(A))throw new Error(`Invalid GitHub integration config, '${A}' is not a valid host`);return O?O=(0,l.trimEnd)(O,"/"):A===Qe&&(O=_e),W?W=(0,l.trimEnd)(W,"/"):A===Qe&&(W=nt),{host:A,apiBaseUrl:O,rawBaseUrl:W,token:_,apps:be}}function ot(j){const A=j.map(mt);return A.some(O=>O.host===Qe)||A.push({host:Qe,apiBaseUrl:_e,rawBaseUrl:nt}),A}function Rt(j,A,O){try{const{owner:W,name:_,ref:be,filepathtype:me,filepath:Be}=parseGitUrl(j);if(!W||!_||!be||me!=="blob"&&me!=="raw"&&me!=="tree")throw new Error("Invalid GitHub URL or file path");const Fe=Be.replace(/^\//,"");return $t(A,O)==="api"?`${A.apiBaseUrl}/repos/${W}/${_}/contents/${Fe}?ref=${be}`:`${A.rawBaseUrl}/${W}/${_}/${be}/${Fe}`}catch(W){throw new Error(`Incorrect URL: ${j}, ${W}`)}}function Wt(j,A){const O={};return $t(j,A)==="api"&&(O.Accept="application/vnd.github.v3.raw"),A.token&&(O.Authorization=`token ${A.token}`),{headers:O}}function $t(j,A){return j.apiBaseUrl&&(A.token||!j.rawBaseUrl)?"api":"raw"}class At{constructor(){ee(this,"tokenCache",new Map);ee(this,"isNotExpired",A=>A.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(A,O){const W=this.tokenCache.get(A);if(W&&this.isNotExpired(W.expiresAt))return{accessToken:W.token};const _=await O();return this.tokenCache.set(A,_),{accessToken:_.token}}}const st={Accept:"application/vnd.github.machine-man-preview+json"};class gt{constructor(A,O){ee(this,"appClient");ee(this,"baseUrl");ee(this,"baseAuthConfig");ee(this,"cache",new At);ee(this,"allowedInstallationOwners");this.allowedInstallationOwners=A.allowedInstallationOwners,this.baseUrl=O,this.baseAuthConfig={appId:A.appId,privateKey:A.privateKey.replace(/\\n/gm,`
|
|
31
|
+
`)},this.appClient=new Octokit({baseUrl:O,headers:st,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(A,O){var me;const{installationId:W,suspended:_}=await this.getInstallationData(A);if(this.allowedInstallationOwners&&!((me=this.allowedInstallationOwners)==null?void 0:me.includes(A)))return{accessToken:void 0};if(_)throw new Error(`The GitHub application for ${A} is suspended`);const be=O?`${A}/${O}`:A;return this.cache.getOrCreateToken(be,async()=>{const Be=await this.appClient.apps.createInstallationAccessToken({installation_id:W,headers:st});if(O&&Be.data.repository_selection==="selected"){const Fe=new Octokit({baseUrl:this.baseUrl,auth:Be.data.token});if(!(await Fe.paginate(Fe.apps.listReposAccessibleToInstallation)).some(Ht=>Ht.name===O))throw new Error(`The Backstage GitHub application used in the ${A} organization does not have access to a repository with the name ${O}`)}return{token:Be.data.token,expiresAt:DateTime.fromISO(Be.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(A){const W=(await this.getInstallations()).find(be=>{var me,Be;return((Be=(me=be.account)==null?void 0:me.login)==null?void 0:Be.toLocaleLowerCase("en-US"))===A.toLocaleLowerCase("en-US")});if(W)return{installationId:W.id,suspended:Boolean(W.suspended_by)};const _=new Error(`No app installation found for ${A} in ${this.baseAuthConfig.appId}`);throw _.name="NotFoundError",_}}class Lt{constructor(A){ee(this,"apps");var O,W;this.apps=(W=(O=A.apps)==null?void 0:O.map(_=>new gt(_,A.apiBaseUrl)))!=null?W:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(O=>O.getInstallations()))).flat():[]}async getAppToken(A,O){if(this.apps.length===0)return;const W=await Promise.all(this.apps.map(Be=>Be.getInstallationCredentials(A,O).then(Fe=>({credentials:Fe,error:void 0}),Fe=>({credentials:void 0,error:Fe})))),_=W.find(Be=>Be.credentials);if(_)return _.credentials.accessToken;const me=W.map(Be=>Be.error).find(Be=>Be.name!=="NotFoundError");if(me)throw me}}class xt{constructor(A,O){this.githubAppCredentialsMux=A,this.token=O}async getCredentials(A){const O=parseGitUrl(A.url),W=O.owner||O.name,_=O.owner?O.name:void 0;let be="app",me=await this.githubAppCredentialsMux.getAppToken(W,_);return me||(be="token",me=this.token),{headers:me?{Authorization:`Bearer ${me}`}:void 0,token:me,type:be}}}ee(xt,"create",null);class Ut{static fromIntegrations(A){const O=new Map;return A.github.list().forEach(W=>{const _=SingleInstanceGithubCredentialsProvider.create(W.config);O.set(W.config.host,_)}),new Ut(O)}constructor(A){this.providers=A}async getCredentials(A){const O=new URL(A.url),W=this.providers.get(O.host);if(!W)throw new Error(`There is no GitHub integration that matches ${A.url}. Please add a configuration for an integration.`);return W.getCredentials(A)}}const et=class{constructor(A){this.integrationConfig=A}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return Ct(h(A),"tree")}resolveEditUrl(A){return Ct(A,"edit")}};let Pt=et;ee(Pt,"factory",({config:A})=>{var W;const O=ot((W=A.getOptionalConfigArray("integrations.github"))!=null?W:[]);return i(O.map(_=>new et(_)),_=>_.config.host)});function Ct(j,A){return j.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(O,W,_,be)=>`//${W}/${_}/${be}/${A}/`)}const pt="gitlab.com",Me="https://gitlab.com/api/v4";function rt(j){const A=j.getString("host");let O=j.getOptionalString("apiBaseUrl");const W=j.getOptionalString("token");let _=j.getOptionalString("baseUrl");if(O?O=(0,l.trimEnd)(O,"/"):A===pt&&(O=Me),_?_=(0,l.trimEnd)(_,"/"):_=`https://${A}`,A.includes(":"))throw new Error(`Invalid GitLab integration config, host '${A}' should just be the host name (e.g. "github.com"), not a URL`);if(f(A)){if(!O||!E(O))throw new Error(`Invalid GitLab integration config, '${O}' is not a valid apiBaseUrl`);if(!E(_))throw new Error(`Invalid GitLab integration config, '${_}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${A}' is not a valid host`);return{host:A,token:W,apiBaseUrl:O,baseUrl:_}}function Xe(j){const A=j.map(rt);return A.some(O=>O.host===pt)||A.push({host:pt,apiBaseUrl:Me,baseUrl:`https://${pt}`}),A}async function Tt(j,A){if(j.includes("/-/blob/")){const O=await I(j,A);return P(j,O).toString()}return te(j).toString()}function ie(j){const{token:A=""}=j;return{headers:{"PRIVATE-TOKEN":A}}}function te(j){try{const A=new URL(j),[O,W,_,be,...me]=A.pathname.split("/");if(O!==""||W===""||_===""||be!=="blob"||!me.join("/").match(/\.(yaml|yml)$/))throw new Error("Wrong GitLab URL");return A.pathname=[O,W,_,"raw",...me].join("/"),A}catch(A){throw new Error(`Incorrect url: ${j}, ${A}`)}}function P(j,A){try{const O=new URL(j),W=O.pathname.split("/-/blob/")[1],[_,...be]=W.split("/");return O.pathname=["/api/v4/projects",A,"repository/files",encodeURIComponent(decodeURIComponent(be.join("/"))),"raw"].join("/"),O.search=`?ref=${_}`,O}catch(O){throw new Error(`Incorrect url: ${j}, ${O}`)}}async function I(j,A){const O=new URL(j);if(!O.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const W=O.pathname.split("/-/blob/")[0],_=new URL(`${O.protocol+O.hostname}/api/v4/projects/${encodeURIComponent(W.replace(/^\//,""))}`),be=await fetch(_.toString(),ie(A)),me=await be.json();if(!be.ok)throw new Error(`GitLab Error '${me.error}', ${me.error_description}`);return Number(me.id)}catch(W){throw new Error(`Could not get GitLab project ID for: ${j}, ${W}`)}}const We=class{constructor(A){this.integrationConfig=A}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return h(A)}resolveEditUrl(A){return K(A,"edit")}};let Z=We;ee(Z,"factory",({config:A})=>{var W;const O=Xe((W=A.getOptionalConfigArray("integrations.gitlab"))!=null?W:[]);return i(O.map(_=>new We(_)),_=>_.config.host)});function K(j,A){return j.replace(/\/\-\/(blob|tree|edit)\//,`/-/${A}/`)}const k="amazonaws.com";function ce(j){var Fe;const A=j.getOptionalString("endpoint"),O=(Fe=j.getOptionalBoolean("s3ForcePathStyle"))!=null?Fe:!1;let W,_;if(A){try{const He=new URL(A);W=He.host,_=He.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${A}' is not a valid URL`)}if(_!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${A}'`)}else W=k;const be=j.getOptionalString("accessKeyId"),me=j.getOptionalString("secretAccessKey"),Be=j.getOptionalString("roleArn");return{host:W,endpoint:A,s3ForcePathStyle:O,accessKeyId:be,secretAccessKey:me,roleArn:Be}}function Ee(j){const A=j.map(ce);return A.some(O=>O.host===k)||A.push({host:k}),A}const ze=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(A){this.integrationConfig=A}resolveUrl(A){return h(A)}resolveEditUrl(A){return A}};let Ae=ze;ee(Ae,"factory",({config:A})=>{var W;const O=Ee((W=A.getOptionalConfigArray("integrations.awsS3"))!=null?W:[]);return i(O.map(_=>new ze(_)),_=>_.config.host)});class Ze{constructor(A){ee(this,"byType");this.byType=A}static fromConfig(A){return new Ze({awsS3:Ae.factory({config:A}),azure:S.factory({config:A}),bitbucket:de.factory({config:A}),github:Pt.factory({config:A}),gitlab:Z.factory({config:A})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}list(){return Object.values(this.byType).flatMap(A=>A.list())}byUrl(A){return Object.values(this.byType).map(O=>O.byUrl(A)).find(Boolean)}byHost(A){return Object.values(this.byType).map(O=>O.byHost(A)).find(Boolean)}resolveUrl(A){const O=this.byUrl(A.base);return O?O.resolveUrl(A):h(A)}resolveEditUrl(A){const O=this.byUrl(A);return O?O.resolveEditUrl(A):A}}},86240:function(q,o,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return _t}});var t=e(2784),l=e(28316),f=e(10289),E=e(49208),i=e(36964),h=e(20221);const g=[(0,i.createApiFactory)({api:i.discoveryApiRef,deps:{configApi:i.configApiRef},factory:({configApi:C})=>E.UrlPatternDiscovery.compile(`${C.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,i.createApiFactory)({api:i.alertApiRef,deps:{},factory:()=>new E.AlertApiForwarder}),(0,i.createApiFactory)({api:i.analyticsApiRef,deps:{},factory:()=>new E.NoOpAnalyticsApi}),(0,i.createApiFactory)({api:i.errorApiRef,deps:{alertApi:i.alertApiRef},factory:({alertApi:C})=>{const w=new E.ErrorAlerter(C,new E.ErrorApiForwarder);return E.UnhandledErrorForwarder.forward(w,{hidden:!1}),w}}),(0,i.createApiFactory)({api:i.storageApiRef,deps:{errorApi:i.errorApiRef},factory:({errorApi:C})=>E.WebStorage.create({errorApi:C})}),(0,i.createApiFactory)({api:i.fetchApiRef,deps:{configApi:i.configApiRef,identityApi:i.identityApiRef,discoveryApi:i.discoveryApiRef},factory:({configApi:C,identityApi:w,discoveryApi:re})=>(0,E.createFetchApi)({middleware:[E.FetchMiddlewares.resolvePluginProtocol({discoveryApi:re}),E.FetchMiddlewares.injectIdentityAuth({identityApi:w,config:C})]})}),(0,i.createApiFactory)({api:i.oauthRequestApiRef,deps:{},factory:()=>new E.OAuthRequestManager}),(0,i.createApiFactory)({api:i.googleAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.GoogleAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.microsoftAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.MicrosoftAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.githubAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.GithubAuth.create({discoveryApi:C,oauthRequestApi:w,defaultScopes:["read:user"],environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oktaAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.OktaAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.gitlabAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.GitlabAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.auth0AuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.Auth0Auth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oauth2ApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.OAuth2.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.samlAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,configApi:w})=>E.SamlAuth.create({discoveryApi:C,environment:w.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oneloginAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.OneLoginAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oidcAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.OAuth2.create({discoveryApi:C,oauthRequestApi:w,provider:{id:"oidc",title:"Your Identity Provider",icon:()=>null},environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.bitbucketAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.BitbucketAuth.create({discoveryApi:C,oauthRequestApi:w,defaultScopes:["team"],environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.atlassianAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:C,oauthRequestApi:w,configApi:re})=>E.AtlassianAuth.create({discoveryApi:C,oauthRequestApi:w,environment:re.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:h.RV,deps:{discovery:i.discoveryApiRef,identity:i.identityApiRef,config:i.configApiRef},factory:({config:C,discovery:w,identity:re})=>h.iM.create({config:C,discovery:w,identity:re})})];var m=e(77277),u=e(9118),y=e(62833);function s({children:C}){return(0,f.GV)()?t.createElement(t.Fragment,null,C):t.createElement(f.VA,null,C)}const S=()=>t.createElement(u.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),N=({step:C,error:w})=>{let re="";return C==="load-config"?re=`The configuration failed to load, someone should have a look at this error: ${w.message}`:C==="load-chunk"&&(re=`Lazy loaded chunk failed to load, try to reload the page: ${w.message}`),t.createElement(s,null,t.createElement(u.ErrorPage,{status:"501",statusMessage:re}))},D=({error:C,resetError:w,plugin:re})=>t.createElement(u.ErrorPanel,{title:`Error in ${re==null?void 0:re.getId()}`,defaultExpanded:!0,error:C},t.createElement(m.Z,{variant:"outlined",onClick:w},"Retry")),Q={Progress:u.Progress,Router:y.VK,NotFoundErrorPage:S,BootErrorPage:N,ErrorBoundaryFallback:D};var B=e(43642),L=e(80079),b=e(90941),F=e(32915),$=e(40562),X=e(21853),de=e(60744),xe=e(66569),Ie=e(30254),Te=e(13384),fe=e(15933),Ge=e(58838),we=e(86737),Qe=e(4989),_e=e(44407),nt=e(18628),mt=e(84219),ot=e(98685),Rt=e(39781);const Wt={brokenImage:L.Z,catalog:nt.Z,scaffolder:F.Z,techdocs:$.Z,search:X.Z,chat:de.Z,dashboard:xe.Z,docs:Ie.Z,email:Te.Z,github:Ge.Z,group:mt.Z,help:we.Z,"kind:api":fe.Z,"kind:component":_e.Z,"kind:domain":B.Z,"kind:group":mt.Z,"kind:location":Qe.Z,"kind:system":b.Z,"kind:user":ot.Z,user:ot.Z,warning:Rt.Z};var $t=e(73689),At=e(48032);const st={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")`},gt={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"]};function Lt(C,w){const ve=`linear-gradient(90deg, ${(C.length===1?[C[0],C[0]]:C).join(", ")})`,Ke=`${w}, ${ve}`;return{colors:C,shape:w,backgroundImage:Ke}}const xt={home:Lt(gt.teal,st.wave),documentation:Lt(gt.pinkSea,st.wave2),tool:Lt(gt.purpleSky,st.round),service:Lt(gt.marineBlue,st.wave),website:Lt(gt.veryBlue,st.wave),library:Lt(gt.rubyRed,st.wave),other:Lt(gt.darkGrey,st.wave),app:Lt(gt.toastyOrange,st.wave),apis:Lt(gt.teal,st.wave2)},Ut='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function Pt(C){const{palette:w,fontFamily:re=Ut,defaultPageTheme:ve,pageTheme:Ke=xt}=C;if(!Ke[ve])throw new Error(`${ve} is not defined in pageTheme.`);return{palette:w,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:re,h5:{fontWeight:700},h4:{fontWeight:700,fontSize:28,marginBottom:6},h3:{fontSize:32,fontWeight:700,marginBottom:6},h2:{fontSize:40,fontWeight:700,marginBottom:8},h1:{fontSize:54,fontWeight:700,marginBottom:10}},page:Ke[ve],getPageTheme:({themeId:at})=>{var ft;return(ft=Ke[at])!=null?ft:Ke[ve]}}}function Ct(C){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:C.typography.fontFamily},body:{height:"100%",fontFamily:C.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:C.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:C.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:C.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:C.spacing(1.5,2,1.5,2.5)},head:{wordBreak:"break-word",overflow:"hidden",color:"rgb(179, 179, 179)",fontWeight:"normal",lineHeight:"1"}},MuiTabs:{root:{minHeight:24}},MuiTab:{root:{color:C.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,At.darken)(C.palette.link,.3),background:(0,At.lighten)(C.palette.link,.95)},[C.breakpoints.up("md")]:{minWidth:120,fontSize:C.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:C.palette.link}},MuiTableSortLabel:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"}},active:{fontWeight:"bold",color:"inherit"}},MuiListItemText:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},MuiButton:{text:{padding:void 0}},MuiChip:{root:{backgroundColor:"#D9D9D9",marginRight:C.spacing(1),marginBottom:C.spacing(1),color:C.palette.grey[900]},outlined:{color:C.palette.text.primary},label:{lineHeight:`${C.spacing(2.5)}px`,fontWeight:C.typography.fontWeightMedium,fontSize:`${C.spacing(1.75)}px`},labelSmall:{fontSize:`${C.spacing(1.5)}px`},deleteIcon:{color:C.palette.grey[500],width:`${C.spacing(3)}px`,height:`${C.spacing(3)}px`,margin:`0 ${C.spacing(.75)}px 0 -${C.spacing(.75)}px`},deleteIconSmall:{width:`${C.spacing(2)}px`,height:`${C.spacing(2)}px`,margin:`0 ${C.spacing(.5)}px 0 -${C.spacing(.5)}px`}},MuiCard:{root:{display:"flex",flexDirection:"column"}},MuiCardHeader:{root:{paddingBottom:0}},MuiCardContent:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}},MuiCardActions:{root:{justifyContent:"flex-end"}}}}function pt(C){const w=Pt(C),re=(0,$t.Z)(w),ve=Ct(re);return{...re,overrides:ve}}var Me=e(34505);const rt=pt({palette:{type:"light",background:{default:"#F8F8F8"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#2E77D0",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#2E77D0"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",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:Me.Z.A700,navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:xt}),Xe=pt({palette:{type:"dark",background:{default:"#333333"},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",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:Me.Z.A700,navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:xt});var Tt=e(98192),ie=e(15222),te=e(41547),P=e(87561);const I=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(ie.Z,null),Provider:({children:C})=>t.createElement(te.Z,{theme:rt},t.createElement(P.ZP,null,C))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(Tt.Z,null),Provider:({children:C})=>t.createElement(te.Z,{theme:Xe},t.createElement(P.ZP,null,C))}];function Z(C){var w,re,ve;return(0,E.createSpecializedApp)({...C,apis:(w=C==null?void 0:C.apis)!=null?w:[],bindRoutes:C==null?void 0:C.bindRoutes,components:{...Q,...C==null?void 0:C.components},configLoader:C==null?void 0:C.configLoader,defaultApis:g,icons:{...Wt,...C==null?void 0:C.icons},plugins:(re=C==null?void 0:C.plugins)!=null?re:[],themes:(ve=C==null?void 0:C.themes)!=null?ve:I})}var K=e(39398),k=e(49782),ce=e(79692);const Ee=(0,ce.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}});function Ae(C){const w=C.result,re=Ee();return React.createElement(Link,{to:w.location},React.createElement(ListItem,{alignItems:"flex-start",className:re.flexContainer},React.createElement(ListItemText,{className:re.itemText,primaryTypographyProps:{variant:"h6"},primary:w.title,secondary:w.text}),React.createElement(Box,null,w.kind&&React.createElement(Chip,{label:`Kind: ${w.kind}`,size:"small"}),w.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${w.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))}var Ze=e(91730),Oe=e(17499),he=e(41564),Ce=e(31423),je=e(95544),lt=e(99688),dt=e(12231),ke=e(86136),oe=e(49378),Ne=e(85256),tt=e(61837),et=e(79784),We=e(50758),ze=e(49166),j=e(31654),A=e(43054);const O="catalog-entity",W={name:"catalog.entity.read",attributes:{action:"read"},resourceType:O},_={name:"catalog.entity.create",attributes:{action:"create"},resourceType:O},be={name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:O},me={name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:O},Be={name:"catalog.location.read",attributes:{action:"read"}},Fe={name:"catalog.location.create",attributes:{action:"create"}},He={name:"catalog.location.delete",attributes:{action:"delete"}},vt=(0,ce.Z)({button:{color:"white"}});function Ht(C){var T;const{UNSTABLE_extraContextMenuItems:w,UNSTABLE_contextMenuOptions:re,onUnregisterEntity:ve,onInspectEntity:Ke}=C,[at,ft]=(0,t.useState)(),Je=vt(),St=(0,Ce.useEntityPermission)(be),yt=M=>{ft(M.currentTarget)},Ft=()=>{ft(void 0)},Yt=w&&[...w.map(M=>t.createElement(dt.Z,{key:M.title,onClick:()=>{Ft(),M.onClick()}},t.createElement(ke.Z,null,t.createElement(M.Icon,{fontSize:"small"})),t.createElement(oe.Z,{primary:M.title}))),t.createElement(Ne.Z,{key:"the divider is here!"})],v=(T=!St.allowed||(re==null?void 0:re.disableUnregister))!=null?T:!1;return t.createElement(t.Fragment,null,t.createElement(tt.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true",onClick:yt,"data-testid":"menu-button",className:Je.button},t.createElement(A.Z,null)),t.createElement(et.ZP,{open:Boolean(at),onClose:Ft,anchorEl:at,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},t.createElement(We.Z,null,Yt,t.createElement(dt.Z,{onClick:()=>{Ft(),ve()},disabled:v},t.createElement(ke.Z,null,t.createElement(ze.Z,{fontSize:"small"})),t.createElement(oe.Z,{primary:"Unregister entity"})),t.createElement(dt.Z,{onClick:()=>{Ft(),Ke()}},t.createElement(ke.Z,null,t.createElement(j.Z,{fontSize:"small"})),t.createElement(oe.Z,{primary:"Inspect entity"})))))}const ue="plugin.catalog.entityLayoutRoute",H=()=>null;(0,i.attachComponentData)(H,ue,!0),(0,i.attachComponentData)(H,"core.gatherMountPoints",!0);function se(C){const{entity:w,title:re}=C;return t.createElement(je.Z,{display:"inline-flex",alignItems:"center",height:"1em",maxWidth:"100%"},t.createElement(je.Z,{component:"span",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},re),w&&t.createElement(Ce.FavoriteEntity,{entity:w}))}function pe(C,w,re,ve){var Je,St,yt,Ft,Yt;const Ke=(Je=C!=null?C:ve==null?void 0:ve.kind)!=null?Je:"",at=(St=w!=null?w:ve==null?void 0:ve.metadata.namespace)!=null?St:"";return{headerTitle:`${(Yt=(Ft=(yt=ve==null?void 0:ve.metadata.title)!=null?yt:re)!=null?Ft:ve==null?void 0:ve.metadata.name)!=null?Yt:""}${at&&at!==he.zG?` in ${at}`:""}`,headerType:(()=>{let v=Ke.toLocaleLowerCase("en-US");return ve&&ve.spec&&"type"in ve.spec&&(v+=" \u2014 ",v+=ve.spec.type.toLocaleLowerCase("en-US")),v})()}}function Ve(C){var ve;const{entity:w}=C,re=(0,Ce.getEntityRelations)(w,he.S4);return t.createElement(t.Fragment,null,re.length>0&&t.createElement(u.HeaderLabel,{label:"Owner",value:t.createElement(Ce.EntityRefLinks,{entityRefs:re,defaultKind:"Group",color:"inherit"})}),((ve=w.spec)==null?void 0:ve.lifecycle)&&t.createElement(u.HeaderLabel,{label:"Lifecycle",value:w.spec.lifecycle}))}const Ye=C=>{var Le,De,Ue;const{UNSTABLE_extraContextMenuItems:w,UNSTABLE_contextMenuOptions:re,children:ve}=C,{kind:Ke,namespace:at,name:ft}=(0,Ce.useEntityCompoundName)(),{entity:Je,loading:St,error:yt}=(0,t.useContext)(Ce.EntityContext),Ft=(0,f.TH)(),Yt=(0,i.useElementFilter)(ve,Pe=>Pe.selectByComponentData({key:ue,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:$e})=>$e.if&&Je&&!$e.if(Je)?[]:[{path:$e.path,title:$e.title,children:$e.children,tabProps:$e.tabProps}]),[Je]),{headerTitle:v,headerType:T}=pe(Ke,at,ft,Je),[M,V]=(0,t.useState)(!1),[Y,G]=(0,t.useState)(!1),ne=(0,f.s0)(),ge=async()=>{V(!1),G(!1),ne("/")};return(0,t.useEffect)(()=>{V(!1),G(!1)},[Ft.pathname]),t.createElement(u.Page,{themeId:(Ue=(De=(Le=Je==null?void 0:Je.spec)==null?void 0:Le.type)==null?void 0:De.toString())!=null?Ue:"home"},t.createElement(u.Header,{title:t.createElement(se,{title:v,entity:Je}),pageTitleOverride:v,type:T},Je&&t.createElement(t.Fragment,null,t.createElement(Ve,{entity:Je}),t.createElement(Ht,{UNSTABLE_extraContextMenuItems:w,UNSTABLE_contextMenuOptions:re,onUnregisterEntity:()=>V(!0),onInspectEntity:()=>G(!0)}))),St&&t.createElement(u.Progress,null),Je&&t.createElement(u.RoutedTabs,{routes:Yt}),yt&&t.createElement(u.Content,null,t.createElement(lt.Z,{severity:"error"},yt.toString())),!St&&!yt&&!Je&&t.createElement(u.Content,null,t.createElement(u.WarningPanel,{title:"Entity not found"},"There is no ",Ke," with the requested"," ",t.createElement(u.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Ce.UnregisterEntityDialog,{open:M,entity:Je,onConfirm:ge,onClose:()=>V(!1)}),t.createElement(Ce.InspectEntityDialog,{open:Y,entity:Je,onClose:()=>G(!1)}))};Ye.Route=H;var ct=e(10179);function bt(C){const{open:w,onClose:re,onConfirm:ve,entity:Ke}=C,[at,ft]=useState(!1),Je=useApi(catalogApiRef),St=useApi(alertApiRef),yt=async()=>{ft(!0);try{const Ft=Ke.metadata.uid;await Je.removeEntityByUid(Ft),ve()}catch(Ft){assertError(Ft),St.post({message:Ft.message})}finally{ft(!1)}};return React.createElement(Dialog,{open:w,onClose:re},React.createElement(DialogTitle,{id:"responsive-dialog-title"},"Are you sure you want to delete this entity?"),React.createElement(DialogActions,null,React.createElement(Button,{variant:"contained",color:"secondary",disabled:at,onClick:yt},"Delete"),React.createElement(Button,{onClick:re,color:"primary"},"Cancel")))}function nn(C){var w,re;return((re=(w=C==null?void 0:C.metadata)==null?void 0:w.annotations)==null?void 0:re["backstage.io/orphan"])==="true"}function Zn(){const C=useNavigate(),w=useRouteRef(catalogRouteRef),[re,ve]=useState(!1),{entity:Ke}=useEntity(),at=async()=>{ve(!1),C(w())};return React.createElement(React.Fragment,null,React.createElement(Alert,{severity:"warning",onClick:()=>ve(!0)},"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."),React.createElement(DeleteEntityDialog,{open:re,entity:Ke,onConfirm:at,onClose:()=>ve(!1)}))}var Ln=e(58248);const On=C=>C.error&&C.level==="error"&&C.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function xn(C,w){return{items:(await w.getEntityAncestors({entityRef:C})).items.map(Ke=>{var Je,St;return{errors:((St=(Je=Ke.entity.status)==null?void 0:Je.items)!=null?St:[]).filter(On).map(yt=>yt.error).filter(yt=>Boolean(yt)),entity:Ke.entity}}).filter(Ke=>Ke.errors.length>0)}}async function ht(C,w){const re=w.apis.get(catalogApiRef);if(!re)throw new Error(`No implementation available for ${catalogApiRef}`);return(await xn(stringifyEntityRef(C),re)).items.length>0}function Qt(){const{entity:C}=useEntity(),w=stringifyEntityRef(C),re=useApi(catalogApiRef),{loading:ve,error:Ke,value:at}=useAsync(async()=>xn(w,re),[w,re]);return Ke?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Ke})):ve||!at?null:React.createElement(React.Fragment,null,at.items.map((ft,Je)=>React.createElement(Box,{key:Je,mb:1},stringifyEntityRef(C)!==stringifyEntityRef(ft.entity)&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:ft.entity})),ft.errors.map((St,yt)=>React.createElement(ResponseErrorPanel,{key:yt,error:St})))))}var Rn=e(64279);const Un="core.backstage.entitySwitch",Gt=C=>null;(0,i.attachComponentData)(Gt,Un,!0);const Yn=C=>{var at,ft;const{entity:w}=(0,Ce.useEntity)(),re=(0,i.useApiHolder)(),ve=(0,i.useElementFilter)(C.children,Je=>Je.selectByComponentData({key:Un,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(St=>{var Yt;const{if:yt,children:Ft}=St.props;return[{if:(Yt=yt==null?void 0:yt(w,{apis:re}))!=null?Yt:!0,children:Ft}]}),[re,w]);return ve.some(Je=>typeof Je.if=="object"&&"then"in Je.if)?t.createElement(Er,{results:ve}):(ft=(at=ve.find(Je=>Je.if))==null?void 0:at.children)!=null?ft:null};function Er({results:C}){const{loading:w,value:re}=(0,Rn.default)(async()=>{var Ke;const ve=C.map(async({if:at,children:ft})=>{try{if(await at)return ft}catch{}return null});return(Ke=(await Promise.all(ve)).find(Boolean))!=null?Ke:null},[C]);return w||!re?null:re}Yn.Case=Gt;var ar=e(26997),Wn=e(47851);const qt=(0,i.createPlugin)({id:"catalog",apis:[(0,i.createApiFactory)({api:Ce.Ah,deps:{discoveryApi:i.discoveryApiRef,fetchApi:i.fetchApiRef},factory:({discoveryApi:C,fetchApi:w})=>new Ln.M({discoveryApi:C,fetchApi:w})}),(0,i.createApiFactory)({api:Ce.starredEntitiesApiRef,deps:{storageApi:i.storageApiRef},factory:({storageApi:C})=>new Ce.DefaultStarredEntitiesApi({storageApi:C})})],routes:{catalogIndex:Ce.M4,catalogEntity:Ce.wi},externalRoutes:{createComponent:Wn.y,viewTechDoc:Wn.j}}),jr=qt.provide((0,i.createRoutableExtension)({name:"CatalogIndexPage",component:()=>e.e(7758).then(e.bind(e,7758)).then(C=>C.CatalogPage),mountPoint:Ce.M4})),Ar=qt.provide((0,i.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6650).then(e.bind(e,76650)).then(C=>C.CatalogEntityPage),mountPoint:Ce.wi})),ga=qt.provide((0,i.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(C=>C.AboutCard)}})),Gr=qt.provide((0,i.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(C=>C.EntityLinksCard)}})),pa=qt.provide((0,i.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(C=>C.HasSystemsCard)}})),Kr=qt.provide((0,i.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(C=>C.HasComponentsCard)}})),Yr=qt.provide((0,i.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(C=>C.HasSubcomponentsCard)}})),Jr=qt.provide((0,i.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(C=>C.HasResourcesCard)}})),vr=qt.provide((0,i.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(C=>C.DependsOnComponentsCard)}})),Qr=qt.provide((0,i.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(C=>C.DependencyOfComponentsCard)}})),Rr=qt.provide((0,i.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(C=>C.DependsOnResourcesCard)}})),Sr=qt.provide((0,i.createComponentExtension)({name:"RelatedEntitiesCard",component:{lazy:()=>e.e(2426).then(e.bind(e,62426)).then(C=>C.RelatedEntitiesCard)}}));var Dn=e(3337),Cr=e(76372);class or{constructor(w){ee(this,"configApi");ee(this,"discoveryApi");ee(this,"fetchApi");this.configApi=w.configApi,this.discoveryApi=w.discoveryApi,this.fetchApi=w.fetchApi}async getApiOrigin(){var w;return(w=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?w:await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(w){const{kind:re,namespace:ve,name:Ke}=w,ft=`${await this.getApiOrigin()}/metadata/techdocs/${ve}/${re}/${Ke}`,Je=await this.fetchApi.fetch(`${ft}`);if(!Je.ok)throw await ct.VL.fromResponse(Je);return await Je.json()}async getEntityMetadata(w){const{kind:re,namespace:ve,name:Ke}=w,ft=`${await this.getApiOrigin()}/metadata/entity/${ve}/${re}/${Ke}`,Je=await this.fetchApi.fetch(`${ft}`);if(!Je.ok)throw await ct.VL.fromResponse(Je);return await Je.json()}}class sr{constructor(w){ee(this,"configApi");ee(this,"discoveryApi");ee(this,"identityApi");ee(this,"fetchApi");this.configApi=w.configApi,this.discoveryApi=w.discoveryApi,this.identityApi=w.identityApi,this.fetchApi=w.fetchApi}async getApiOrigin(){var w;return(w=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?w:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var w;return(w=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?w:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(w,re){const{kind:ve,namespace:Ke,name:at}=w,Je=`${await this.getStorageUrl()}/${Ke}/${ve}/${at}/${re}`,St=await this.fetchApi.fetch(`${Je.endsWith("/")?Je:`${Je}/`}index.html`);let yt="";switch(St.status){case 404:throw yt="Page not found. ",re||(yt+="This could be because there is no index.md file in the root of the docs directory of this repository."),new ct.dR(yt);case 500:throw yt="Could not generate documentation or an error in the TechDocs backend. ",new Error(yt);default:break}return St.text()}async syncEntityDocs(w,re=()=>{}){const{kind:ve,namespace:Ke,name:at}=w,Je=`${await this.getApiOrigin()}/sync/${Ke}/${ve}/${at}`,{token:St}=await this.identityApi.getCredentials();return new Promise((yt,Ft)=>{const Yt=new Cr.EventSourcePolyfill(Je,{withCredentials:!0,headers:St?{Authorization:`Bearer ${St}`}:{}});Yt.addEventListener("log",v=>{v.data&&re(JSON.parse(v.data))}),Yt.addEventListener("finish",v=>{let T=!1;v.data&&({updated:T}=JSON.parse(v.data)),yt(T?"updated":"cached")}),Yt.onerror=v=>{switch(Yt.close(),v.status){case 404:Ft(new ct.dR(v.message));return;default:Ft(new Error(v.data));return}}})}async getBaseUrl(w,re,ve){const{kind:Ke,namespace:at,name:ft}=re,St=`${await this.getApiOrigin()}/static/docs/${at}/${Ke}/${ft}/${ve}`;return new URL(w,St.endsWith("/")?St:`${St}/`).toString()}}var Xr=e(71226),Tr=e(95074),zn=e(76635),ir=e(83201),hn=e(50294),zt=e(67430);const Jn=({columns:C,actions:w})=>{var Yt,v;const{loading:re,error:ve,entities:Ke,filters:at}=(0,Ce.useEntityListProvider)(),{isStarredEntity:ft,toggleStarredEntity:Je}=(0,Ce.useStarredEntities)(),[,St]=(0,Tr.Z)(),yt=(0,zn.capitalize)((v=(Yt=at.user)==null?void 0:Yt.value)!=null?v:"all"),Ft=[hn.createCopyDocsUrlAction(St),hn.createStarEntityAction(ft,Je)];return ve?t.createElement(u.WarningPanel,{severity:"error",title:"Could not load available documentation."},t.createElement(u.CodeSnippet,{language:"text",text:ve.toString()})):t.createElement(ir.DocsTable,{title:yt,entities:Ke,loading:re,actions:w||Ft,columns:C})};Jn.columns=zt,Jn.actions=hn;var lr=e(1114);class Pr{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":Ce.n3}}}const Qn=()=>{const{updateFilters:C}=(0,Ce.useEntityListProvider)();return(0,t.useEffect)(()=>{C({techdocs:new Pr})},[C]),null},kr=({initialFilter:C="all",columns:w,actions:re})=>t.createElement(lr.j,null,t.createElement(u.Content,null,t.createElement(u.ContentHeader,{title:""},t.createElement(u.SupportButton,null,"Discover documentation in your ecosystem.")),t.createElement(Ce.EntityListProvider,null,t.createElement(ar.q7,null,t.createElement(ar.Gh,null,t.createElement(Qn,null),t.createElement(Ce.UserListPicker,{initialFilter:C}),t.createElement(Ce.EntityOwnerPicker,null),t.createElement(Ce.EntityTagPicker,null)),t.createElement(ar.Nz,null,t.createElement(Jn,{actions:re,columns:w}))))));var ya=e(10187);const qr=()=>{const{loading:C,error:w,entities:re}=useEntityListProvider();return w?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:w.toString()})):C||!re?React.createElement(Progress,null):(re.sort((ve,Ke)=>{var at,ft;return((at=ve.metadata.title)!=null?at:ve.metadata.name).localeCompare((ft=Ke.metadata.title)!=null?ft:Ke.metadata.name)}),React.createElement(DocsCardGrid,{entities:re}))};var bn=e(68725);const _t=(0,i.createPlugin)({id:"techdocs",apis:[(0,i.createApiFactory)({api:Dn.D,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef,fetchApi:i.fetchApiRef},factory:({configApi:C,discoveryApi:w,identityApi:re,fetchApi:ve})=>new sr({configApi:C,discoveryApi:w,identityApi:re,fetchApi:ve})}),(0,i.createApiFactory)({api:Dn.g,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,fetchApi:i.fetchApiRef},factory:({configApi:C,discoveryApi:w,fetchApi:re})=>new or({configApi:C,discoveryApi:w,fetchApi:re})})],routes:{root:bn._Z,docRoot:bn.Fw,entityContent:bn.pd}}),Sn=_t.provide((0,i.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(C=>C.Router),mountPoint:bn._Z})),Hn=_t.provide((0,i.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(C=>C.EmbeddedDocsRouter),mountPoint:bn.pd})),Xn=_t.provide((0,i.createComponentExtension)({name:"DocsCardGrid",component:{lazy:()=>Promise.resolve().then(e.bind(e,10187)).then(C=>C.DocsCardGrid)}})),Ir=_t.provide((0,i.createComponentExtension)({name:"DocsTable",component:{lazy:()=>Promise.resolve().then(e.bind(e,83201)).then(C=>C.DocsTable)}})),_r=_t.provide((0,i.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>Promise.resolve().then(e.bind(e,57110)).then(C=>C.TechDocsCustomHome),mountPoint:bn._Z})),kn=_t.provide((0,i.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,41481)).then(C=>C.TechDocsIndexPage),mountPoint:bn._Z})),Lr=_t.provide((0,i.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,31752)).then(C=>C.TechDocsPage),mountPoint:bn.Fw}));var Vn=e(73873),cr=e(94067),un=e(36356);class Kt{constructor({configApi:w,discoveryApi:re,identityApi:ve}){ee(this,"configApi");ee(this,"discoveryApi");ee(this,"identityApi");this.configApi=w,this.discoveryApi=re,this.identityApi=ve}async getApiOrigin(){var w;return(w=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?w:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var w;return(w=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?w:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(w,re){const Ke=`${await this.getApiOrigin()}/${re}`,at=await fetch(`${Ke.endsWith("/")?Ke:`${Ke}/`}index.html`);if(at.status===404)throw new Error("Page not found");return at.text()}async syncEntityDocs(w){return"cached"}async getBaseUrl(w,re,ve){const Ke=await this.getApiOrigin();return new URL(w,`${Ke}/${ve}`).toString()}}class dn{constructor({configApi:w,discoveryApi:re,identityApi:ve}){ee(this,"configApi");ee(this,"discoveryApi");ee(this,"identityApi");this.configApi=w,this.discoveryApi=re,this.identityApi=ve}async getApiOrigin(){var w;return(w=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?w:await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(w){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(w){return{site_name:"Live preview environment",site_description:""}}}const qn=[(0,i.createApiFactory)({api:Dn.D,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:C,discoveryApi:w,identityApi:re})=>new Kt({configApi:C,discoveryApi:w,identityApi:re})}),(0,i.createApiFactory)({api:Dn.g,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:C,discoveryApi:w,identityApi:re})=>new dn({configApi:C,discoveryApi:w,identityApi:re})}),(0,i.createApiFactory)({api:un.q3,deps:{configApi:i.configApiRef},factory:({configApi:C})=>un.ae.fromConfig(C)})];var _n=e(86689),Or=e(58845);const xr=(0,ce.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var Dr=()=>{const C=xr();return t.createElement("svg",{className:C.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:C.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 br=(0,ce.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var jn=()=>{const C=br();return t.createElement("svg",{className:C.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:C.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"}))};const ea=(0,ce.Z)({root:{width:u.sidebarConfig.drawerWidthClosed,height:3*u.sidebarConfig.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:u.sidebarConfig.drawerWidthClosed,marginLeft:24}}),Fr=()=>{const C=ea(),{isOpen:w}=(0,t.useContext)(u.SidebarContext);return t.createElement("div",{className:C.root},t.createElement(_n.Z,{component:y.OL,to:"/docs/default/component/local/",underline:"none",className:C.link},w?t.createElement(Dr,null):t.createElement(jn,null)))},fr=({children:C})=>t.createElement(u.SidebarPage,null,t.createElement(u.Sidebar,null,t.createElement(Fr,null),t.createElement(u.SidebarDivider,null),t.createElement(u.SidebarItem,{icon:Or.Z,to:"docs/default/component/local/",text:"Docs Preview"})),C),Br=()=>{const C={site_name:"Live preview environment",site_description:""};return t.createElement(Vn.EV,null,({entityRef:w,onReady:re})=>t.createElement(t.Fragment,null,t.createElement(Vn.nN,{techDocsMetadata:C,entityRef:w}),t.createElement(u.Content,{"data-testid":"techdocs-content"},t.createElement(Vn.Ej,{onReady:re,entityRef:w,withSearch:!1}))))},ta=t.createElement(Br,null),Mr={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external",requestUrl:"http://localhost:3000/api"}},na={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external",requestUrl:"http://localhost:7007/api"}};async function ra(){const C=await fetch("/.detect");return C.ok?(await C.text()).trim()==="techdocs-cli-server":!1}async function Nr(){const C=await(0,E.defaultConfigLoader)(),w=await ra();return[...C,{context:"detected",data:w?Mr:na}]}const er=Z({apis:qn,configLoader:Nr,plugins:Object.values(r)}),$n=er.getProvider(),Fn=er.getRouter(),Zr=t.createElement(E.FlatRoutes,null,t.createElement(f.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(f.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(Ar,null)}),t.createElement(f.AW,{path:"/docs",element:t.createElement(kn,null)},t.createElement(kr,null)),t.createElement(f.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(Lr,null)},ta));var $r=()=>t.createElement($n,null,t.createElement(Fn,null,t.createElement(fr,null,Zr)));l.render(t.createElement($r,null),document.getElementById("root"))},76241:function(q,o,e){"use strict";e.d(o,{CT:function(){return i},EI:function(){return m},uW:function(){return f},Vt:function(){return h}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),l=u=>`__@backstage/${u}__`;function f(u,y){const s=l(u);let S=t[s];return S||(S=y(),t[s]=S,S)}var E=e(2784);function i(u){return f(u,()=>(0,E.createContext)(void 0))}function h(u){return(0,E.useContext)(i(u))}function g(u){return{set(y){globalThis[`__@backstage/${u}__`]=createContext(createVersionedValueMap(y))},reset(){delete globalThis[`__@backstage/${u}__`]}}}function m(u){return Object.freeze(u),{atVersion(y){return u[y]}}}},31423:function(q,o,e){"use strict";e.d(o,{AsyncEntityProvider:function(){return Ie},n3:function(){return t.CATALOG_FILTER_EXISTS},DefaultStarredEntitiesApi:function(){return u},EntityContext:function(){return X},EntityKindFilter:function(){return P},EntityLifecyclePicker:function(){return pe},EntityListProvider:function(){return Ut},EntityOwnerPicker:function(){return bt},EntityRefLink:function(){return ie},EntityRefLinks:function(){return te},EntityTable:function(){return Wn},EntityTagPicker:function(){return ga},EntityTypePicker:function(){return Kr},FavoriteEntity:function(){return Cr},InspectEntityDialog:function(){return Zr},UnregisterEntityDialog:function(){return ve},UserListPicker:function(){return yt},Ah:function(){return f},M4:function(){return B},wi:function(){return L},favoriteEntityIcon:function(){return Dn},favoriteEntityTooltip:function(){return Sr},formatEntityRefTitle:function(){return rt},getEntityMetadataEditUrl:function(){return At},getEntityMetadataViewUrl:function(){return $t},getEntityRelations:function(){return st},getEntitySourceLocation:function(){return gt},isOwnerOf:function(){return Lt},starredEntitiesApiRef:function(){return y},useEntity:function(){return we},useEntityCompoundName:function(){return $},useEntityFromUrl:function(){return Ge},useEntityKinds:function(){return Ze},useEntityListProvider:function(){return Pt},useEntityPermission:function(){return j},useOwnUser:function(){return Oe},useRelatedEntities:function(){return Ce},useStarredEntities:function(){return dt}});var r={};e.r(r),e.d(r,{createDomainColumn:function(){return ht},createEntityRefColumn:function(){return Ln},createEntityRelationColumn:function(){return On},createMetadataDescriptionColumn:function(){return Rn},createOwnerColumn:function(){return xn},createSpecLifecycleColumn:function(){return Un},createSpecTypeColumn:function(){return Gt},createSystemColumn:function(){return Qt}});var t=e(58248),l=e(36964);const f=(0,l.createApiRef)({id:"plugin.catalog.service"});var E=e(82394),i=e.n(E),h=e(41564),g=e(76635);async function m({storageApi:v}){var G;const T=v.forBucket("settings"),M=v.forBucket("starredEntities"),V=T.get("starredEntities");if(!(0,g.isArray)(V))return;const Y=new Set((G=M.get("entityRefs"))!=null?G:[]);V.filter(g.isString).map(ne=>ne.split(":")).filter(ne=>ne.length===4&&ne[0]==="entity").map(([ne,ge,Le,De])=>(0,h.eE)({kind:ge,namespace:Le,name:De})).forEach(ne=>Y.add(ne)),await M.set("entityRefs",Array.from(Y)),await T.remove("starredEntities")}class u{constructor(T){ee(this,"settingsStore");ee(this,"starredEntities");ee(this,"subscribers",new Set);ee(this,"observable",new(i())(T=>(T.next(this.starredEntities),this.subscribers.add(T),()=>{this.subscribers.delete(T)})));var M;m(T).then(),this.settingsStore=T.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((M=this.settingsStore.get("entityRefs"))!=null?M:[]),this.settingsStore.observe$("entityRefs").subscribe({next:V=>{var Y;this.starredEntities=new Set((Y=V.newValue)!=null?Y:[]),this.notifyChanges()}})}async toggleStarred(T){this.starredEntities.has(T)?this.starredEntities.delete(T):this.starredEntities.add(T),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}isStarred(T){return this.starredEntities.has(T)}notifyChanges(){for(const T of this.subscribers)T.next(this.starredEntities)}}const y=(0,l.createApiRef)({id:"catalog-react.starred-entities"});var s=e(2784),S=e(76241),N=e(10289),D=e(77446);const B=(0,l.createRouteRef)({id:"catalog"}),L=(0,S.uW)("catalog:entity-route-ref",()=>(0,l.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]})),b=null;function F(v){var T,M;return{kind:v.kind.toLocaleLowerCase("en-US"),namespace:(M=(T=v.metadata.namespace)==null?void 0:T.toLocaleLowerCase("en-US"))!=null?M:DEFAULT_NAMESPACE,name:v.metadata.name}}const $=()=>{const{kind:v,namespace:T,name:M}=(0,l.useRouteRefParams)(L);return{kind:v,namespace:T,name:M}},X=(0,s.createContext)({entity:void 0,loading:!0,error:void 0,refresh:()=>{}}),de=X.Provider,xe=(0,S.CT)("entity-context"),Ie=({children:v,entity:T,loading:M,error:V,refresh:Y})=>{const G={entity:T,loading:M,error:V,refresh:Y};return s.createElement(de,{value:G},s.createElement(xe.Provider,{value:(0,S.EI)({1:G})},v))},Te=({entity:v,children:T})=>React.createElement(Ie,{entity:v,loading:!Boolean(v),error:void 0,refresh:void 0,children:T}),fe=({value:v,children:T})=>s.createElement(Ie,{...v,children:T});X.Provider=fe;const Ge=()=>{const{kind:v,namespace:T,name:M}=$(),V=(0,N.s0)(),Y=(0,l.useApi)(l.errorApiRef),G=(0,l.useApi)(f),{value:ne,error:ge,loading:Le,retry:De}=(0,D.Z)(()=>G.getEntityByName({kind:v,namespace:T,name:M}),[G,v,T,M]);return(0,s.useEffect)(()=>{M||(Y.post(new Error("No name provided!")),V("/"))},[Y,V,ge,Le,ne,M]),{entity:ne,loading:Le,error:ge,refresh:De}};function we(){const v=(0,S.Vt)("entity-context");if(!v)return{entity:void 0,loading:!0,error:void 0,refresh:()=>{}};const T=v.atVersion(1);if(!T)throw new Error("EntityContext v1 not available");const{entity:M,loading:V,error:Y,refresh:G}=T;return{entity:M,loading:V,error:Y,refresh:G}}var Qe=e(19126),_e=e.n(Qe),nt=e(69294),mt=e(48760),ot=e(90736);function Rt(v){return v.reduce((T,M)=>({...T,...M.getCatalogFilters?M.getCatalogFilters():{}}),{})}function Wt(v){return T=>v.every(M=>!M.filterEntity||M.filterEntity(T))}function $t(v){var T;return(T=v.metadata.annotations)==null?void 0:T[h.l2]}function At(v){var T;return(T=v.metadata.annotations)==null?void 0:T[h.Tf]}function st(v,T,M){var Y,G;let V=((G=(Y=v==null?void 0:v.relations)==null?void 0:Y.filter(ne=>ne.type===T))==null?void 0:G.map(ne=>ne.target))||[];return(M==null?void 0:M.kind)&&(V=V==null?void 0:V.filter(ne=>ne.kind.toLocaleLowerCase("en-US")===M.kind.toLocaleLowerCase("en-US"))),V}function gt(v,T){var V;const M=(V=v.metadata.annotations)==null?void 0:V[h.M6];if(!!M)try{const Y=(0,h.Ou)(M),G=T.byUrl(Y.target);return{locationTargetUrl:Y.target,integrationType:G==null?void 0:G.type}}catch{return}}function Lt(v,T){const M=new Set([...st(v,h.hr,{kind:"group"}),...v?[(0,h.C_)(v)]:[]].map(h.eE)),V=st(T,h.S4).map(h.eE);for(const Y of V)if(M.has(Y))return!0;return!1}const xt=(0,s.createContext)(void 0),Ut=({children:v})=>{const T=(0,ot.default)(),M=(0,l.useApi)(f),[V,Y]=(0,s.useState)({}),G=(0,N.TH)(),ne=(0,s.useMemo)(()=>{var Et;return(Et=_e().parse(G.search,{ignoreQueryPrefix:!0}).filters)!=null?Et:{}},[G]),[ge,Le]=(0,s.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[]})),[{loading:De,error:Ue},Pe]=(0,nt.default)(async()=>{var fn;const Et=(0,g.compact)(Object.values(V)),Bt=Wt(Et),wt=Rt(Et),Vt=Rt((0,g.compact)(Object.values(ge.appliedFilters))),pn=Object.keys(V).reduce((Mt,sn)=>{const rn=V[sn];return(rn==null?void 0:rn.toQueryValue)&&(Mt[sn]=rn.toQueryValue()),Mt},{});if((0,g.isEqual)(Vt,wt))Le({appliedFilters:V,backendEntities:ge.backendEntities,entities:ge.backendEntities.filter(Bt)});else{const Mt=await M.getEntities({filter:wt});Le({appliedFilters:V,backendEntities:Mt.items,entities:Mt.items.filter(Bt)})}if(T()){const Mt=_e().parse(G.search,{ignoreQueryPrefix:!0}),sn=_e().stringify({...Mt,filters:pn},{addQueryPrefix:!0}),rn=`${window.location.pathname}${sn}`;(fn=window.history)==null||fn.replaceState(null,document.title,rn)}},[M,ne,V,ge],{loading:!0});(0,mt.Z)(Pe,10,[V]);const $e=(0,s.useCallback)(Et=>{Y(Bt=>{const wt=typeof Et=="function"?Et(Bt):Et;return{...Bt,...wt}})},[]),It=(0,s.useMemo)(()=>({filters:ge.appliedFilters,entities:ge.entities,backendEntities:ge.backendEntities,updateFilters:$e,queryParameters:ne,loading:De,error:Ue}),[ge,$e,ne,De,Ue]);return s.createElement(xt.Provider,{value:It},v)};function Pt(){const v=(0,s.useContext)(xt);if(!v)throw new Error("useEntityListProvider must be used within EntityListProvider");return v}var Ct=e(64279),pt=e(18149),Me=e.n(pt);function rt(v,T){const M=T==null?void 0:T.defaultKind;let V,Y,G;return"metadata"in v?(V=v.kind,Y=v.metadata.namespace,G=v.metadata.name):(V=v.kind,Y=v.namespace,G=v.name),Y===h.zG&&(Y=void 0),V=V.toLocaleLowerCase("en-US"),V=M&&M.toLocaleLowerCase("en-US")===V?void 0:V,`${V?`${V}:`:""}${Y?`${Y}/`:""}${G}`}var Xe=e(9118),Tt=e(80030);const ie=(0,s.forwardRef)((v,T)=>{var Et;const{entityRef:M,defaultKind:V,title:Y,children:G,...ne}=v,ge=(0,l.useRouteRef)(L);let Le,De,Ue;"metadata"in M?(Le=M.kind,De=M.metadata.namespace,Ue=M.metadata.name):(Le=M.kind,De=M.namespace,Ue=M.name),Le=Le.toLocaleLowerCase("en-US");const Pe={kind:Le,namespace:(Et=De==null?void 0:De.toLocaleLowerCase("en-US"))!=null?Et:h.zG,name:Ue},$e=rt(M,{defaultKind:V}),It=s.createElement(Xe.Link,{...ne,ref:T,to:ge(Pe)},G,!G&&(Y!=null?Y:$e));return Y?s.createElement(Tt.ZP,{title:$e},It):It}),te=({entityRefs:v,defaultKind:T,...M})=>s.createElement(s.Fragment,null,v.map((V,Y)=>s.createElement(s.Fragment,{key:Y},Y>0&&", ",s.createElement(ie,{...M,entityRef:V,defaultKind:T}))));class P{constructor(T){this.value=T}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class I{constructor(T){this.value=T}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class Z{constructor(T){this.values=T}filterEntity(T){return this.values.every(M=>{var V;return((V=T.metadata.tags)!=null?V:[]).includes(M)})}toQueryValue(){return this.values}}class K{constructor(T){this.value=T}filterEntity(T){var V;const M=this.value.toLocaleUpperCase("en-US");return T.metadata.name.toLocaleUpperCase("en-US").includes(M)||`${T.metadata.title}`.toLocaleUpperCase("en-US").includes(M)||((V=T.metadata.tags)==null?void 0:V.join("").toLocaleUpperCase("en-US").indexOf(M))!==-1}}class k{constructor(T){this.values=T}filterEntity(T){return this.values.some(M=>st(T,h.S4).some(V=>rt(V,{defaultKind:"group"})===M))}toQueryValue(){return this.values}}class ce{constructor(T){this.values=T}filterEntity(T){return this.values.some(M=>{var V;return((V=T.spec)==null?void 0:V.lifecycle)===M})}toQueryValue(){return this.values}}class Ee{constructor(T,M,V){this.value=T,this.isOwnedEntity=M,this.isStarredEntity=V}filterEntity(T){switch(this.value){case"owned":return this.isOwnedEntity(T);case"starred":return this.isStarredEntity(T);default:return!0}}toQueryValue(){return this.value}}function Ae(){var Bt;const v=(0,l.useApi)(f),{filters:{kind:T,type:M},queryParameters:V,updateFilters:Y}=Pt(),G=(0,s.useMemo)(()=>[V.type].flat().filter(Boolean),[V]),[ne,ge]=(0,s.useState)(G.length?G:(Bt=M==null?void 0:M.getTypes())!=null?Bt:[]);(0,s.useEffect)(()=>{G.length&&ge(G)},[G]);const[Le,De]=(0,s.useState)([]),Ue=(0,s.useMemo)(()=>T==null?void 0:T.value,[T]),{error:Pe,loading:$e,value:It}=(0,Ct.default)(async()=>Ue?await v.getEntities({filter:{kind:Ue},fields:["spec.type"]}).then(Vt=>Vt.items):[],[Ue,v]),Et=(0,s.useRef)(It);return(0,s.useEffect)(()=>{const wt=Et.current;if(Et.current=It,$e||!Ue||wt===It||!It)return;const Vt=It.reduce((Mt,sn)=>{var mr;if(typeof((mr=sn.spec)==null?void 0:mr.type)!="string")return Mt;const rn=sn.spec.type.toLocaleLowerCase("en-US");return Mt[rn]||(Mt[rn]=0),Mt[rn]+=1,Mt},{}),pn=Object.entries(Vt).sort(([,Mt],[,sn])=>sn-Mt).map(([Mt])=>Mt);De(pn);const fn=ne.filter(Mt=>pn.includes(Mt));Me()(ne,fn)||ge(fn)},[$e,Ue,ne,ge,It]),(0,s.useEffect)(()=>{Y({type:ne.length?new I(ne):void 0})},[ne,Y]),{loading:$e,error:Pe,availableTypes:Le,selectedTypes:ne,setSelectedTypes:ge}}function Ze(){const v=(0,l.useApi)(f),{error:T,loading:M,value:V}=(0,Ct.default)(async()=>{const Y=await v.getEntities({fields:["kind"]}).then(G=>G.items);return[...new Set(Y.map(G=>G.kind))].sort()});return{error:T,loading:M,kinds:V}}function Oe(){const v=(0,l.useApi)(f),T=(0,l.useApi)(l.identityApiRef);return(0,Ct.default)(async()=>{const M=await T.getBackstageIdentity();return v.getEntityByName((0,h.of)(M.userEntityRef,{defaultKind:"User",defaultNamespace:h.zG}))},[v,T])}const he=20;function Ce(v,{type:T,kind:M}){const V=(0,l.useApi)(f),{loading:Y,value:G,error:ne}=(0,Ct.default)(async()=>{const ge=v.relations&&v.relations.filter(Pe=>(!T||Pe.type.toLocaleLowerCase("en-US")===T.toLocaleLowerCase("en-US"))&&(!M||Pe.target.kind.toLocaleLowerCase("en-US")===M.toLocaleLowerCase("en-US")));if(!ge)return[];const Le=Object.values((0,g.groupBy)(ge,({target:Pe})=>`${Pe.kind}:${Pe.namespace}`.toLocaleLowerCase("en-US"))),De=[];for(const Pe of Le)De.push({kind:Pe[0].target.kind,namespace:Pe[0].target.namespace,nameBatches:(0,g.chunk)(Pe.map($e=>$e.target.name),he)});return(await Promise.all(De.flatMap(Pe=>Pe.nameBatches.map($e=>V.getEntities({filter:{kind:Pe.kind,"metadata.namespace":Pe.namespace,"metadata.name":$e}}))))).flatMap(Pe=>Pe.items)},[v,T]);return{entities:G,loading:Y,error:ne}}var je=e(72164);function lt(v){return typeof v=="string"?v:(0,h.eE)(v)}function dt(){const v=(0,l.useApi)(y),T=(0,je.Z)(v.starredEntitie$(),new Set),M=(0,s.useCallback)(Y=>T.has(lt(Y)),[T]),V=(0,s.useCallback)(Y=>v.toggleStarred(lt(Y)).then(),[v]);return{starredEntities:T,toggleStarredEntity:V,isStarredEntity:M}}function ke(v){return typeof v=="string"?v:(0,h.eE)(v)}function oe(v){const T=(0,l.useApi)(y),[M,V]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{const G=T.starredEntitie$().subscribe({next(ne){V(ne.has(ke(v)))}});return()=>{G.unsubscribe()}},[v,T]),{toggleStarredEntity:(0,s.useCallback)(()=>T.toggleStarred(ke(v)).then(),[v,T]),isStarredEntity:M}}async function Ne(v){return(await v.getBackstageIdentity()).ownershipEntityRefs}async function tt(v,T){const M=new Array,V=T.find(Y=>Y.startsWith("user:"));if(V){const Y=await v.getEntityByName((0,h.of)(V));if(Y){const G=st(Y,h.hr,{kind:"Group"});for(const ne of G)M.push((0,h.eE)(ne))}}return M}function et(){const v=(0,l.useApi)(l.identityApiRef),T=(0,l.useApi)(f),{loading:M,value:V}=(0,Ct.default)(async()=>{const{ownershipEntityRefs:G}=await v.getBackstageIdentity(),ne=await tt(T,G);return new Set([...G,...ne])},[]),Y=(0,s.useMemo)(()=>{const G=new Set(V!=null?V:[]);return ne=>{const ge=("metadata"in ne?st(ne,h.S4):[ne]).map(h.eE);for(const Le of ge)if(G.has(Le))return!0;return!1}},[V]);return(0,s.useMemo)(()=>({loading:M,isOwnedEntity:Y}),[M,Y])}function We(v){const T=useApi(identityApiRef),M=useApi(catalogApiRef),{loading:V,value:Y}=useAsync(async()=>{const ne=await loadIdentityOwnerRefs(T),ge=await loadCatalogOwnerRefs(M,ne);return await M.getEntities(v?{filter:{kind:v,[`relations.${RELATION_OWNED_BY}`]:[...ne,...ge]}}:{filter:{[`relations.${RELATION_OWNED_BY}`]:[...ne,...ge]}})},[]),G=useMemo(()=>Y,[Y]);return useMemo(()=>({loading:V,ownedEntities:G}),[V,G])}var ze=e(20221);function j(v){const{entity:T,loading:M,error:V}=we(),{allowed:Y,loading:G,error:ne}=(0,ze.gI)(v,T?(0,h.eE)(T):void 0);return M||G?{loading:!0,allowed:!1}:V?{loading:!1,allowed:!1,error:V}:{loading:!1,allowed:Y,error:ne}}const A=v=>{var ne;const{initialFilter:T,hidden:M}=v,{updateFilters:V,queryParameters:Y}=useEntityListProvider(),[G]=useState((ne=[Y.kind].flat()[0])!=null?ne:T);return useEffect(()=>{V({kind:G?new EntityKindFilter(G):void 0})},[G,V]),M?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var O=e(79692),W=e(95544),_=e(90436),be=e(5806),me=e(21324),Be=e(86619),Fe=e(19996),He=e(25505),vt=e(38016),Ht=e(88013);const ue=(0,O.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),H=s.createElement(He.Z,{fontSize:"small"}),se=s.createElement(Fe.Z,{fontSize:"small"}),pe=()=>{var De,Ue;const v=ue(),{updateFilters:T,backendEntities:M,filters:V,queryParameters:Y}=Pt(),G=(0,s.useMemo)(()=>[Y.lifecycles].flat().filter(Boolean),[Y]),[ne,ge]=(0,s.useState)(G.length?G:(Ue=(De=V.lifecycles)==null?void 0:De.values)!=null?Ue:[]);(0,s.useEffect)(()=>{G.length&&ge(G)},[G]),(0,s.useEffect)(()=>{T({lifecycles:ne.length?new ce(ne):void 0})},[ne,T]);const Le=(0,s.useMemo)(()=>[...new Set(M.map(Pe=>{var $e;return($e=Pe.spec)==null?void 0:$e.lifecycle}).filter(Boolean))].sort(),[M]);return Le.length?s.createElement(W.Z,{pb:1,pt:1},s.createElement(_.Z,{variant:"button"},"Lifecycle"),s.createElement(Ht.ZP,{"aria-label":"Lifecycle",multiple:!0,options:Le,value:ne,onChange:(Pe,$e)=>ge($e),renderOption:(Pe,{selected:$e})=>s.createElement(be.Z,{control:s.createElement(me.Z,{icon:H,checkedIcon:se,checked:$e}),label:Pe}),size:"small",popupIcon:s.createElement(vt.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:Pe=>s.createElement(Be.Z,{...Pe,className:v.input,variant:"outlined"})})):null},Ve=(0,O.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),Ye=s.createElement(He.Z,{fontSize:"small"}),ct=s.createElement(Fe.Z,{fontSize:"small"}),bt=()=>{var De,Ue;const v=Ve(),{updateFilters:T,backendEntities:M,filters:V,queryParameters:Y}=Pt(),G=(0,s.useMemo)(()=>[Y.owners].flat().filter(Boolean),[Y]),[ne,ge]=(0,s.useState)(G.length?G:(Ue=(De=V.owners)==null?void 0:De.values)!=null?Ue:[]);(0,s.useEffect)(()=>{G.length&&ge(G)},[G]),(0,s.useEffect)(()=>{T({owners:ne.length?new k(ne):void 0})},[ne,T]);const Le=(0,s.useMemo)(()=>[...new Set(M.flatMap(Pe=>st(Pe,h.S4).map($e=>rt($e,{defaultKind:"group"}))).filter(Boolean))].sort(),[M]);return Le.length?s.createElement(W.Z,{pb:1,pt:1},s.createElement(_.Z,{variant:"button"},"Owner"),s.createElement(Ht.ZP,{multiple:!0,"aria-label":"Owner",options:Le,value:ne,onChange:(Pe,$e)=>ge($e),renderOption:(Pe,{selected:$e})=>s.createElement(be.Z,{control:s.createElement(me.Z,{icon:Ye,checkedIcon:ct,checked:$e}),label:Pe}),size:"small",popupIcon:s.createElement(vt.Z,{"data-testid":"owner-picker-expand"}),renderInput:Pe=>s.createElement(Be.Z,{...Pe,className:v.input,variant:"outlined"})})):null},nn=(0,O.Z)(v=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),Zn=()=>{var G,ne;const v=nn(),{filters:T,updateFilters:M}=useEntityListProvider(),[V,Y]=useState((ne=(G=T.text)==null?void 0:G.value)!=null?ne:"");return useDebounce(()=>{M({text:V.length?new EntityTextFilter(V):void 0})},250,[V,M]),React.createElement(Toolbar,{className:v.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{id:"input-with-icon-adornment",className:v.input,placeholder:"Search",autoComplete:"off",onChange:ge=>Y(ge.target.value),value:V,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>Y(""),edge:"end",disabled:V.length===0},React.createElement(Clear,null)))})))};function Ln(v){const{defaultKind:T}=v;function M(V){var Y;return((Y=V.metadata)==null?void 0:Y.title)||rt(V,{defaultKind:T})}return{title:"Name",highlight:!0,customFilterAndSearch(V,Y){return M(Y).includes(V)},customSort(V,Y){return M(V).localeCompare(M(Y))},render:V=>{var Y;return s.createElement(ie,{entityRef:V,defaultKind:T,title:(Y=V.metadata)==null?void 0:Y.title})}}}function On({title:v,relation:T,defaultKind:M,filter:V}){function Y(ne){return st(ne,T,V)}function G(ne){return Y(ne).map(ge=>rt(ge,{defaultKind:M})).join(", ")}return{title:v,customFilterAndSearch(ne,ge){return G(ge).includes(ne)},customSort(ne,ge){return G(ne).localeCompare(G(ge))},render:ne=>s.createElement(te,{entityRefs:Y(ne),defaultKind:M})}}function xn(){return On({title:"Owner",relation:h.S4,defaultKind:"group"})}function ht(){return On({title:"Domain",relation:h.cz,defaultKind:"domain",filter:{kind:"domain"}})}function Qt(){return On({title:"System",relation:h.cz,defaultKind:"system",filter:{kind:"system"}})}function Rn(){return{title:"Description",field:"metadata.description",render:v=>s.createElement(Xe.OverflowTooltip,{text:v.metadata.description,placement:"bottom-start",line:2}),width:"auto"}}function Un(){return{title:"Lifecycle",field:"spec.lifecycle"}}function Gt(){return{title:"Type",field:"spec.type"}}const Yn=[Ln({defaultKind:"system"}),ht(),xn(),Rn()],Er=[Ln({defaultKind:"component"}),Qt(),xn(),Gt(),Un(),Rn()],ar=(0,O.Z)(v=>({empty:{padding:v.spacing(2),display:"flex",justifyContent:"center"}}));function Wn(v){const{entities:T,title:M,emptyContent:V,variant:Y="gridItem",columns:G}=v,ne=ar(),ge={minWidth:"0",width:"100%"};return Y==="gridItem"&&(ge.height="calc(100% - 10px)"),s.createElement(Xe.Table,{columns:G,title:M,style:ge,emptyContent:V&&s.createElement("div",{className:ne.empty},V),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:T})}Wn.columns=r,Wn.systemEntityColumns=Yn,Wn.componentEntityColumns=Er;const qt=(0,O.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),jr=s.createElement(He.Z,{fontSize:"small"}),Ar=s.createElement(Fe.Z,{fontSize:"small"}),ga=()=>{var De,Ue;const v=qt(),{updateFilters:T,backendEntities:M,filters:V,queryParameters:Y}=Pt(),G=(0,s.useMemo)(()=>[Y.tags].flat().filter(Boolean),[Y]),[ne,ge]=(0,s.useState)(G.length?G:(Ue=(De=V.tags)==null?void 0:De.values)!=null?Ue:[]);(0,s.useEffect)(()=>{G.length&&ge(G)},[G]),(0,s.useEffect)(()=>{T({tags:ne.length?new Z(ne):void 0})},[ne,T]);const Le=(0,s.useMemo)(()=>[...new Set(M.flatMap(Pe=>Pe.metadata.tags).filter(Boolean))].sort(),[M]);return Le.length?s.createElement(W.Z,{pb:1,pt:1},s.createElement(_.Z,{variant:"button"},"Tags"),s.createElement(Ht.ZP,{multiple:!0,"aria-label":"Tags",options:Le,value:ne,onChange:(Pe,$e)=>ge($e),renderOption:(Pe,{selected:$e})=>s.createElement(be.Z,{control:s.createElement(me.Z,{icon:jr,checkedIcon:Ar,checked:$e}),label:Pe}),size:"small",popupIcon:s.createElement(vt.Z,{"data-testid":"tag-picker-expand"}),renderInput:Pe=>s.createElement(Be.Z,{...Pe,className:v.input,variant:"outlined"})})):null};var Gr=e(82108),pa=e.n(Gr);const Kr=v=>{var De;const{hidden:T,initialFilter:M}=v,V=(0,l.useApi)(l.alertApiRef),{error:Y,availableTypes:G,selectedTypes:ne,setSelectedTypes:ge}=Ae();if((0,s.useEffect)(()=>{Y&&V.post({message:"Failed to load entity types",severity:"error"}),M&&ge([M])},[Y,V,M,ge]),G.length===0||Y)return null;const Le=[{value:"all",label:"All"},...G.map(Ue=>({value:Ue,label:pa()(Ue)}))];return T?null:s.createElement(W.Z,{pb:1,pt:1},s.createElement(Xe.Select,{label:"Type",items:Le,selected:(De=Le.length>1?ne[0]:void 0)!=null?De:"all",onChange:Ue=>ge(Ue==="all"?[]:[String(Ue)])}))};var Yr=e(15459),Jr=e(61837),vr=e(11640),Qr=e(28347);const Rr=(0,Yr.Z)({root:{color:"#f3ba37"}})(vr.Z),Sr=v=>v?"Remove from favorites":"Add to favorites",Dn=v=>v?s.createElement(Rr,null):s.createElement(Qr.Z,null),Cr=v=>{const{toggleStarredEntity:T,isStarredEntity:M}=oe(v.entity);return s.createElement(Jr.Z,{color:"inherit",...v,onClick:()=>T()},s.createElement(Tt.ZP,{title:Sr(M)},Dn(M)))};var or=e(8629),sr=e(79249),Xr=e(38724),Tr=e(99152),zn=e(6487),ir=e(49429),hn=e(77277),zt=e(55999),Jn=e(72779),lr=e.n(Jn),Pr=e(39412);function Qn(v){var G;const T=(0,l.useApp)(),{kind:M,...V}=v,Y=(G=T.getSystemIcon(`kind:${M.toLocaleLowerCase("en-US")}`))!=null?G:Pr.Z;return s.createElement(Y,{...V})}const kr=(0,O.Z)(v=>({node:{fill:v.palette.grey[300],stroke:v.palette.grey[300],"&.primary":{fill:v.palette.primary.light,stroke:v.palette.primary.light},"&.secondary":{fill:v.palette.secondary.light,stroke:v.palette.secondary.light}},text:{fill:v.palette.getContrastText(v.palette.grey[300]),"&.primary":{fill:v.palette.primary.contrastText},"&.secondary":{fill:v.palette.secondary.contrastText},"&.focused":{fontWeight:"bold"}},clickable:{cursor:"pointer"}}));function ya(v){const T=(0,l.useApi)(f),M=(0,h.eE)(v),{loading:V,error:Y,value:G}=(0,Ct.default)(async()=>{const ne=await T.getEntityAncestors({entityRef:M}),ge=new Array,Le=new Array;for(const De of ne.items){const Ue=(0,h.eE)(De.entity),Pe=Ue===ne.rootEntityRef;ge.push({id:Ue,root:Pe,...De.entity});for(const $e of De.parentEntityRefs)Le.push({from:Ue,to:$e})}return{nodes:ge,edges:Le}},[M]);return{loading:V,error:Y,nodes:(G==null?void 0:G.nodes)||[],edges:(G==null?void 0:G.edges)||[]}}function qr({node:v}){const T=kr(),M=(0,N.s0)(),V=(0,l.useRouteRef)(L),[Y,G]=(0,s.useState)(0),[ne,ge]=(0,s.useState)(0),Le=(0,s.useRef)(null);(0,s.useLayoutEffect)(()=>{if(Le.current){let{height:wt,width:Vt}=Le.current.getBBox();wt=Math.round(wt),Vt=Math.round(Vt),(wt!==ne||Vt!==Y)&&(G(Vt),ge(wt))}},[Y,ne]);const De=10,Ue=ne,Pe=Ue+De,$e=Pe+Y+De*2,It=ne+De*2,Et=v.metadata.title||(v.kind&&v.metadata.name&&v.metadata.namespace?rt({kind:v.kind,name:v.metadata.name,namespace:v.metadata.namespace||""}):v.id),Bt=()=>{M(V({kind:v.kind,namespace:v.metadata.namespace||h.zG,name:v.metadata.name}))};return s.createElement("g",{onClick:Bt,className:T.clickable},s.createElement("rect",{className:lr()(T.node,v.root?"secondary":"primary"),width:$e,height:It,rx:10}),s.createElement(Qn,{kind:v.kind,y:De,x:De,width:Ue,height:Ue,className:lr()(T.text,v.root?"secondary":"primary")}),s.createElement("text",{ref:Le,className:lr()(T.text,v.root?"secondary":"primary"),y:It/2,x:Pe+(Y+De*2)/2,textAnchor:"middle",alignmentBaseline:"middle"},Et))}function bn(v){const{loading:T,error:M,nodes:V,edges:Y}=ya(v.entity);return T?s.createElement(Xe.Progress,null):M?s.createElement(Xe.ResponseErrorPanel,{error:M}):s.createElement(s.Fragment,null,s.createElement(zt.Z,{variant:"h2"},"Ancestry"),s.createElement(zt.Z,{gutterBottom:!0},"This is the ancestry of entities above the current one - as in, the chain(s) of entities down to the current one, where"," ",s.createElement(Xe.Link,{to:"https://backstage.io/docs/features/software-catalog/life-of-an-entity"},"processors emitted")," ","child entities that ultimately led to the current one existing. Note that this is a completely different mechanism from relations."),s.createElement(W.Z,{mt:4},s.createElement(Xe.DependencyGraph,{nodes:V,edges:Y,renderNode:qr,direction:Xe.DependencyGraphTypes.Nm.BOTTOM_TOP,zoom:"enable-on-click"})))}var _t=e(11776),Sn=e(38402),Hn=e(86136),Xn=e(99688),Ir=e(49378),_r=e(54506),kn=e(94339),Lr=e(24579),Vn=e(27685);const cr=(0,O.Z)(v=>({root:{display:"flex",flexDirection:"column"},marginTop:{marginTop:v.spacing(2)},helpIcon:{marginLeft:v.spacing(1),color:v.palette.text.disabled},monospace:{fontFamily:"monospace"}}));function un(v){const T=cr();return s.createElement(Ir.Z,{...v,primaryTypographyProps:{className:T.monospace},secondaryTypographyProps:{className:T.monospace}})}function Kt(v){const T=cr();return s.createElement(_r.Z,{className:T.monospace},v.children)}function dn(v){return s.createElement(W.Z,{mt:2},s.createElement(kn.Z,{variant:"outlined"},s.createElement(Lr.Z,null,s.createElement(_.Z,{variant:"h6",gutterBottom:!0},v.title,v.helpLink&&s.createElement(_n,{to:v.helpLink})),v.children)))}function qn(v){const[T,M]=v.entry;return s.createElement(Sn.Z,null,v.indent&&s.createElement(Hn.Z,null),s.createElement(un,{primary:T,secondary:M.match(/^url:https?:\/\//)?s.createElement(s.Fragment,null,M.substring(0,4),s.createElement(Xe.Link,{to:M.substring(4)},M.substring(4))):M}))}function _n(v){const T=cr();return s.createElement(Xe.Link,{to:v.to,className:T.helpIcon},s.createElement(Vn.Z,{fontSize:"inherit"}))}const Or=(0,O.Z)({root:{display:"flex",flexDirection:"column"}});function xr(v){var Le,De;const T=(0,l.useApi)(f),M=(0,h.eE)(v),V=(Le=v.metadata.annotations)==null?void 0:Le[h.P1],Y=(De=v.metadata.annotations)==null?void 0:De[h.q1],{loading:G,error:ne,value:ge}=(0,Ct.default)(async()=>!V&&!Y?[]:(await T.getEntities({filter:[...V?[{[`metadata.annotations.${h.P1}`]:V}]:[],...Y?[{[`metadata.annotations.${h.q1}`]:Y}]:[]]})).items,[V,Y]);return{loading:G,error:ne,location:V,originLocation:Y,colocatedEntities:ge==null?void 0:ge.filter(Ue=>(0,h.eE)(Ue)!==M)}}function ur(v){return s.createElement(_t.Z,{dense:!0},v.header&&s.createElement(qn,{key:"header",entry:v.header}),v.entities.map(T=>s.createElement(Sn.Z,{key:(0,h.eE)(T)},s.createElement(Hn.Z,null,s.createElement(Qn,{kind:T.kind})),s.createElement(un,{primary:s.createElement(ie,{entityRef:T})}))))}function Dr(v){const{entity:T}=v,{loading:M,error:V,location:Y,originLocation:G,colocatedEntities:ne}=xr(T);if(M)return s.createElement(Xe.Progress,null);if(V)return s.createElement(Xe.ResponseErrorPanel,{error:V});if(!Y&&!G)return s.createElement(Xn.Z,{severity:"warning"},"Entity had no location information.");if(!(ne==null?void 0:ne.length))return s.createElement(Xn.Z,{severity:"info"},"There were no other entities on this location.");if(Y===G)return s.createElement(ur,{entities:ne});const ge=ne.filter(De=>{var Ue;return((Ue=De.metadata.annotations)==null?void 0:Ue[h.P1])===Y}),Le=ne.filter(De=>{var Ue;return((Ue=De.metadata.annotations)==null?void 0:Ue[h.q1])===G});return s.createElement(s.Fragment,null,ge.length>0&&s.createElement(ur,{entities:ge,header:["At the same location",Y]}),Le.length>0&&s.createElement(ur,{entities:Le,header:["At the same origin",G]}))}function br(v){const T=Or();return s.createElement(s.Fragment,null,s.createElement(zt.Z,{variant:"h2"},"Colocated"),s.createElement(zt.Z,null,"These are the entities that are colocated with this entity - as in, they originated from the same data source (e.g. came from the same YAML file), or from the same origin (e.g. the originally registered URL)."),s.createElement("div",{className:T.root},s.createElement(Dr,{entity:v.entity})))}function dr(v){return Object.fromEntries([...Object.entries(v)].sort((T,M)=>T[0]<M[0]?-1:1))}function jn(v){return s.createElement(s.Fragment,null,s.createElement(zt.Z,{variant:"h2"},"Entity as JSON"),s.createElement(zt.Z,null,"This is the raw entity data as received from the catalog, on JSON form."),s.createElement(zt.Z,null,s.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},s.createElement(Xe.CodeSnippet,{text:JSON.stringify(dr(v.entity),void 0,2),language:"json",showCopyCodeButton:!0}))))}var ea=e(3440),Fr=e.n(ea),fr=e(829),Br=e.n(fr);const ta=(0,O.Z)({root:{display:"flex",flexDirection:"column"}});function Mr(v){var De,Ue;const T=ta(),{apiVersion:M,kind:V,metadata:Y,spec:G,relations:ne=[],status:ge={}}=v.entity,Le=Fr()(Br()(ne,Pe=>(0,h.eE)(Pe.target)),"type");return s.createElement(s.Fragment,null,s.createElement(zt.Z,{variant:"h2"},"Overview"),s.createElement("div",{className:T.root},s.createElement(dn,{title:"Identity"},s.createElement(_t.Z,{dense:!0},s.createElement(Sn.Z,null,s.createElement(un,{primary:"apiVersion",secondary:M})),s.createElement(Sn.Z,null,s.createElement(un,{primary:"kind",secondary:V})),(G==null?void 0:G.type)&&s.createElement(Sn.Z,null,s.createElement(un,{primary:"spec.type",secondary:G.type})),Y.uid&&s.createElement(Sn.Z,null,s.createElement(un,{primary:"uid",secondary:Y.uid})),Y.etag&&s.createElement(Sn.Z,null,s.createElement(un,{primary:"etag",secondary:Y.etag})))),s.createElement(dn,{title:"Metadata"},!!Object.keys(Y.annotations||{}).length&&s.createElement(_t.Z,{dense:!0,subheader:s.createElement(Kt,null,"Annotations",s.createElement(_n,{to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"}))},Object.entries(Y.annotations).map(Pe=>s.createElement(qn,{key:Pe[0],indent:!0,entry:Pe}))),!!Object.keys(Y.labels||{}).length&&s.createElement(_t.Z,{dense:!0,subheader:s.createElement(Kt,null,"Labels",s.createElement(_n,{to:"https://backstage.io/docs/features/software-catalog/well-known-labels"}))},Object.entries(Y.labels).map(Pe=>s.createElement(qn,{key:Pe[0],indent:!0,entry:Pe}))),!!((De=Y.tags)==null?void 0:De.length)&&s.createElement(_t.Z,{dense:!0,subheader:s.createElement(Kt,null,"Tags")},Y.tags.map((Pe,$e)=>s.createElement(Sn.Z,{key:`${Pe}-${$e}`},s.createElement(Hn.Z,null),s.createElement(un,{primary:Pe}))))),!!ne.length&&s.createElement(dn,{title:"Relations",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-relations"},Object.entries(Le).map(([Pe,$e],It)=>s.createElement("div",{key:It},s.createElement(_t.Z,{dense:!0,subheader:s.createElement(Kt,null,Pe)},$e.map(Et=>s.createElement(Sn.Z,{key:(0,h.eE)(Et.target)},s.createElement(Hn.Z,null,s.createElement(Qn,{kind:Et.target.kind})),s.createElement(un,{primary:s.createElement(ie,{entityRef:Et.target})}))))))),!!((Ue=ge.items)==null?void 0:Ue.length)&&s.createElement(dn,{title:"Status",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-statuses"},ge.items.map((Pe,$e)=>s.createElement("div",{key:$e},s.createElement(_.Z,null,Pe.level,": ",Pe.type),s.createElement(W.Z,{ml:2},Pe.message))))))}var na=e(60155),ra=e.n(na);function Nr(v){return s.createElement(s.Fragment,null,s.createElement(zt.Z,{variant:"h2"},"Entity as YAML"),s.createElement(zt.Z,null,"This is the raw entity data as received from the catalog, on YAML form."),s.createElement(zt.Z,null,s.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},s.createElement(Xe.CodeSnippet,{text:ra().stringify(dr(v.entity)),language:"yaml",showCopyCodeButton:!0}))))}const er=(0,O.Z)(v=>({fullHeightDialog:{height:"calc(100% - 64px)"},root:{display:"flex",flexGrow:1,width:"100%",backgroundColor:v.palette.background.paper},tabs:{borderRight:`1px solid ${v.palette.divider}`,flexShrink:0},tabContents:{flexGrow:1,overflowX:"auto"}}));function $n(v){const{children:T,value:M,index:V,...Y}=v,G=er();return s.createElement("div",{role:"tabpanel",hidden:M!==V,id:`vertical-tabpanel-${V}`,"aria-labelledby":`vertical-tab-${V}`,className:G.tabContents,...Y},M===V&&s.createElement(W.Z,{pl:3,pr:3},T))}function Fn(v){return{id:`vertical-tab-${v}`,"aria-controls":`vertical-tabpanel-${v}`}}function Zr(v){const T=er(),[M,V]=s.useState(0);return(0,s.useEffect)(()=>{V(0)},[v.open]),v.entity?s.createElement(or.Z,{fullWidth:!0,maxWidth:"xl",open:v.open,onClose:v.onClose,"aria-labelledby":"entity-inspector-dialog-title",PaperProps:{className:T.fullHeightDialog}},s.createElement(sr.Z,{id:"entity-inspector-dialog-title"},"Entity Inspector"),s.createElement(Xr.Z,{dividers:!0},s.createElement("div",{className:T.root},s.createElement(Tr.Z,{orientation:"vertical",variant:"scrollable",value:M,onChange:(Y,G)=>V(G),"aria-label":"Inspector options",className:T.tabs},s.createElement(zn.Z,{label:"Overview",...Fn(0)}),s.createElement(zn.Z,{label:"Ancestry",...Fn(1)}),s.createElement(zn.Z,{label:"Colocated",...Fn(2)}),s.createElement(zn.Z,{label:"Raw JSON",...Fn(3)}),s.createElement(zn.Z,{label:"Raw YAML",...Fn(4)})),s.createElement($n,{value:M,index:0},s.createElement(Mr,{entity:v.entity})),s.createElement($n,{value:M,index:1},s.createElement(bn,{entity:v.entity})),s.createElement($n,{value:M,index:2},s.createElement(br,{entity:v.entity})),s.createElement($n,{value:M,index:3},s.createElement(jn,{entity:v.entity})),s.createElement($n,{value:M,index:4},s.createElement(Nr,{entity:v.entity})))),s.createElement(ir.Z,null,s.createElement(hn.Z,{onClick:v.onClose,color:"primary"},"Close"))):null}var Ur=e(85256);function $r(v){var It;const T=(0,l.useApi)(f),M=(It=v.metadata.annotations)==null?void 0:It[h.q1],V=v.metadata.uid,Y=M==="bootstrap:bootstrap",G=(0,Ct.default)(async()=>{const Et=T.getLocationByRef(M);let Bt;if(!M)Bt=Promise.resolve([]);else{const wt=`metadata.annotations.${h.q1}`;Bt=T.getEntities({filter:{[wt]:M},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(Vt=>Vt.items)}return Promise.all([Et,Bt]).then(([wt,Vt])=>({location:wt,colocatedEntities:Vt}))},[T,v]),ne=(0,s.useCallback)(async function(){const{location:Bt,colocatedEntities:wt}=G.value;await T.removeLocationById(Bt.id),await Promise.allSettled(wt.map(Vt=>T.removeEntityByUid(Vt.metadata.uid)))},[T,G]),ge=(0,s.useCallback)(async function(){await T.removeEntityByUid(V)},[T,V]);if(Y)return{type:"bootstrap",location:M,deleteEntity:ge};const{loading:Le,error:De,value:Ue}=G;if(Le)return{type:"loading"};if(De)return{type:"error",error:De};const{location:Pe,colocatedEntities:$e}=Ue;return Pe?{type:"unregister",location:M,colocatedEntities:$e.map(h.C_),unregisterLocation:ne,deleteEntity:ge}:{type:"only-delete",deleteEntity:ge}}var C=e(10179);const w=(0,O.Z)({advancedButton:{fontSize:"0.7em"}}),re=({entity:v,onConfirm:T})=>{var It;const M=(0,l.useApi)(l.alertApiRef),V=(0,l.useApi)(l.configApiRef),Y=w(),G=$r(v),[ne,ge]=(0,s.useState)(!1),[Le,De]=(0,s.useState)(!1),Ue=(It=V.getOptionalString("app.title"))!=null?It:"Backstage",Pe=(0,s.useCallback)(async function(){if("unregisterLocation"in G){De(!0);try{await G.unregisterLocation(),T()}catch(Bt){(0,C.BD)(Bt),M.post({message:Bt.message})}finally{De(!1)}}},[M,T,G]),$e=(0,s.useCallback)(async function(){if("deleteEntity"in G){De(!0);try{await G.deleteEntity(),T()}catch(Bt){(0,C.BD)(Bt),M.post({message:Bt.message})}finally{De(!1)}}},[M,T,G]);return G.type==="loading"?s.createElement(Xe.Progress,null):G.type==="error"?s.createElement(Xe.ResponseErrorPanel,{error:G.error}):G.type==="bootstrap"?s.createElement(s.Fragment,null,s.createElement(Xn.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',G.location,'"). If you believe this is in error, please contact the ',Ue," ","integrator."),s.createElement(W.Z,{marginTop:2},!ne&&s.createElement(hn.Z,{variant:"text",size:"small",color:"primary",className:Y.advancedButton,onClick:()=>ge(!0)},"Advanced Options"),ne&&s.createElement(s.Fragment,null,s.createElement(zt.Z,null,"You have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),s.createElement(hn.Z,{variant:"contained",color:"secondary",disabled:Le,onClick:$e},"Delete Entity")))):G.type==="only-delete"?s.createElement(s.Fragment,null,s.createElement(zt.Z,null,"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog."),s.createElement(hn.Z,{variant:"contained",color:"secondary",disabled:Le,onClick:$e},"Delete Entity")):G.type==="unregister"?s.createElement(s.Fragment,null,s.createElement(zt.Z,null,"This action will unregister the following entities:"),s.createElement(zt.Z,{component:"ul"},G.colocatedEntities.map(Et=>s.createElement("li",{key:`${Et.kind}:${Et.namespace}/${Et.name}`},s.createElement(ie,{entityRef:Et})))),s.createElement(zt.Z,null,"Located at the following location:"),s.createElement(zt.Z,{component:"ul"},s.createElement("li",null,G.location)),s.createElement(zt.Z,null,"To undo, just re-register the entity in ",Ue,"."),s.createElement(W.Z,{marginTop:2},s.createElement(hn.Z,{variant:"contained",color:"secondary",disabled:Le,onClick:Pe},"Unregister Location"),!ne&&s.createElement(W.Z,{component:"span",marginLeft:2},s.createElement(hn.Z,{variant:"text",size:"small",color:"primary",className:Y.advancedButton,onClick:()=>ge(!0)},"Advanced Options"))),ne&&s.createElement(s.Fragment,null,s.createElement(W.Z,{paddingTop:4,paddingBottom:4},s.createElement(Ur.Z,null)),s.createElement(zt.Z,null,"You also have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),s.createElement(hn.Z,{variant:"contained",color:"secondary",disabled:Le,onClick:$e},"Delete Entity"))):s.createElement(Xn.Z,{severity:"error"},"Internal error: Unknown state")},ve=({open:v,onConfirm:T,onClose:M,entity:V})=>s.createElement(or.Z,{open:v,onClose:M},s.createElement(sr.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),s.createElement(Xr.Z,null,s.createElement(re,{entity:V,onConfirm:T})),s.createElement(ir.Z,null,s.createElement(hn.Z,{onClick:M,color:"primary"},"Cancel")));var Ke=e(12231),at=e(9520),ft=e(47603);const Je=(0,O.Z)(v=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:v.spacing(1,0,1,0)},title:{margin:v.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:v.palette.text.primary},menuItem:{minHeight:v.spacing(6)},groupWrapper:{margin:v.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function St(v){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:ft.Z},{id:"starred",label:"Starred",icon:vr.Z}]},{name:v!=null?v:"Company",items:[{id:"all",label:"All"}]}]}const yt=({initialFilter:v,availableFilters:T})=>{var mr;const M=Je(),Y=(mr=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?mr:"Company",{filters:G,updateFilters:ne,backendEntities:ge,queryParameters:Le,loading:De}=Pt(),Ue=["starred","all"],Pe=St(Y).map(yn=>({...yn,items:yn.items.filter(({id:mn})=>["group","user"].some(wr=>wr===Le.kind)?Ue.includes(mn):!T||T.includes(mn))})).filter(({items:yn})=>!!yn.length),{isStarredEntity:$e}=dt(),{isOwnedEntity:It,loading:Et}=et(),Bt=De||Et,wt=(0,s.useMemo)(()=>new Ee("owned",It,$e),[It,$e]),Vt=(0,s.useMemo)(()=>new Ee("starred",It,$e),[It,$e]),pn=(0,s.useMemo)(()=>[Le.user].flat()[0],[Le]),[fn,Mt]=(0,s.useState)(pn!=null?pn:v),sn=(0,s.useMemo)(()=>ge.filter(Wt((0,g.compact)(Object.values({...G,user:void 0})))),[G,ge]),rn=(0,s.useMemo)(()=>({all:sn.length,starred:sn.filter(yn=>Vt.filterEntity(yn)).length,owned:sn.filter(yn=>wt.filterEntity(yn)).length}),[sn,Vt,wt]);return(0,s.useEffect)(()=>{pn&&Mt(pn)},[pn]),(0,s.useEffect)(()=>{!Bt&&!!fn&&fn!=="all"&&rn[fn]===0&&Mt("all")},[Bt,rn,fn,Mt]),(0,s.useEffect)(()=>{ne({user:fn?new Ee(fn,It,$e):void 0})},[fn,It,$e,ne]),s.createElement(kn.Z,{className:M.root},Pe.map(yn=>s.createElement(s.Fragment,{key:yn.name},s.createElement(_.Z,{variant:"subtitle2",className:M.title},yn.name),s.createElement(kn.Z,{className:M.groupWrapper},s.createElement(_t.Z,{disablePadding:!0,dense:!0},yn.items.map(mn=>{var wr,Wr;return s.createElement(Ke.Z,{key:mn.id,button:!0,divider:!0,onClick:()=>Mt(mn.id),selected:mn.id===((wr=G.user)==null?void 0:wr.value),className:M.menuItem,disabled:rn[mn.id]===0,"data-testid":`user-picker-${mn.id}`},mn.icon&&s.createElement(Hn.Z,{className:M.listIcon},s.createElement(mn.icon,{fontSize:"small"})),s.createElement(Ir.Z,null,s.createElement(_.Z,{variant:"body1"},mn.label)),s.createElement(at.Z,null,(Wr=rn[mn.id])!=null?Wr:"-"))}))))))},Ft=({children:v,value:T})=>{var ge;const[M,V]=useState((ge=T==null?void 0:T.filters)!=null?ge:{}),Y=useCallback(Le=>{V(De=>{const Ue=typeof Le=="function"?Le(De):Le;return{...De,...Ue}})},[]),G=useMemo(()=>({entities:[],backendEntities:[],queryParameters:{}}),[]),ne=useMemo(()=>{var Le,De,Ue,Pe,$e;return{entities:(Le=T==null?void 0:T.entities)!=null?Le:G.entities,backendEntities:(De=T==null?void 0:T.backendEntities)!=null?De:G.backendEntities,updateFilters:(Ue=T==null?void 0:T.updateFilters)!=null?Ue:Y,filters:M,loading:(Pe=T==null?void 0:T.loading)!=null?Pe:!1,queryParameters:($e=T==null?void 0:T.queryParameters)!=null?$e:G.queryParameters,error:T==null?void 0:T.error}},[T,G,M,Y]);return React.createElement(EntityListContext.Provider,{value:ne},v)};var Yt=e(92787)},92787:function(){},39398:function(q,o,e){"use strict";e.r(o),e.d(o,{AboutCard:function(){return Ie},AboutContent:function(){return de},AboutField:function(){return $}});var r=e(41564),t=e(9118),l=e(36964),f=e(36356),E=e(31423),i=e(79692),h=e(94339),g=e(32552),m=e(61837),u=e(85256),y=e(24579),s=e(52866),S=e(30254),N=e(27604),D=e(2784),Q=e(47851),B=e(60905),L=e(90436),b=e(7089);const F=(0,i.Z)(Te=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:Te.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}}));function $(Te){const{label:fe,value:Ge,gridSizes:we,children:Qe}=Te,_e=F(),nt=(0,l.useElementFilter)(Qe,ot=>ot.getElements()),mt=nt.length>0?nt:D.createElement(L.Z,{variant:"body2",className:_e.value},Ge||"unknown");return D.createElement(B.Z,{item:!0,...we},D.createElement(L.Z,{variant:"subtitle2",className:_e.label},fe),mt)}const X=(0,i.Z)({description:{wordBreak:"break-word"}});function de(Te){var gt,Lt,xt,Ut,Pt,Ct;const{entity:fe}=Te,Ge=X(),we=fe.kind.toLocaleLowerCase("en-US")==="system",Qe=fe.kind.toLocaleLowerCase("en-US")==="resource",_e=fe.kind.toLocaleLowerCase("en-US")==="component",nt=fe.kind.toLocaleLowerCase("en-US")==="api",mt=fe.kind.toLocaleLowerCase("en-US")==="template",ot=fe.kind.toLocaleLowerCase("en-US")==="location",Rt=fe.kind.toLocaleLowerCase("en-US")==="group",Wt=(0,E.getEntityRelations)(fe,r.cz,{kind:"system"}),$t=(0,E.getEntityRelations)(fe,r.cz,{kind:"component"}),At=(0,E.getEntityRelations)(fe,r.cz,{kind:"domain"}),st=(0,E.getEntityRelations)(fe,r.S4);return D.createElement(B.Z,{container:!0},D.createElement($,{label:"Description",gridSizes:{xs:12}},D.createElement(L.Z,{variant:"body2",paragraph:!0,className:Ge.description},((gt=fe==null?void 0:fe.metadata)==null?void 0:gt.description)||"No description")),D.createElement($,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},st.length>0&&D.createElement(E.EntityRefLinks,{entityRefs:st,defaultKind:"group"})),(we||At.length>0)&&D.createElement($,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},At.length>0&&D.createElement(E.EntityRefLinks,{entityRefs:At,defaultKind:"domain"})),(nt||_e||Qe||Wt.length>0)&&D.createElement($,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},Wt.length>0&&D.createElement(E.EntityRefLinks,{entityRefs:Wt,defaultKind:"system"})),_e&&$t.length>0&&D.createElement($,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},D.createElement(E.EntityRefLinks,{entityRefs:$t,defaultKind:"component"})),(nt||_e||Qe||mt||Rt||ot||typeof((Lt=fe==null?void 0:fe.spec)==null?void 0:Lt.type)=="string")&&D.createElement($,{label:"Type",value:(xt=fe==null?void 0:fe.spec)==null?void 0:xt.type,gridSizes:{xs:12,sm:6,lg:4}}),(nt||_e||typeof((Ut=fe==null?void 0:fe.spec)==null?void 0:Ut.lifecycle)=="string")&&D.createElement($,{label:"Lifecycle",value:(Pt=fe==null?void 0:fe.spec)==null?void 0:Pt.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),D.createElement($,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((Ct=fe==null?void 0:fe.metadata)==null?void 0:Ct.tags)||[]).map(pt=>D.createElement(b.Z,{key:pt,size:"small",label:pt}))))}const xe=(0,i.Z)({gridItemCard:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"},fullHeightCard:{display:"flex",flexDirection:"column",height:"100%"},gridItemCardContent:{flex:1},fullHeightCardContent:{flex:1}});function Ie(Te){var Ut,Pt;const{variant:fe}=Te,Ge=xe(),{entity:we}=(0,E.useEntity)(),Qe=(0,l.useApi)(f.q3),_e=(0,l.useApi)(E.Ah),nt=(0,l.useApi)(l.alertApiRef),mt=(0,l.useRouteRef)(Q.j),ot=(0,E.getEntitySourceLocation)(we,Qe),Rt=(0,E.getEntityMetadataEditUrl)(we),Wt={label:"View Source",disabled:!ot,icon:D.createElement(f.nW,{type:ot==null?void 0:ot.integrationType}),href:ot==null?void 0:ot.locationTargetUrl},$t={label:"View TechDocs",disabled:!((Ut=we.metadata.annotations)==null?void 0:Ut["backstage.io/techdocs-ref"])||!mt,icon:D.createElement(S.Z,null),href:mt&&mt({namespace:we.metadata.namespace||r.zG,kind:we.kind,name:we.metadata.name})};let At="";fe==="gridItem"?At=Ge.gridItemCard:fe==="fullHeight"&&(At=Ge.fullHeightCard);let st="";fe==="gridItem"?st=Ge.gridItemCardContent:fe==="fullHeight"&&(st=Ge.fullHeightCardContent);const gt=(Pt=we.metadata.annotations)==null?void 0:Pt[r.P1],Lt=(gt==null?void 0:gt.startsWith("url:"))||(gt==null?void 0:gt.startsWith("file:")),xt=(0,D.useCallback)(async()=>{await _e.refreshEntity((0,r.eE)(we)),nt.post({message:"Refresh scheduled",severity:"info"})},[_e,nt,we]);return D.createElement(h.Z,{className:At},D.createElement(g.Z,{title:"About",action:D.createElement(D.Fragment,null,Lt&&D.createElement(m.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:xt},D.createElement(s.Z,null)),D.createElement(m.Z,{component:t.Link,"aria-label":"Edit",disabled:!Rt,title:"Edit Metadata",to:Rt!=null?Rt:"#"},D.createElement(N.Z,null))),subheader:D.createElement(t.HeaderIconLinkRow,{links:[Wt,$t]})}),D.createElement(u.Z,null),D.createElement(y.Z,{className:st},D.createElement(de,{entity:we})))}},49782:function(q,o,e){"use strict";e.d(o,{K:function(){return u}});var r=e(2784),t=e(79692),l=e(12420),f=e(97580),E=e(73698),i=e(74603),h=e(12231),g=e(31423);const m=(0,t.Z)(y=>(0,l.Z)({root:{...y.typography.h4}}));function u(y){var F;const{initialFilter:s="component"}=y,S=m(),{kinds:N=[]}=(0,g.useEntityKinds)(),{updateFilters:D,queryParameters:Q}=(0,g.useEntityListProvider)(),[B,L]=(0,r.useState)(((F=[Q.kind].flat()[0])!=null?F:s).toLocaleLowerCase("en-US"));(0,r.useEffect)(()=>{D({kind:B?new g.EntityKindFilter(B):void 0})},[B,D]);const b=[(0,f.Z)(B)].concat(N).sort().reduce(($,X)=>($[X.toLocaleLowerCase("en-US")]=X,$),{});return r.createElement(E.Z,{input:r.createElement(i.Z,{value:B}),value:B,onChange:$=>L($.target.value),classes:S},Object.keys(b).map($=>r.createElement(h.Z,{value:$,key:$},`${b[$]}s`)))}},17499:function(q,o,e){"use strict";e.d(o,{N:function(){return E}});var r=e(2784),t=e(31423),l=e(7089),f=e(9118);const E=Object.freeze({createNameColumn(i){function h(g){var m;return((m=g.metadata)==null?void 0:m.title)||(0,t.formatEntityRefTitle)(g,{defaultKind:i==null?void 0:i.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:g},{entity:m}){return h(g).localeCompare(h(m))},render:({entity:g})=>{var m;return r.createElement(t.EntityRefLink,{entityRef:g,defaultKind:(i==null?void 0:i.defaultKind)||"Component",title:(m=g.metadata)==null?void 0:m.title})}}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.partOfSystemRelations,defaultKind:"system"})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.ownedByRelations,defaultKind:"group"})}},createSpecTypeColumn(){return{title:"Type",field:"entity.spec.type",hidden:!0}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}},createMetadataDescriptionColumn(){return{title:"Description",field:"entity.metadata.description",render:({entity:i})=>r.createElement(f.OverflowTooltip,{text:i.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:i})=>r.createElement(r.Fragment,null,i.metadata.tags&&i.metadata.tags.map(h=>r.createElement(l.Z,{key:h,label:h,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}})},91730:function(q,o,e){"use strict";e.d(o,{E:function(){return m}});var r=e(41564),t=e(31423),l=e(27604),f=e(2997),E=e(76635),i=e(2784),h=e(17499),g=e(9118);const m=u=>{var Te,fe,Ge;const{columns:y,actions:s}=u,{isStarredEntity:S,toggleStarredEntity:N}=(0,t.useStarredEntities)(),{loading:D,error:Q,entities:B,filters:L}=(0,t.useEntityListProvider)(),b=(0,i.useMemo)(()=>{var we;return[h.N.createNameColumn({defaultKind:(we=L.kind)==null?void 0:we.value}),h.N.createSystemColumn(),h.N.createOwnerColumn(),h.N.createSpecTypeColumn(),h.N.createSpecLifecycleColumn(),h.N.createMetadataDescriptionColumn(),h.N.createTagsColumn()]},[(Te=L.kind)==null?void 0:Te.value]),F=L.type===void 0,$=(0,E.capitalize)((Ge=(fe=L.user)==null?void 0:fe.value)!=null?Ge:"all");if(Q)return i.createElement("div",null,i.createElement(g.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},i.createElement(g.CodeSnippet,{language:"text",text:Q.toString()})));const X=[({entity:we})=>{const Qe=(0,t.getEntityMetadataViewUrl)(we);return{icon:()=>i.createElement(f.Z,{"aria-label":"View",fontSize:"small"}),tooltip:"View",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:we})=>{const Qe=(0,t.getEntityMetadataEditUrl)(we);return{icon:()=>i.createElement(l.Z,{"aria-label":"Edit",fontSize:"small"}),tooltip:"Edit",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:we})=>{const Qe=S(we);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,t.favoriteEntityIcon)(Qe),tooltip:(0,t.favoriteEntityTooltip)(Qe),onClick:()=>N(we)}}],de=B.map(we=>{const Qe=(0,t.getEntityRelations)(we,r.cz,{kind:"system"}),_e=(0,t.getEntityRelations)(we,r.S4);return{entity:we,resolved:{name:(0,t.formatEntityRefTitle)(we,{defaultKind:"Component"}),ownedByRelationsTitle:_e.map(nt=>(0,t.formatEntityRefTitle)(nt,{defaultKind:"group"})).join(", "),ownedByRelations:_e,partOfSystemRelationTitle:Qe.map(nt=>(0,t.formatEntityRefTitle)(nt,{defaultKind:"system"})).join(", "),partOfSystemRelations:Qe}}}),xe=(y||b).find(we=>we.title==="Type");xe&&(xe.hidden=!F);const Ie=de.length>20;return i.createElement(g.Table,{isLoading:D,columns:y||b,options:{paging:Ie,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!D,padding:"dense",pageSizeOptions:[20,50,100]},title:`${$} (${B.length})`,data:de,actions:s||X})};m.columns=h.N},26997:function(q,o,e){"use strict";e.d(o,{Nz:function(){return s},Gh:function(){return y},q7:function(){return l}});var r=e(60905),t=e(2784);function l(S){return t.createElement(r.Z,{container:!0,style:{position:"relative"}},S.children)}var f=e(41156),E=e(60364),i=e(77277),h=e(4190),g=e(95544),m=e(90436),u=e(36444);function y(S){const N=(0,f.Z)(L=>L.breakpoints.down("md")),D=(0,E.Z)(),[Q,B]=(0,t.useState)(!1);return N?t.createElement(t.Fragment,null,t.createElement(i.Z,{style:{marginTop:D.spacing(1),marginLeft:D.spacing(1)},onClick:()=>B(!0),startIcon:t.createElement(u.Z,null)},"Filters"),t.createElement(h.ZP,{open:Q,onClose:()=>B(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},t.createElement(g.Z,{m:2},t.createElement(m.Z,{variant:"h6",component:"h2",style:{marginBottom:D.spacing(1)}},"Filters"),S.children))):t.createElement(r.Z,{item:!0,lg:2},S.children)}function s(S){return t.createElement(r.Z,{item:!0,xs:12,lg:10},S.children)}},47851:function(q,o,e){"use strict";e.d(o,{y:function(){return t},j:function(){return l}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),l=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]})},20221:function(q,o,e){"use strict";e.d(o,{iM:function(){return S},RV:function(){return l},gI:function(){return D}});var r=e(2784),t=e(36964);const l=(0,t.createApiRef)({id:"plugin.permission.api"});var f;(function(B){const L="DENY";B.DENY=L;const b="ALLOW";B.ALLOW=b;const F="CONDITIONAL";B.CONDITIONAL=F})(f||(f={}));var E=e(10179),i=e(96279),h=e.n(i),g=e(9571),m=e(30195);const u=m.z.lazy(()=>m.z.object({rule:m.z.string(),params:m.z.array(m.z.unknown())}).strict().or(m.z.object({anyOf:m.z.array(u).nonempty()}).strict()).or(m.z.object({allOf:m.z.array(u).nonempty()}).strict()).or(m.z.object({not:u}).strict())),y=m.z.object({items:m.z.array(m.z.object({id:m.z.string(),result:m.z.literal(f.ALLOW).or(m.z.literal(f.DENY))}).or(m.z.object({id:m.z.string(),result:m.z.literal(f.CONDITIONAL),conditions:u})))});class s{constructor(L){ee(this,"enabled");ee(this,"discovery");var b;this.discovery=L.discovery,this.enabled=(b=L.config.getOptionalBoolean("permission.enabled"))!=null?b:!1}async authorize(L,b){if(!this.enabled)return L.map(Ie=>({result:f.ALLOW}));const F={items:L.map(Ie=>({id:g.Z(),...Ie}))},$=await this.discovery.getBaseUrl("permission"),X=await h()(`${$}/authorize`,{method:"POST",body:JSON.stringify(F),headers:{...this.getAuthorizationHeader(b==null?void 0:b.token),"content-type":"application/json"}});if(!X.ok)throw await E.VL.fromResponse(X);const de=await X.json();this.assertValidResponse(F,de);const xe=de.items.reduce((Ie,Te)=>(Ie[Te.id]=Te,Ie),{});return F.items.map(Ie=>xe[Ie.id])}getAuthorizationHeader(L){return L?{Authorization:`Bearer ${L}`}:{}}assertValidResponse(L,b){const $=y.parse(b).items.map(de=>de.id);if(!L.items.every(de=>$.includes(de.id)))throw new Error("Unexpected authorization response from permission-backend")}}class S{constructor(L,b){this.permissionClient=L,this.identityApi=b}static create(L){const{config:b,discovery:F,identity:$}=L,X=new s({discovery:F,config:b});return new S(X,$)}async authorize(L){return(await this.permissionClient.authorize([L],await this.identityApi.getCredentials()))[0]}}var N=e(85482);const D=(B,L)=>{const b=(0,t.useApi)(l),{data:F,error:$}=(0,N.ZP)({permission:B,resourceRef:L},async X=>{const{result:de}=await b.authorize(X);return de});return $?{error:$,loading:!1,allowed:!1}:F===void 0?{loading:!0,allowed:!1}:{loading:!1,allowed:F===f.ALLOW}},Q=B=>{const{permission:L,resourceRef:b,errorComponent:F,...$}=B,X=usePermission(L,b),de=useApp(),{NotFoundErrorPage:xe}=de.getComponents();let Ie=F===void 0?React.createElement(xe,null):F;return X.loading?Ie=null:X.allowed&&(Ie=B.element),React.createElement(Route,{...$,element:Ie})}},91512:function(q,o,e){"use strict";e.d(o,{g:function(){return E},w:function(){return i}});var r=e(36964),t=e(10179),l=e(19126),f=e.n(l);const E=(0,r.createApiRef)({id:"plugin.search.queryservice"});class i{constructor(g){ee(this,"discoveryApi");ee(this,"identityApi");this.discoveryApi=g.discoveryApi,this.identityApi=g.identityApi}async query(g){const{token:m}=await this.identityApi.getCredentials(),u=f().stringify(g),y=`${await this.discoveryApi.getBaseUrl("search/query")}?${u}`,s=await fetch(y,{headers:m?{Authorization:`Bearer ${m}`}:{}});if(!s.ok)throw await t.VL.fromResponse(s);return s.json()}}},19941:function(q,o,e){"use strict";e.r(o),e.d(o,{DefaultResultListItem:function(){return u}});var r=e(2784),t=e(38402),l=e(86136),f=e(49378),E=e(95544),i=e(85256),h=e(9118),g=e(15277),m=e.n(g);const u=({result:y,icon:s,secondaryAction:S,lineClamp:N=5})=>r.createElement(h.Link,{to:y.location},r.createElement(t.Z,{alignItems:"center"},s&&r.createElement(l.Z,null,s),r.createElement(f.Z,{primaryTypographyProps:{variant:"h6"},primary:y.title,secondary:r.createElement(m(),{line:N,truncateText:"\u2026",text:y.text,element:"span"})}),S&&r.createElement(E.Z,{alignItems:"flex-end"},S)),r.createElement(i.Z,null))},1795:function(q,o,e){"use strict";e.r(o),e.d(o,{SearchBar:function(){return S},SearchBarBase:function(){return s}});var r=e(2784),t=e(48760),l=e(36964),f=e(50581),E=e(61837),i=e(74603),h=e(21853),g=e(33375),m=e(22313);const u=({children:N})=>{const D=(0,l.useAnalytics)(),{term:Q}=(0,m.Rx)();return(0,r.useEffect)(()=>{Q&&D.captureEvent("search",Q)},[D,Q]),r.createElement(r.Fragment,null,N)},y=()=>(0,r.useContext)(m.ci)!==void 0,s=({onChange:N,onKeyDown:D,onSubmit:Q,debounceTime:B=200,clearButton:L=!0,fullWidth:b=!0,value:F,inputProps:$={},endAdornment:X,...de})=>{const xe=(0,l.useApi)(l.configApiRef),[Ie,Te]=(0,r.useState)(F),fe=y();(0,r.useEffect)(()=>{Te(Rt=>Rt!==F?F:Rt)},[F]),(0,t.Z)(()=>N(Ie),B,[Ie]);const Ge=(0,r.useCallback)(Rt=>{Te(Rt.target.value)},[Te]),we=(0,r.useCallback)(Rt=>{D&&D(Rt),Q&&Rt.key==="Enter"&&Q()},[D,Q]),Qe=(0,r.useCallback)(()=>{N("")},[N]),_e=`Search in ${xe.getOptionalString("app.title")||"Backstage"}`,nt=r.createElement(f.Z,{position:"start"},r.createElement(E.Z,{"aria-label":"Query",disabled:!0},r.createElement(h.Z,null))),mt=r.createElement(f.Z,{position:"end"},r.createElement(E.Z,{"aria-label":"Clear",onClick:Qe},r.createElement(g.Z,null))),ot=r.createElement(u,null,r.createElement(i.Z,{"data-testid":"search-bar-next",value:Ie,placeholder:_e,startAdornment:nt,endAdornment:L?mt:X,inputProps:{"aria-label":"Search",...$},fullWidth:b,onChange:Ge,onKeyDown:we,...de}));return fe?ot:r.createElement(m.Nd,null,ot)},S=({onChange:N,...D})=>{const{term:Q,setTerm:B}=(0,m.Rx)(),L=(0,r.useCallback)(b=>{N?N(b):B(b)},[N,B]);return r.createElement(s,{value:Q,onChange:L,...D})}},22313:function(q,o,e){"use strict";e.d(o,{ci:function(){return i},Nd:function(){return g},Rx:function(){return m}});var r=e(36964),t=e(2784),l=e(64279),f=e(1849),E=e(91512);const i=(0,t.createContext)(void 0),h={term:"",pageCursor:void 0,filters:{},types:[]},g=({initialState:u=h,children:y})=>{var Ge,we,Qe,_e;const s=(0,r.useApi)(E.g),[S,N]=(0,t.useState)(u.pageCursor),[D,Q]=(0,t.useState)(u.filters),[B,L]=(0,t.useState)(u.term),[b,F]=(0,t.useState)(u.types),$=(0,f.Z)(B),X=(0,l.default)(()=>s.query({term:B,filters:D,pageCursor:S,types:b}),[B,D,b,S]),de=!X.loading&&!X.error&&((Ge=X.value)==null?void 0:Ge.nextPageCursor),xe=!X.loading&&!X.error&&((we=X.value)==null?void 0:we.previousPageCursor),Ie=(0,t.useCallback)(()=>{var nt;N((nt=X.value)==null?void 0:nt.nextPageCursor)},[(Qe=X.value)==null?void 0:Qe.nextPageCursor]),Te=(0,t.useCallback)(()=>{var nt;N((nt=X.value)==null?void 0:nt.previousPageCursor)},[(_e=X.value)==null?void 0:_e.previousPageCursor]);(0,t.useEffect)(()=>{B&&$&&B!==$&&N(void 0)},[B,$,u.pageCursor]);const fe={result:X,filters:D,setFilters:Q,term:B,setTerm:L,types:b,setTypes:F,pageCursor:S,setPageCursor:N,fetchNextPage:de?Ie:void 0,fetchPreviousPage:xe?Te:void 0};return t.createElement(r.AnalyticsContext,{attributes:{searchTypes:b.sort().join(",")}},t.createElement(i.Provider,{value:fe,children:y}))},m=()=>{const u=(0,t.useContext)(i);if(u===void 0)throw new Error("useSearch must be used within a SearchContextProvider");return u}},73032:function(q,o,e){"use strict";e.d(o,{s:function(){return de},O:function(){return xe}});var r=e(2784),t=e(60364),l=e(79249),f=e(27556),E=e(38724),i=e(60905),h=e(85256),g=e(11776),m=e(49429),u=e(8629),y=e(69001),s=e(79692),S=e(1795),N=e(19941),D=e(39332),Q=e(22313),B=e(8542),L=e(36964),b=e(9118),F=e(20863);const $=(0,s.Z)(Ie=>({container:{borderRadius:30,display:"flex",height:"2.4em"},input:{flex:1},paperFullWidth:{height:"calc(100% - 128px)"},dialogActionsContainer:{padding:Ie.spacing(1,3)},viewResultsLink:{verticalAlign:"0.5em"}})),X=({toggleModal:Ie})=>{const Te=(0,L.useRouteRef)(F._Z),fe=$(),{term:Ge}=(0,Q.Rx)(),{focusContent:we}=(0,b.useContent)(),{transitions:Qe}=(0,t.Z)(),_e=()=>{Ie(),setTimeout(we,Qe.duration.leavingScreen)},nt=()=>{_e()};return r.createElement(r.Fragment,null,r.createElement(l.Z,null,r.createElement(f.Z,{className:fe.container},r.createElement(S.SearchBar,{className:fe.input}))),r.createElement(E.Z,null,r.createElement(i.Z,{container:!0,direction:"row-reverse",justifyContent:"flex-start",alignItems:"center"},r.createElement(i.Z,{item:!0},r.createElement(b.Link,{onClick:()=>{Ie(),setTimeout(we,Qe.duration.leavingScreen)},to:`${Te()}?query=${Ge}`},r.createElement("span",{className:fe.viewResultsLink},"View Full Results"),r.createElement(y.Z,{color:"primary"})))),r.createElement(h.Z,null),r.createElement(D.SearchResult,null,({results:mt})=>r.createElement(g.Z,null,mt.map(({document:ot})=>r.createElement("div",{role:"button",tabIndex:0,key:`${ot.location}-btn`,onClick:_e,onKeyPress:nt},r.createElement(N.DefaultResultListItem,{key:ot.location,result:ot})))))),r.createElement(m.Z,{className:fe.dialogActionsContainer},r.createElement(i.Z,{container:!0,direction:"row"},r.createElement(i.Z,{item:!0,xs:12},r.createElement(B.G,null)))))},de=({open:Ie=!0,hidden:Te,toggleModal:fe})=>{const Ge=$();return r.createElement(u.Z,{classes:{paperFullWidth:Ge.paperFullWidth},onClose:fe,"aria-labelledby":"search-modal-title",fullWidth:!0,maxWidth:"lg",open:Ie,hidden:Te},Ie&&r.createElement(Q.Nd,null,r.createElement(X,{toggleModal:fe})))};function xe(Ie=!1){const[Te,fe]=(0,r.useState)({hidden:!Ie,open:Ie}),Ge=(0,r.useCallback)(()=>fe(Qe=>({open:!0,hidden:!Qe.hidden})),[]),we=(0,r.useCallback)(Qe=>fe(_e=>({open:_e.open||Qe,hidden:!Qe})),[]);return{state:Te,toggleModal:Ge,setOpen:we}}},3992:function(q,o,e){"use strict";e.r(o),e.d(o,{SearchPage:function(){return pt}});var r=e(2784),t=e(1849),l=e(19126),f=e.n(l),E=e(10289),i=e(22313),h=e(60905),g=e(48760),m=e(79692),u=e(27556),y=e(74603),s=e(61837),S=e(21853),N=e(33375);const D=(0,m.Z)(()=>({root:{display:"flex",alignItems:"center"},input:{flex:1}})),Q=({searchQuery:Me,handleSearch:rt,handleClearSearchBar:Xe})=>{const Tt=D();return r.createElement(u.Z,{component:"form",onSubmit:ie=>rt(ie),className:Tt.root},r.createElement(s.Z,{disabled:!0,type:"submit","aria-label":"search"},r.createElement(S.Z,null)),r.createElement(y.Z,{className:Tt.input,placeholder:"Search in Backstage",value:Me,onChange:ie=>rt(ie),inputProps:{"aria-label":"search backstage"}}),r.createElement(s.Z,{"aria-label":"search",onClick:()=>Xe()},r.createElement(N.Z,null)))};var B=e(85256),L=e(90436),b=e(99688),F=e(64279),$=e(31423),X=e(36444);const de=(0,m.Z)(Me=>({filters:{width:"250px",display:"flex"},icon:{margin:Me.spacing(-1,0,0,0)}})),xe=({numberOfSelectedFilters:Me,handleToggleFilters:rt})=>{const Xe=de();return r.createElement("div",{className:Xe.filters},r.createElement(s.Z,{className:Xe.icon,"aria-label":"settings",onClick:rt},r.createElement(X.Z,null)),r.createElement(L.Z,{variant:"h6"},"Filters (",Me||0,")"))};var Ie=e(94339),Te=e(32552),fe=e(77277),Ge=e(24579),we=e(73698),Qe=e(12231),_e=e(11776),nt=e(38402),mt=e(21324),ot=e(49378);const Rt=(0,m.Z)(Me=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:Me.spacing(0,1,0,1)},dropdown:{width:"100%"}})),Wt=({filters:Me,filterOptions:rt,resetFilters:Xe,updateSelected:Tt,updateChecked:ie})=>{const te=Rt();return r.createElement(Ie.Z,{className:te.filters},r.createElement(Te.Z,{title:r.createElement(L.Z,{variant:"h6"},"Filters"),action:r.createElement(fe.Z,{color:"primary",onClick:()=>Xe()},"CLEAR ALL")}),r.createElement(B.Z,null),rt.kind.length===0&&rt.lifecycle.length===0&&r.createElement(Ge.Z,null,r.createElement(L.Z,{variant:"subtitle2"},"Filters cannot be applied to available results")),rt.kind.length>0&&r.createElement(Ge.Z,null,r.createElement(L.Z,{variant:"subtitle2"},"Kind"),r.createElement(we.Z,{id:"outlined-select",onChange:P=>{var I;return Tt((I=P==null?void 0:P.target)==null?void 0:I.value)},variant:"outlined",className:te.dropdown,value:Me.selected},rt.kind.map(P=>r.createElement(Qe.Z,{selected:P==="",dense:!0,key:P,value:P},P)))),rt.lifecycle.length>0&&r.createElement(Ge.Z,null,r.createElement(L.Z,{variant:"subtitle2"},"Lifecycle"),r.createElement(_e.Z,{disablePadding:!0,dense:!0},rt.lifecycle.map(P=>r.createElement(nt.Z,{key:P,dense:!0,button:!0,onClick:()=>ie(P)},r.createElement(mt.Z,{edge:"start",disableRipple:!0,className:te.checkbox,color:"primary",checked:Me.checked.includes(P),tabIndex:-1,value:P,name:P}),r.createElement(ot.Z,{id:P,primary:P}))))))};var $t=e(41564),At=e(9118),st=e(36964);const gt=(0,m.Z)(Me=>({searchQuery:{color:Me.palette.text.primary,background:Me.palette.background.default,borderRadius:"10%"},tableHeader:{margin:Me.spacing(1,0,0,0),display:"flex"},divider:{width:"1px",margin:Me.spacing(0,2),padding:Me.spacing(2,0)}})),Lt=[{title:"Name",field:"name",highlight:!0,render:Me=>r.createElement(At.Link,{to:Me.url||""},Me.name)},{title:"Description",field:"description"},{title:"Owner",field:"owner"},{title:"Kind",field:"kind"},{title:"LifeCycle",field:"lifecycle"}],xt=({searchQuery:Me,numberOfSelectedFilters:rt,numberOfResults:Xe,handleToggleFilters:Tt})=>{const ie=gt();return r.createElement("div",{className:ie.tableHeader},r.createElement(xe,{numberOfSelectedFilters:rt,handleToggleFilters:Tt}),r.createElement(B.Z,{className:ie.divider,orientation:"vertical"}),r.createElement(h.Z,{item:!0,xs:12},Me?r.createElement(L.Z,{variant:"h6"},`${Xe} `,Xe>1?"results for ":"result for ",r.createElement("span",{className:ie.searchQuery},'"',Me,'"')," "):r.createElement(L.Z,{variant:"h6"},`${Xe} results`)))},Ut=({searchQuery:Me})=>{const rt=(0,st.useApi)($.Ah),[Xe,Tt]=(0,r.useState)(!1),[ie,te]=(0,r.useState)({selected:"",checked:[]}),[P,I]=(0,r.useState)([]),{loading:Z,error:K,value:k}=(0,F.default)(async()=>(await rt.getEntities()).items.map(he=>{var Ce,je,lt,dt,ke;return{name:he.metadata.name,description:he.metadata.description,owner:typeof((Ce=he.spec)==null?void 0:Ce.owner)=="string"?(je=he.spec)==null?void 0:je.owner:void 0,kind:he.kind,lifecycle:typeof((lt=he.spec)==null?void 0:lt.lifecycle)=="string"?(dt=he.spec)==null?void 0:dt.lifecycle:void 0,url:`/catalog/${((ke=he.metadata.namespace)==null?void 0:ke.toLocaleLowerCase("en-US"))||$t.zG}/${he.kind.toLocaleLowerCase("en-US")}/${he.metadata.name}`}}),[]);if((0,r.useEffect)(()=>{if(k){let Oe=k;ie.selected!==""&&(Oe=k.filter(he=>ie.selected.includes(he.kind))),ie.checked.length>0&&(Oe=Oe.filter(he=>he.lifecycle&&ie.checked.includes(he.lifecycle))),Me&&(Oe=Oe.filter(he=>{var Ce,je,lt;return((Ce=he.name)==null?void 0:Ce.toLocaleLowerCase("en-US").includes(Me))||((je=he.name)==null?void 0:je.toLocaleLowerCase("en-US").includes(Me.split(" ").join("-")))||((lt=he.description)==null?void 0:lt.toLocaleLowerCase("en-US").includes(Me))})),I(Oe)}},[ie,Me,k]),Z)return r.createElement(At.Progress,null);if(K)return r.createElement(b.Z,{severity:"error"},"Error encountered while fetching search results. ",K.toString());if(!k||k.length===0)return r.createElement(At.EmptyState,{missing:"data",title:"Sorry, no results were found"});const ce=()=>{te({selected:"",checked:[]})},Ee=Oe=>{te(he=>({...he,selected:Oe}))},Ae=Oe=>{if(ie.checked.includes(Oe)){te(he=>({...he,checked:he.checked.filter(Ce=>Ce!==Oe)}));return}te(he=>({...he,checked:[...he.checked,Oe]}))},Ze=k.reduce((Oe,he)=>(he.kind&&Oe.kind.indexOf(he.kind)<0&&Oe.kind.push(he.kind),he.lifecycle&&Oe.lifecycle.indexOf(he.lifecycle)<0&&Oe.lifecycle.push(he.lifecycle),Oe),{kind:[],lifecycle:[]});return r.createElement(r.Fragment,null,r.createElement(h.Z,{container:!0},Xe&&r.createElement(h.Z,{item:!0,xs:3},r.createElement(Wt,{filters:ie,filterOptions:Ze,resetFilters:ce,updateSelected:Ee,updateChecked:Ae})),r.createElement(h.Z,{item:!0,xs:Xe?9:12},r.createElement(At.Table,{options:{paging:!0,pageSize:20,search:!1},data:P,columns:Lt,title:r.createElement(xt,{searchQuery:Me,numberOfResults:P.length,numberOfSelectedFilters:(ie.selected!==""?1:0)+ie.checked.length,handleToggleFilters:()=>Tt(!Xe)})}))))},Pt=()=>{const[Me,rt]=(0,At.useQueryParamState)("query"),[Xe,Tt]=(0,r.useState)(Me!=null?Me:""),ie=P=>{P.preventDefault(),Tt(P.target.value)};(0,r.useEffect)(()=>Tt(Me!=null?Me:""),[Me]),(0,g.Z)(()=>{rt(Xe)},200,[Xe]);const te=()=>{Tt("")};return r.createElement(At.Page,{themeId:"home"},r.createElement(At.Header,{title:"Search"}),r.createElement(At.Content,null,r.createElement(h.Z,{container:!0,direction:"row"},r.createElement(h.Z,{item:!0,xs:12},r.createElement(Q,{handleSearch:ie,handleClearSearchBar:te,searchQuery:Xe})),r.createElement(h.Z,{item:!0,xs:12},r.createElement(Ut,{searchQuery:(Me!=null?Me:"").toLocaleLowerCase("en-US")})))))},Ct=()=>{const Me=(0,E.TH)(),{term:rt,setTerm:Xe,types:Tt,setTypes:ie,pageCursor:te,setPageCursor:P,filters:I,setFilters:Z}=(0,i.Rx)(),K=(0,t.Z)(Me.search);return(0,r.useEffect)(()=>{if(Me.search===K)return;const k=f().parse(Me.search.substring(1),{arrayLimit:0})||{};k.filters&&Z(k.filters),k.query&&Xe(k.query),k.pageCursor&&P(k.pageCursor),k.types&&ie(k.types)},[K,Me,Xe,ie,P,Z]),(0,r.useEffect)(()=>{const k=f().stringify({query:rt,types:Tt,pageCursor:te,filters:I},{arrayFormat:"brackets"}),ce=`${window.location.pathname}?${k}`;window.history.replaceState(null,document.title,ce)},[rt,Tt,te,I]),null},pt=()=>{const Me=(0,E.pC)();return r.createElement(i.Nd,null,r.createElement(Ct,null),Me||r.createElement(Pt,null))}},39332:function(q,o,e){"use strict";e.r(o),e.d(o,{SearchResult:function(){return f}});var r=e(9118),t=e(2784),l=e(22313);const f=({children:E})=>{const{result:{loading:i,error:h,value:g}}=(0,l.Rx)();return i?t.createElement(r.Progress,null):h?t.createElement(r.ResponseErrorPanel,{title:"Error encountered while fetching search results",error:h}):(g==null?void 0:g.results.length)?t.createElement(t.Fragment,null,E({results:g.results})):t.createElement(r.EmptyState,{missing:"data",title:"Sorry, no results were found"})}},8542:function(q,o,e){"use strict";e.d(o,{G:function(){return g}});var r=e(79692),t=e(77277),l=e(35352),f=e(27742),E=e(2784),i=e(22313);const h=(0,r.Z)(m=>({root:{display:"flex",justifyContent:"space-between",gap:m.spacing(2),margin:m.spacing(2,0)}})),g=()=>{const{fetchNextPage:m,fetchPreviousPage:u}=(0,i.Rx)(),y=h();return!m&&!u?E.createElement(E.Fragment,null):E.createElement("nav",{"arial-label":"pagination navigation",className:y.root},E.createElement(t.Z,{"aria-label":"previous page",disabled:!u,onClick:u,startIcon:E.createElement(l.Z,null)},"Previous"),E.createElement(t.Z,{"aria-label":"next page",disabled:!m,onClick:m,endIcon:E.createElement(f.Z,null)},"Next"))}},20863:function(q,o,e){"use strict";e.d(o,{_Z:function(){return l}});var r=e(91512),t=e(36964);const l=(0,t.createRouteRef)({id:"search"}),f=(0,t.createRouteRef)({id:"search:next"}),E=(0,t.createPlugin)({id:"search",apis:[(0,t.createApiFactory)({api:r.g,deps:{discoveryApi:t.discoveryApiRef,identityApi:t.identityApiRef},factory:({discoveryApi:D,identityApi:Q})=>new r.w({discoveryApi:D,identityApi:Q})})],routes:{root:l,nextRoot:f}}),i=E.provide((0,t.createRoutableExtension)({name:"SearchPage",component:()=>Promise.resolve().then(e.bind(e,3992)).then(D=>D.SearchPage),mountPoint:l})),h=E.provide((0,t.createRoutableExtension)({name:"SearchPageNext",component:()=>Promise.resolve().then(e.bind(e,3992)).then(D=>D.SearchPage),mountPoint:f})),g=E.provide((0,t.createComponentExtension)({name:"SearchBar",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(D=>D.SearchBar)}})),m=E.provide((0,t.createComponentExtension)({name:"SearchBarNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(D=>D.SearchBar)}})),u=E.provide((0,t.createComponentExtension)({name:"SearchResult",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(D=>D.SearchResult)}})),y=E.provide((0,t.createComponentExtension)({name:"SearchResultNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(D=>D.SearchResult)}})),s=E.provide((0,t.createComponentExtension)({name:"SidebarSearchModal",component:{lazy:()=>e.e(3825).then(e.bind(e,43825)).then(D=>D.SidebarSearchModal)}})),S=E.provide((0,t.createComponentExtension)({name:"DefaultResultListItem",component:{lazy:()=>Promise.resolve().then(e.bind(e,19941)).then(D=>D.DefaultResultListItem)}})),N=E.provide((0,t.createComponentExtension)({name:"HomePageSearchBar",component:{lazy:()=>e.e(6105).then(e.bind(e,46105)).then(D=>D.HomePageSearchBar)}}))},94067:function(q,o,e){"use strict";e.r(o),e.d(o,{EmbeddedDocsRouter:function(){return N},Router:function(){return S},isTechDocsAvailable:function(){return s}});var r=e(2784),t=e(31423),l=e(10289),f=e(41481),E=e(31752),i=e(73873),h=e(97589),g=e(36964);const m=({entity:D})=>{var B;const Q=(0,g.useApi)(g.configApiRef);return r.createElement(i.Ej,{withSearch:!1,entityRef:{namespace:(0,h.D)((B=D.metadata.namespace)!=null?B:"default",Q),kind:(0,h.D)(D.kind,Q),name:(0,h.D)(D.metadata.name,Q)}})};var u=e(9118);const y="backstage.io/techdocs-ref",s=D=>{var Q,B;return Boolean((B=(Q=D==null?void 0:D.metadata)==null?void 0:Q.annotations)==null?void 0:B[y])},S=()=>r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/",element:r.createElement(f.TechDocsIndexPage,null)}),r.createElement(l.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(E.TechDocsPage,null)})),N=D=>{var L;const{entity:Q}=(0,t.useEntity)();return((L=Q.metadata.annotations)==null?void 0:L[y])?r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/*",element:r.createElement(m,{entity:Q})})):r.createElement(u.MissingAnnotationEmptyState,{annotation:y})}},3337:function(q,o,e){"use strict";e.d(o,{D:function(){return t},g:function(){return l}});var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),l=(0,r.createApiRef)({id:"plugin.techdocs.service"})},71226:function(q,o,e){"use strict";e.d(o,{O:function(){return u}});var r=e(2784),t=e(79692),l=e(49378),f=e(38402),E=e(85256),i=e(9118),h=e(15277),g=e.n(h);const m=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),u=({result:y,lineClamp:s=5,asListItem:S=!0,asLink:N=!0,title:D})=>{const Q=m(),B=()=>{var F;return r.createElement(l.Z,{className:Q.itemText,primaryTypographyProps:{variant:"h6"},primary:D||`${y.title} | ${(F=y.entityTitle)!=null?F:y.name} docs`,secondary:r.createElement(g(),{line:s,truncateText:"\u2026",text:y.text,element:"span"})})},L=({children:F})=>N?r.createElement(i.Link,{to:y.location},F):r.createElement(r.Fragment,null,F),b=({children:F})=>S?r.createElement(r.Fragment,null,r.createElement(f.Z,{alignItems:"flex-start",className:Q.flexContainer},F),r.createElement(E.Z,{component:"li"})):r.createElement(r.Fragment,null,F);return r.createElement(L,null,r.createElement(b,null,r.createElement(B,null)))}},97589:function(q,o,e){"use strict";e.d(o,{D:function(){return r}});function r(t,l){return l.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},10187:function(q,o,e){"use strict";e.r(o),e.d(o,{DocsCardGrid:function(){return u}});var r=e(2784),t=e(36964),l=e(94339),f=e(16111),E=e(24579),i=e(14503),h=e(68725),g=e(9118),m=e(97589);const u=({entities:y})=>{const s=(0,t.useRouteRef)(h.Fw),S=(0,t.useApi)(t.configApiRef);return y?r.createElement(g.ItemCardGrid,{"data-testid":"docs-explore"},(y==null?void 0:y.length)?y.map((N,D)=>{var Q,B;return r.createElement(l.Z,{key:D},r.createElement(f.Z,null,r.createElement(g.ItemCardHeader,{title:(Q=N.metadata.title)!=null?Q:N.metadata.name})),r.createElement(E.Z,null,N.metadata.description),r.createElement(i.Z,null,r.createElement(g.Button,{to:s({namespace:(0,m.D)((B=N.metadata.namespace)!=null?B:"default",S),kind:(0,m.D)(N.kind,S),name:(0,m.D)(N.metadata.name,S)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null}},83201:function(q,o,e){"use strict";e.r(o),e.d(o,{DocsTable:function(){return y}});var r=e(2784),t=e(95074),l=e(36964),f=e(41564),E=e(31423),i=e(68725),h=e(9118),g=e(50294),m=e(67430),u=e(97589);const y=({entities:s,title:S,loading:N,columns:D,actions:Q})=>{const[,B]=(0,t.Z)(),L=(0,l.useRouteRef)(i.Fw),b=(0,l.useApi)(l.configApiRef);if(!s)return null;const F=s.map(de=>{var Ie;const xe=(0,E.getEntityRelations)(de,f.S4);return{entity:de,resolved:{docsUrl:L({namespace:(0,u.D)((Ie=de.metadata.namespace)!=null?Ie:"default",b),kind:(0,u.D)(de.kind,b),name:(0,u.D)(de.metadata.name,b)}),ownedByRelations:xe,ownedByRelationsTitle:xe.map(Te=>(0,E.formatEntityRefTitle)(Te,{defaultKind:"group"})).join(", ")}}}),$=[m.createNameColumn(),m.createOwnerColumn(),m.createTypeColumn()],X=[g.createCopyDocsUrlAction(B)];return r.createElement(r.Fragment,null,N||F&&F.length>0?r.createElement(h.Table,{isLoading:N,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:F,columns:D||$,actions:Q||X,title:S?`${S} (${F.length})`:`All (${F.length})`}):r.createElement(h.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(h.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))}},57110:function(q,o,e){"use strict";e.r(o),e.d(o,{TechDocsCustomHome:function(){return s}});var r=e(2784),t=e(64279),l=e(79692),f=e(31423),E=e(83201),i=e(10187),h=e(1114),g=e(9118),m=e(36964);const u={DocsTable:E.DocsTable,DocsCardGrid:i.DocsCardGrid},y=({config:S,entities:N,index:D})=>{const B=(0,l.Z)({panelContainer:{marginBottom:"2rem",...S.panelCSS?S.panelCSS:{}}})(),{value:L}=(0,f.useOwnUser)(),b=u[S.panelType],F=N.filter($=>S.filterPredicate==="ownedByUser"?L?(0,f.isOwnerOf)(L,$):!1:typeof S.filterPredicate=="function"&&S.filterPredicate($));return r.createElement(r.Fragment,null,r.createElement(g.ContentHeader,{title:S.title,description:S.description},D===0?r.createElement(g.SupportButton,null,"Discover documentation in your ecosystem."):null),r.createElement("div",{className:B.panelContainer},r.createElement(b,{"data-testid":"techdocs-custom-panel",entities:F})))},s=({tabsConfig:S})=>{const[N,D]=(0,r.useState)(0),Q=(0,m.useApi)(f.Ah),{value:B,loading:L,error:b}=(0,t.default)(async()=>(await Q.getEntities({filter:{"metadata.annotations.backstage.io/techdocs-ref":f.n3},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(X=>{var de;return!!((de=X.metadata.annotations)==null?void 0:de["backstage.io/techdocs-ref"])})),F=S[N];return L?r.createElement(h.j,null,r.createElement(g.Content,null,r.createElement(g.Progress,null))):b?r.createElement(h.j,null,r.createElement(g.Content,null,r.createElement(g.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(g.CodeSnippet,{language:"text",text:b.toString()})))):r.createElement(h.j,null,r.createElement(g.HeaderTabs,{selectedIndex:N,onChange:$=>D($),tabs:S.map(({label:$},X)=>({id:X.toString(),label:$}))}),r.createElement(g.Content,{"data-testid":"techdocs-content"},F.panels.map(($,X)=>r.createElement(y,{key:X,config:$,entities:B||[],index:X}))))}},41481:function(q,o,e){"use strict";e.r(o),e.d(o,{TechDocsIndexPage:function(){return E}});var r=e(2784),t=e(10289),l=e(57110);const f=()=>{const i=[{label:"Overview",panels:[{title:"Overview",description:"Explore your internal technical ecosystem through documentation.",panelType:"DocsCardGrid",filterPredicate:()=>!0}]},{label:"Owned Documents",panels:[{title:"Owned documents",description:"Access your documentation.",panelType:"DocsTable",filterPredicate:"ownedByUser"}]}];return r.createElement(l.TechDocsCustomHome,{tabsConfig:i})},E=()=>(0,t.pC)()||r.createElement(f,null)},1114:function(q,o,e){"use strict";e.d(o,{j:function(){return f}});var r=e(2784),t=e(9118),l=e(36964);const f=({children:E})=>{var g;const h=`Documentation available in ${(g=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?g:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:h,themeId:"documentation"},E)}},50294:function(q,o,e){"use strict";e.r(o),e.d(o,{createCopyDocsUrlAction:function(){return f},createStarEntityAction:function(){return E}});var r=e(2784),t=e(39981),l=e(31423);function f(i){return h=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>i(`${window.location.origin}${h.resolved.docsUrl}`)})}function E(i,h){return({entity:g})=>{const m=i(g);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,l.favoriteEntityIcon)(m),tooltip:(0,l.favoriteEntityTooltip)(m),onClick:()=>h(g)}}}},67430:function(q,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return E},createOwnerColumn:function(){return i},createTypeColumn:function(){return h}});var r=e(2784),t=e(9118),l=e(31423);function f(g){return g.metadata.title||g.metadata.name}function E(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:g=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:g.resolved.docsUrl},f(g.entity)),subvalue:g.entity.metadata.description})}}function i(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:g})=>r.createElement(l.EntityRefLinks,{entityRefs:g.ownedByRelations,defaultKind:"group"})}}function h(){return{title:"Type",field:"entity.spec.type"}}},80547:function(q,o,e){"use strict";e.d(o,{Ej:function(){return Tt},DK:function(){return Me}});var r=e(2784),t=e(10289),l=e(79692),f=e(60364),E=e(60905),i=e(36964),h=e(36356),g=e(9118),m=e(3337);const u=(ie,te,P)=>{const I=ie==="src"&&te.endsWith(".svg"),Z=!te.match(/^([a-z]*:)?\/\//i),K=te.startsWith(P);return I&&(Z||K)},y=({techdocsStorageApi:ie,entityId:te,path:P})=>async I=>{const Z=await ie.getApiOrigin(),K=async(k,ce)=>{for(const Ee of k)if(Ee.hasAttribute(ce)){const Ae=Ee.getAttribute(ce);if(!Ae)return;const Ze=await ie.getBaseUrl(Ae,te,P);if(u(ce,Ae,Z))try{const he=await(await fetch(Ze,{credentials:"include"})).text();Ee.setAttribute(ce,`data:image/svg+xml;base64,${btoa(he)}`)}catch{Ee.setAttribute("alt",`Error: ${Ae}`)}else Ee.setAttribute(ce,Ze)}};return await Promise.all([K(I.querySelectorAll("img"),"src"),K(I.querySelectorAll("script"),"src"),K(I.querySelectorAll("source"),"src"),K(I.querySelectorAll("link"),"href"),K(I.querySelectorAll("a[download]"),"href")]),I};var s=e(63925),S=e(67097),N=e(28316),D=e(82717),Q=e.n(D);const B=ie=>te=>{const P=te.querySelector('[title="Edit this page"]');if(!P||!P.href)return te;const I=new URL(P.href),Z=ie.byUrl(I);if((Z==null?void 0:Z.type)!=="github"&&(Z==null?void 0:Z.type)!=="gitlab")return te;const K=te.querySelector("article>h1").childNodes[0].textContent,k=encodeURIComponent(`Documentation Feedback: ${K}`),ce=encodeURIComponent(`Page source:
|
|
32
|
+
${P.href}
|
|
33
|
+
|
|
34
|
+
Feedback:`),Ee=(Z==null?void 0:Z.type)==="github"?(0,s.Pb)(I.href,"blob"):I.href,Ae=Q()(Ee),Ze=`/${Ae.organization}/${Ae.name}`,Oe=P.cloneNode();switch(Z==null?void 0:Z.type){case"gitlab":Oe.href=`${I.origin}${Ze}/issues/new?issue[title]=${k}&issue[description]=${ce}`;break;case"github":Oe.href=`${I.origin}${Ze}/issues/new?title=${k}&body=${ce}`;break;default:return te}return N.render(r.createElement(S.Z),Oe),Oe.style.paddingLeft="5px",Oe.title="Leave feedback for this page",Oe.id="git-feedback-link",P==null||P.insertAdjacentElement("beforebegin",Oe),te},L=()=>ie=>(((P,I)=>{Array.from(P).filter(Z=>Z.hasAttribute(I)).forEach(Z=>{const K=Z.getAttribute(I);if(K){K.match(/^https?:\/\//i)&&Z.setAttribute("target","_blank");try{const k=b(window.location.href);Z.setAttribute(I,new URL(K,k).toString())}catch{Z.replaceWith(Z.textContent||K)}}})})(Array.from(ie.getElementsByTagName("a")),"href"),ie);function b(ie){const te=new URL(ie);return!te.pathname.endsWith("/")&&!te.pathname.endsWith(".html")&&(te.pathname+="/"),te.toString()}const F=({baseUrl:ie,onClick:te})=>P=>(Array.from(P.getElementsByTagName("a")).forEach(I=>{I.addEventListener("click",Z=>{const k=I.getAttribute("href");!k||k.startsWith(ie)&&!I.hasAttribute("download")&&(Z.preventDefault(),te(Z,k))})}),P),$=()=>ie=>(Array.from(ie.querySelectorAll("pre > code")).forEach(te=>{var Z;const P=document.createElement("button"),I=te.textContent||"";P.className="md-clipboard md-icon",P.title="Copy to clipboard",P.innerHTML='<svg viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg>',P.addEventListener("click",()=>navigator.clipboard.writeText(I)),(Z=te==null?void 0:te.parentElement)==null||Z.prepend(P)}),ie),X=()=>ie=>{var te;return(te=ie.querySelector(".md-header"))==null||te.remove(),ie},de=()=>ie=>{var te;return(te=ie.querySelector(".md-footer-copyright"))==null||te.remove(),ie},xe=({docStorageUrl:ie,onLoading:te,onLoaded:P})=>I=>{const Z=Array.from(I.querySelectorAll('head > link[rel="stylesheet"]')).filter(k=>{var ce;return(ce=k.getAttribute("href"))==null?void 0:ce.startsWith(ie)});let K=Z.length;return K>0&&te(I),Z.forEach(k=>k.addEventListener("load",()=>{K-=1,K===0&&P(I)})),I};var Ie=e(35368),Te=e.n(Ie);const fe=/main\.[A-Fa-f0-9]{8}\.min\.css$/,Ge=/^https:\/\/fonts\.googleapis\.com/,we=/^https:\/\/fonts\.gstatic\.com/,Qe=ie=>{if(ie.nodeName&&ie.nodeName==="LINK"){const te=ie.getAttribute("href")||"";te.match(fe)&&ie.setAttribute("rel","stylesheet"),te.match(Ge)&&ie.setAttribute("rel","stylesheet"),te.match(we)&&ie.setAttribute("rel","preconnect")}return ie},_e=ie=>te=>{if(te.nodeName==="IFRAME"){const P=te.getAttribute("src");if(!P)return te.remove(),te;try{const I=new URL(P);ie.some(K=>I.host===K)||te.remove()}catch(I){console.warn(`Invalid iframe src, ${I}`),te.remove()}}return te},nt=ie=>{const te=(ie==null?void 0:ie.getOptionalStringArray("allowedIframeHosts"))||[];return P=>{Te().addHook("afterSanitizeAttributes",Qe);const I=["link"];return te.length>0&&(Te().addHook("beforeSanitizeElements",_e(te)),I.push("iframe")),Te().sanitize(P.innerHTML,{ADD_TAGS:I,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})}},mt=({css:ie})=>te=>(te.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${ie}</style>`),te),ot=()=>ie=>(setTimeout(()=>{var te;if(window.location.hash){const P=window.location.hash.slice(1);(te=ie==null?void 0:ie.querySelector(`#${P}`))==null||te.scrollIntoView()}},200),ie),Rt=async(ie,te)=>{let P;if(typeof ie=="string")P=new DOMParser().parseFromString(ie,"text/html").documentElement;else if(ie instanceof Element)P=ie;else throw new Error("dom is not a recognized type");for(const I of te)P=await I(P);return P};var Wt=e(82957),$t=e(25921),At=e(64279),st=e(77446);function gt({contentLoading:ie,content:te,activeSyncState:P}){return ie||P==="BUILD_READY_RELOAD"||!te&&P==="CHECKING"?"CHECKING":!te&&P==="BUILDING"?"INITIAL_BUILD":te?P==="BUILDING"?"CONTENT_STALE_REFRESHING":P==="BUILD_READY"?"CONTENT_STALE_READY":P==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Lt(ie,te){const P={...ie};switch(te.type){case"sync":te.state==="CHECKING"&&(P.buildLog=[]),P.activeSyncState=te.state,P.syncError=te.syncError;break;case"contentLoading":P.contentLoading=!0,P.contentError=void 0;break;case"content":typeof te.path=="string"&&(P.path=te.path),P.contentLoading=!1,P.content=te.content,P.contentError=te.contentError;break;case"buildLog":P.buildLog=P.buildLog.concat(te.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(P.activeSyncState)&&["contentLoading","content"].includes(te.type)&&(P.activeSyncState="UP_TO_DATE",P.buildLog=[]),P}function xt(ie,te,P,I){var Ze,Oe;const[Z,K]=(0,r.useReducer)(Lt,{activeSyncState:"CHECKING",path:I,contentLoading:!0,buildLog:[]}),k=(0,i.useApi)(m.D),{retry:ce}=(0,st.Z)(async()=>{K({type:"contentLoading"});try{const he=await k.getEntityDocs({kind:ie,namespace:te,name:P},I);return K({type:"content",content:he,path:I}),he}catch(he){K({type:"content",contentError:he,path:I})}},[k,ie,te,P,I]),Ee=(0,r.useRef)({content:void 0,reload:()=>{}});return Ee.current={content:Z.content,reload:ce},(0,At.default)(async()=>{K({type:"sync",state:"CHECKING"});const he=setTimeout(()=>{K({type:"sync",state:"BUILDING"})},1e3);try{switch(await k.syncEntityDocs({kind:ie,namespace:te,name:P},je=>{K({type:"buildLog",log:je})})){case"updated":Ee.current.content?K({type:"sync",state:"BUILD_READY"}):(Ee.current.reload(),K({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":K({type:"sync",state:"UP_TO_DATE"});break;default:K({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(Ce){K({type:"sync",state:"ERROR",syncError:Ce})}finally{clearTimeout(he)}},[ie,P,te,k,K,Ee]),{state:(0,r.useMemo)(()=>gt({activeSyncState:Z.activeSyncState,contentLoading:Z.contentLoading,content:Z.content}),[Z.activeSyncState,Z.content,Z.contentLoading]),contentReload:ce,path:Z.path,content:Z.content,contentErrorMessage:(Ze=Z.contentError)==null?void 0:Ze.toString(),syncErrorMessage:(Oe=Z.syncError)==null?void 0:Oe.toString(),buildLog:Z.buildLog}}const Ut=(0,l.Z)(ie=>({searchBar:{marginLeft:"20rem",maxWidth:"calc(100% - 20rem * 2 - 3rem)",marginTop:ie.spacing(1),"@media screen and (max-width: 76.1875em)":{marginLeft:"10rem",maxWidth:"calc(100% - 10rem)"}}})),Pt=(0,r.createContext)({}),Ct=({children:ie,entityRef:te})=>{const{"*":P}=(0,t.UO)(),{kind:I,namespace:Z,name:K}=te,k=xt(I,Z,K,P);return r.createElement(Pt.Provider,{value:k},ie)},pt=(ie,te)=>P=>React.createElement(Ct,{entityRef:te},React.createElement(ie,{...P})),Me=()=>(0,r.useContext)(Pt),rt=ie=>{const te=(0,t.s0)(),P=(0,f.Z)(),I=(0,i.useApi)(m.D),Z=(0,i.useApi)(h.q3),K=(0,i.useApi)(i.configApiRef),{namespace:k="",kind:ce="",name:Ee=""}=ie,{state:Ae,path:Ze,content:Oe}=Me(),he=P.palette.type==="dark",[Ce,je]=(0,r.useState)(),[lt,dt]=(0,r.useState)(null),{isPinned:ke}=(0,r.useContext)(g.SidebarPinStateContext),oe=(0,r.useCallback)(()=>{if(!lt||!Ce)return;const We=lt.querySelector(".md-container > .md-tabs");Ce.forEach(ze=>{const j=Math.max(lt.getBoundingClientRect().top,0);ze.style.top=We?`${j+We.getBoundingClientRect().height}px`:`${j}px`})},[lt,Ce]);(0,r.useEffect)(()=>(oe(),window.addEventListener("scroll",oe,!0),window.addEventListener("resize",oe),()=>{window.removeEventListener("scroll",oe,!0),window.removeEventListener("resize",oe)}),[oe,Ae]);const Ne=(0,r.useCallback)(()=>{if(!lt)return;const We=lt.querySelector(".md-footer");We&&(We.style.width=`${lt.getBoundingClientRect().width}px`)},[lt]);(0,r.useEffect)(()=>(Ne(),window.addEventListener("resize",Ne),()=>{window.removeEventListener("resize",Ne)}));const tt=(0,r.useCallback)((We,ze)=>Rt(We,[nt(K.getOptionalConfig("techdocs.sanitizer")),y({techdocsStorageApi:I,entityId:{kind:ce,name:Ee,namespace:k},path:ze}),L(),X(),de(),B(Z),mt({css:`
|
|
35
|
+
body {
|
|
36
|
+
font-family: ${P.typography.fontFamily};
|
|
37
|
+
--md-text-color: ${P.palette.text.primary};
|
|
38
|
+
--md-text-link-color: ${P.palette.primary.main};
|
|
39
|
+
|
|
40
|
+
--md-code-fg-color: ${P.palette.text.primary};
|
|
41
|
+
--md-code-bg-color: ${P.palette.background.paper};
|
|
42
|
+
--md-accent-fg-color: ${P.palette.primary.main};
|
|
43
|
+
--md-default-fg-color--lightest: ${P.palette.textVerySubtle};
|
|
44
|
+
}
|
|
45
|
+
.codehilite .gd, .highlight .gd {
|
|
46
|
+
background-color: ${he?"rgba(248,81,73,0.65)":"#fdd"};
|
|
47
|
+
}
|
|
48
|
+
.codehilite .gi, .highlight .gi {
|
|
49
|
+
background-color: ${he?"rgba(46,160,67,0.65)":"#dfd"};
|
|
50
|
+
}
|
|
51
|
+
.highlight .kd {
|
|
52
|
+
color: ${he?"#4aaaf7":"#3b78e7"};
|
|
53
|
+
}
|
|
54
|
+
.highlight .k {
|
|
55
|
+
color: ${he?"#4aaaf7":"#3b78e7"};
|
|
56
|
+
}
|
|
57
|
+
.highlight .nx {
|
|
58
|
+
color: ${he?"#ff53a3":"#ec407a"};
|
|
59
|
+
}
|
|
60
|
+
.highlight .s1 {
|
|
61
|
+
color: ${he?"#1cad46":"rgb(13, 144, 79)"};
|
|
62
|
+
}
|
|
63
|
+
.highlight .kt {
|
|
64
|
+
color: ${he?"#4aaaf7":"#3e61a2"};
|
|
65
|
+
}
|
|
66
|
+
.md-main__inner { margin-top: 0; }
|
|
67
|
+
.md-sidebar { position: fixed; bottom: 100px; width: 20rem; }
|
|
68
|
+
.md-sidebar--secondary { right: 2rem; }
|
|
69
|
+
.md-content { margin-bottom: 50px }
|
|
70
|
+
.md-footer { position: fixed; bottom: 0px; }
|
|
71
|
+
.md-footer-nav__link { width: 20rem;}
|
|
72
|
+
.md-content { margin-left: 20rem; max-width: calc(100% - 20rem * 2 - 3rem); }
|
|
73
|
+
.md-typeset { font-size: 1rem; }
|
|
74
|
+
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: bold; }
|
|
75
|
+
.md-nav { font-size: 1rem; }
|
|
76
|
+
.md-grid { max-width: 90vw; margin: 0 }
|
|
77
|
+
.md-typeset blockquote {
|
|
78
|
+
color: ${P.palette.textSubtle};
|
|
79
|
+
border-left: 0.2rem solid ${P.palette.textVerySubtle};
|
|
80
|
+
}
|
|
81
|
+
.md-typeset hr {
|
|
82
|
+
border-bottom: 0.05rem dotted ${P.palette.textVerySubtle};
|
|
83
|
+
}
|
|
84
|
+
.md-typeset table:not([class]) {
|
|
85
|
+
font-size: 1rem;
|
|
86
|
+
border: 1px solid ${P.palette.text.primary};
|
|
87
|
+
border-bottom: none;
|
|
88
|
+
border-collapse: collapse;
|
|
89
|
+
}
|
|
90
|
+
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
91
|
+
border-bottom: 1px solid ${P.palette.text.primary};
|
|
92
|
+
}
|
|
93
|
+
.md-typeset table:not([class]) th { font-weight: bold; }
|
|
94
|
+
.md-typeset .admonition, .md-typeset details {
|
|
95
|
+
font-size: inherit;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* style the checkmarks of the task list */
|
|
99
|
+
.md-typeset .task-list-control .task-list-indicator::before {
|
|
100
|
+
background-color: ${P.palette.action.disabledBackground};
|
|
101
|
+
}
|
|
102
|
+
.md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
103
|
+
background-color: ${P.palette.success.main};
|
|
104
|
+
}
|
|
105
|
+
/**/
|
|
106
|
+
|
|
107
|
+
@media screen and (max-width: 76.1875em) {
|
|
108
|
+
.md-nav {
|
|
109
|
+
background-color: ${P.palette.background.default};
|
|
110
|
+
transition: none !important
|
|
111
|
+
}
|
|
112
|
+
.md-sidebar--secondary { display: none; }
|
|
113
|
+
.md-sidebar--primary { left: ${ke?"242px":"72px"}; width: 10rem }
|
|
114
|
+
.md-content { margin-left: 10rem; max-width: calc(100% - 10rem); }
|
|
115
|
+
.md-content__inner { font-size: 0.9rem }
|
|
116
|
+
.md-footer {
|
|
117
|
+
position: static;
|
|
118
|
+
padding-left: 10rem;
|
|
119
|
+
}
|
|
120
|
+
.md-footer-nav__link {
|
|
121
|
+
/* footer links begin to overlap at small sizes without setting width */
|
|
122
|
+
width: 50%;
|
|
123
|
+
}
|
|
124
|
+
.md-nav--primary .md-nav__title {
|
|
125
|
+
white-space: normal;
|
|
126
|
+
height: auto;
|
|
127
|
+
line-height: 1rem;
|
|
128
|
+
cursor: auto;
|
|
129
|
+
}
|
|
130
|
+
.md-nav--primary > .md-nav__title [for="none"] {
|
|
131
|
+
padding-top: 0;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
`}),mt({css:`
|
|
135
|
+
.md-nav__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
136
|
+
transition: none;
|
|
137
|
+
}
|
|
138
|
+
`}),mt({css:`
|
|
139
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
140
|
+
background-color: hsla(0, 0%, 0%, 0.32);
|
|
141
|
+
}
|
|
142
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
143
|
+
background-color: hsla(0, 0%, 0%, 0.87);
|
|
144
|
+
}
|
|
145
|
+
`}),mt({css:`
|
|
146
|
+
:host {
|
|
147
|
+
--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>');
|
|
148
|
+
--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>');
|
|
149
|
+
--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>');
|
|
150
|
+
--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>');
|
|
151
|
+
--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>');
|
|
152
|
+
--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>');
|
|
153
|
+
--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>');
|
|
154
|
+
--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>');
|
|
155
|
+
--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>');
|
|
156
|
+
--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>');
|
|
157
|
+
--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>');
|
|
158
|
+
--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>');
|
|
159
|
+
}
|
|
160
|
+
:host {
|
|
161
|
+
--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>');
|
|
162
|
+
}
|
|
163
|
+
:host {
|
|
164
|
+
--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.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
165
|
+
}
|
|
166
|
+
:host {
|
|
167
|
+
--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>');
|
|
168
|
+
--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>');
|
|
169
|
+
}
|
|
170
|
+
`})]),[K,I,ce,Ee,k,Z,P.typography.fontFamily,P.palette.text.primary,P.palette.primary.main,P.palette.background.paper,P.palette.background.default,P.palette.textVerySubtle,P.palette.textSubtle,P.palette.action.disabledBackground,P.palette.success.main,he,ke]),et=(0,r.useCallback)(async We=>Rt(We,[ot(),$(),F({baseUrl:window.location.origin,onClick:(ze,j)=>{var W,_;const A=ze.ctrlKey||ze.metaKey,O=new URL(j);O.hash?A?window.open(`${O.pathname}${O.hash}`,"_blank"):(te(`${O.pathname}${O.hash}`),(W=We==null?void 0:We.querySelector(`#${O.hash.slice(1)}`))==null||W.scrollIntoView()):A?window.open(O.pathname,"_blank"):(te(O.pathname),(_=We==null?void 0:We.querySelector(".md-content__inner"))==null||_.scrollIntoView())}}),xe({docStorageUrl:await I.getApiOrigin(),onLoading:ze=>{ze.style.setProperty("opacity","0")},onLoaded:ze=>{var j;ze.style.removeProperty("opacity"),(j=ze.querySelector(".md-nav__title"))==null||j.removeAttribute("for"),je(Array.from(ze.querySelectorAll(".md-sidebar")))}})]),[te,I]);return(0,r.useEffect)(()=>{if(!Oe)return()=>{};let We=!0;return tt(Oe,Ze).then(async ze=>{if(!(ze==null?void 0:ze.innerHTML)||!We)return;window.scroll({top:0});const j=await et(ze);dt(j)}),()=>{We=!1}},[Oe,Ze,tt,et]),lt},Xe=({entityRef:ie,onReady:te=()=>{},withSearch:P=!0})=>{var ce,Ee;const I=Ut(),Z=rt(ie),K=(0,r.useRef)(null),k=(0,r.useRef)(te);return(0,r.useEffect)(()=>{k.current=te},[te]),(0,r.useEffect)(()=>{if(!Z||!K.current)return;const Ae=K.current,Ze=Ae.shadowRoot||Ae.attachShadow({mode:"open"});Array.from(Ze.children).forEach(Oe=>Ze.removeChild(Oe)),Ze.appendChild(Z),k.current()},[Z]),r.createElement(r.Fragment,null,r.createElement($t.N,null),P&&((Ee=(ce=K==null?void 0:K.current)==null?void 0:ce.shadowRoot)==null?void 0:Ee.innerHTML)&&r.createElement(E.Z,{container:!0,className:I.searchBar},r.createElement(Wt.S,{entityId:ie})),r.createElement("div",{"data-testid":"techdocs-content-shadowroot",ref:K}))},Tt=({entityRef:ie,onReady:te=()=>{},withSearch:P=!0})=>r.createElement(Ct,{entityRef:ie},r.createElement(Xe,{entityRef:ie,onReady:te,withSearch:P}))},94252:function(q,o,e){"use strict";e.d(o,{T:function(){return f}});var r=e(2784),t=e(36964),l=e(9118);const f=({errorMessage:E})=>{const i=(0,t.useApi)(t.configApiRef).getOptionalString("techdocs.builder");let h="";return i!=="local"&&(h="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."),r.createElement(l.ErrorPage,{status:"404",statusMessage:E||"Documentation not found",additionalInfo:h})}},31752:function(q,o,e){"use strict";e.r(o),e.d(o,{TechDocsPage:function(){return y}});var r=e(2784),t=e(10289),l=e(64279),f=e(3337),E=e(94252),i=e(36964),h=e(9118),g=e(80547),m=e(46025);const u=()=>{const[s,S]=(0,r.useState)(!1),{namespace:N,kind:D,name:Q}=(0,t.UO)(),B=(0,i.useApi)(f.g),{value:L}=(0,l.default)(()=>s?B.getTechDocsMetadata({kind:D,namespace:N,name:Q}):Promise.resolve(void 0),[D,N,Q,B,s]),{value:b,error:F}=(0,l.default)(()=>B.getEntityMetadata({kind:D,namespace:N,name:Q}),[D,N,Q,B]),$=(0,r.useCallback)(()=>{S(!0)},[S]);return F?r.createElement(E.T,{errorMessage:F.message}):r.createElement(h.Page,{themeId:"documentation"},r.createElement(m.n,{techDocsMetadata:L,entityMetadata:b,entityRef:{kind:D,namespace:N,name:Q}}),r.createElement(h.Content,{"data-testid":"techdocs-content"},r.createElement(g.Ej,{onReady:$,entityRef:{kind:D,namespace:N,name:Q}})))},y=({children:s})=>{const S=(0,t.pC)(),[N,D]=(0,r.useState)(!1),{namespace:Q,kind:B,name:L}=(0,t.UO)(),b=(0,i.useApi)(f.g),{value:F}=(0,l.default)(()=>N?b.getTechDocsMetadata({kind:B,namespace:Q,name:L}):Promise.resolve(void 0),[B,Q,L,b,N]),{value:$,error:X}=(0,l.default)(()=>b.getEntityMetadata({kind:B,namespace:Q,name:L}),[B,Q,L,b]),de=(0,r.useCallback)(()=>{D(!0)},[D]);return X?r.createElement(E.T,{errorMessage:X.message}):s?r.createElement(h.Page,{themeId:"documentation"},s instanceof Function?s({techdocsMetadataValue:F,entityMetadataValue:$,entityRef:{kind:B,namespace:Q,name:L},onReady:de}):s):S||r.createElement(u,null)}},46025:function(q,o,e){"use strict";e.d(o,{n:function(){return g}});var r=e(41564),t=e(9118),l=e(36964),f=e(31423),E=e(73250),i=e(2784),h=e(68725);const g=({entityRef:m,entityMetadata:u,techDocsMetadata:y})=>{const{name:s}=m,{site_name:S,site_description:N}=y||{},{locationMetadata:D,spec:Q}=u||{},B=Q==null?void 0:Q.lifecycle,L=u?(0,f.getEntityRelations)(u,r.S4):[],b=(0,l.useRouteRef)(h._Z)(),F=i.createElement(i.Fragment,null,i.createElement(t.HeaderLabel,{label:"Component",value:i.createElement(f.EntityRefLink,{color:"inherit",entityRef:m,defaultKind:"Component"})}),L.length>0&&i.createElement(t.HeaderLabel,{label:"Owner",value:i.createElement(f.EntityRefLinks,{color:"inherit",entityRefs:L,defaultKind:"group"})}),B?i.createElement(t.HeaderLabel,{label:"Lifecycle",value:B}):null,D&&D.type!=="dir"&&D.type!=="file"?i.createElement(t.HeaderLabel,{label:"",value:i.createElement("a",{href:D.target,target:"_blank",rel:"noopener noreferrer"},i.createElement(E.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return i.createElement(t.Header,{title:S||".",pageTitleOverride:S||s,subtitle:N&&N!=="None"?N:"",type:"Docs",typeLink:b},F)}},82957:function(q,o,e){"use strict";e.d(o,{S:function(){return ke}});var r=e(91512),t=e(2784),l=e(79692);const f=(0,l.Z)(oe=>({filters:{width:"250px",display:"flex"},icon:{margin:oe.spacing(-1,0,0,0)}})),E=({numberOfSelectedFilters:oe,handleToggleFilters:Ne})=>{const tt=f();return React.createElement("div",{className:tt.filters},React.createElement(IconButton,{className:tt.icon,"aria-label":"settings",onClick:Ne},React.createElement(FilterListIcon,null)),React.createElement(Typography,{variant:"h6"},"Filters (",oe||0,")"))},i=(0,l.Z)(oe=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:oe.spacing(0,1,0,1)},dropdown:{width:"100%"}})),h=({filters:oe,filterOptions:Ne,resetFilters:tt,updateSelected:et,updateChecked:We})=>{const ze=i();return React.createElement(Card,{className:ze.filters},React.createElement(CardHeader,{title:React.createElement(Typography,{variant:"h6"},"Filters"),action:React.createElement(Button,{color:"primary",onClick:()=>tt()},"CLEAR ALL")}),React.createElement(Divider,null),Ne.kind.length===0&&Ne.lifecycle.length===0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Filters cannot be applied to available results")),Ne.kind.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Kind"),React.createElement(Select,{id:"outlined-select",onChange:j=>{var A;return et((A=j==null?void 0:j.target)==null?void 0:A.value)},variant:"outlined",className:ze.dropdown,value:oe.selected},Ne.kind.map(j=>React.createElement(MenuItem,{selected:j==="",dense:!0,key:j,value:j},j)))),Ne.lifecycle.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Lifecycle"),React.createElement(List,{disablePadding:!0,dense:!0},Ne.lifecycle.map(j=>React.createElement(ListItem,{key:j,dense:!0,button:!0,onClick:()=>We(j)},React.createElement(Checkbox,{edge:"start",disableRipple:!0,className:ze.checkbox,color:"primary",checked:oe.checked.includes(j),tabIndex:-1,value:j,name:j}),React.createElement(ListItemText,{id:j,primary:j}))))))};var g=e(1795),m=e(22313),u=e(42494),y=e(84899),s=e(5806),S=e(21324),N=e(56939),D=e(73698),Q=e(12231),B=e(86619),L=e(7089),b=e(88013),F=e(69294),$=e(48760);const X=(oe,Ne,tt=[],et=250)=>{const We=(0,t.useRef)({}),ze=oe||(()=>Promise.resolve([])),[j,A]=(0,F.default)(ze,[Ne],{loading:!0});if((0,$.Z)(()=>{We.current[Ne]===void 0&&(We.current[Ne]=A(Ne).then(W=>(We.current[Ne]=W,W)))},et,[A,Ne]),tt.length)return{loading:!1,value:tt};const O=We.current[Ne];return Array.isArray(O)?{loading:!1,value:O}:j},de=(oe,Ne)=>{const{setFilters:tt}=(0,m.Rx)();(0,t.useEffect)(()=>{Ne&&[Ne].flat().length>0&&tt(et=>({...et,[oe]:Ne}))},[])},xe=oe=>{const{className:Ne,defaultValue:tt,name:et,values:We,valuesDebounceMs:ze,label:j,filterSelectedOptions:A,limitTags:O,multiple:W}=oe,[_,be]=(0,t.useState)("");de(et,tt);const me=typeof We=="function"?We:void 0,Be=typeof We=="function"?void 0:We,{value:Fe,loading:He}=X(me,_,Be,ze),{filters:vt,setFilters:Ht}=(0,m.Rx)(),ue=vt[et]||(W?[]:null),H=(Ve,Ye)=>{Ht(ct=>{const{[et]:bt,...nn}=ct;return Ye?{...nn,[et]:Ye}:{...nn}})},se=Ve=>t.createElement(B.Z,{...Ve,name:"search",variant:"outlined",label:j,fullWidth:!0}),pe=(Ve,Ye)=>Ve.map((ct,bt)=>t.createElement(L.Z,{label:ct,color:"primary",...Ye({index:bt})}));return t.createElement(b.ZP,{filterSelectedOptions:A,limitTags:O,multiple:W,className:Ne,id:`${W?"multi-":""}select-filter-${et}--select`,options:Fe||[],loading:He,value:ue,onChange:H,onInputChange:(Ve,Ye)=>be(Ye),renderInput:se,renderTags:pe})},Ie=(0,l.Z)({label:{textTransform:"capitalize"}}),Te=oe=>{const{className:Ne,defaultValue:tt,label:et,name:We,values:ze=[],valuesDebounceMs:j}=oe,A=Ie(),{filters:O,setFilters:W}=(0,m.Rx)();de(We,tt);const _=typeof ze=="function"?ze:void 0,be=typeof ze=="function"?void 0:ze,{value:me=[],loading:Be}=X(_,"",be,j),Fe=He=>{const{target:{value:vt,checked:Ht}}=He;W(ue=>{const{[We]:H,...se}=ue,pe=(H||[]).filter(Ye=>Ye!==vt),Ve=Ht?[...pe,vt]:pe;return Ve.length?{...se,[We]:Ve}:se})};return t.createElement(u.Z,{className:Ne,disabled:Be,fullWidth:!0,"data-testid":"search-checkboxfilter-next"},et?t.createElement(y.Z,{className:A.label},et):null,me.map(He=>{var vt;return t.createElement(s.Z,{key:He,control:t.createElement(S.Z,{color:"primary",tabIndex:-1,inputProps:{"aria-labelledby":He},value:He,name:He,onChange:Fe,checked:((vt=O[We])!=null?vt:[]).includes(He)}),label:He})}))},fe=oe=>{const{className:Ne,defaultValue:tt,label:et,name:We,values:ze,valuesDebounceMs:j}=oe,A=Ie();de(We,tt);const O=typeof ze=="function"?ze:void 0,W=typeof ze=="function"?void 0:ze,{value:_=[],loading:be}=X(O,"",W,j),{filters:me,setFilters:Be}=(0,m.Rx)(),Fe=He=>{const{target:{value:vt}}=He;Be(Ht=>{const{[We]:ue,...H}=Ht;return vt?{...H,[We]:vt}:H})};return t.createElement(u.Z,{disabled:be,className:Ne,variant:"filled",fullWidth:!0,"data-testid":"search-selectfilter-next"},et?t.createElement(N.Z,{className:A.label,margin:"dense"},et):null,t.createElement(D.Z,{variant:"outlined",value:me[We]||"",onChange:Fe},t.createElement(Q.Z,{value:""},t.createElement("em",null,"All")),_.map(He=>t.createElement(Q.Z,{key:He,value:He},He))))},Ge=({component:oe,...Ne})=>t.createElement(oe,{...Ne});Ge.Checkbox=oe=>t.createElement(Ge,{...oe,component:Te}),Ge.Select=oe=>t.createElement(Ge,{...oe,component:fe}),Ge.Autocomplete=oe=>t.createElement(Ge,{...oe,component:xe});const we=null;var Qe=e(73032),_e=e(3992),nt=e(8542),mt=e(49378),ot=e(62155),Rt=e(94339),Wt=e(32552),$t=e(24579),At=e(27616),st=e(8284),gt=e(70660),Lt=e(11776),xt=e(85256),Ut=e(38402),Pt=e(86136),Ct=e(38016),pt=e(56881);const Me=(0,l.Z)(oe=>({card:{backgroundColor:"rgba(0, 0, 0, .11)"},cardContent:{paddingTop:oe.spacing(1)},icon:{color:oe.palette.common.black},list:{width:"100%"},listItemIcon:{width:"24px",height:"24px"},accordion:{backgroundColor:oe.palette.background.paper},accordionSummary:{minHeight:"auto","&.Mui-expanded":{minHeight:"auto"}},accordionSummaryContent:{margin:oe.spacing(2,0),"&.Mui-expanded":{margin:oe.spacing(2,0)}},accordionDetails:{padding:oe.spacing(0,0,1)}})),rt=oe=>{const Ne=Me(),{setPageCursor:tt,setTypes:et,types:We}=(0,m.Rx)(),[ze,j]=(0,t.useState)(!0),{defaultValue:A,name:O,types:W}=oe,_=()=>j(Fe=>!Fe),be=Fe=>()=>{et(Fe!==""?[Fe]:[]),tt(void 0),j(!1)};(0,t.useEffect)(()=>{A&&et([A])},[]);const me=[{value:"",name:"All",icon:t.createElement(pt.Z,null)},...W],Be=We[0]||"";return t.createElement(Rt.Z,{className:Ne.card},t.createElement(Wt.Z,{title:O,titleTypographyProps:{variant:"overline"}}),t.createElement($t.Z,{className:Ne.cardContent},t.createElement(At.Z,{className:Ne.accordion,expanded:ze,onChange:_},t.createElement(st.Z,{classes:{root:Ne.accordionSummary,content:Ne.accordionSummaryContent},expandIcon:t.createElement(Ct.Z,{className:Ne.icon}),IconButtonProps:{size:"small"}},ze?"Collapse":me.filter(Fe=>Fe.value===Be)[0].name),t.createElement(gt.Z,{classes:{root:Ne.accordionDetails}},t.createElement(Lt.Z,{className:Ne.list,component:"nav","aria-label":"filter by type",disablePadding:!0,dense:!0},me.map(Fe=>t.createElement(t.Fragment,{key:Fe.value},t.createElement(xt.Z,null),t.createElement(Ut.Z,{selected:We[0]===Fe.value||We.length===0&&Fe.value==="",onClick:be(Fe.value),button:!0},t.createElement(Pt.Z,null,(0,t.cloneElement)(Fe.icon,{className:Ne.listItemIcon})),t.createElement(mt.Z,{primary:Fe.name})))))))))};var Xe=e(99152),Tt=e(6487);const ie=(0,l.Z)(oe=>({tabs:{borderBottom:`1px solid ${oe.palette.textVerySubtle}`,padding:oe.spacing(0,4)},tab:{height:"50px",fontWeight:oe.typography.fontWeightBold,fontSize:oe.typography.pxToRem(13),color:oe.palette.textSubtle,minWidth:"130px"}})),te=oe=>{const Ne=ie(),{setPageCursor:tt,setTypes:et,types:We}=(0,m.Rx)(),{defaultValue:ze,types:j}=oe,A=(W,_)=>{et(_!==""?[_]:[]),tt(void 0)};(0,t.useEffect)(()=>{ze&&et([ze])},[]);const O=[{value:"",name:"All"},...j];return t.createElement(Xe.Z,{className:Ne.tabs,indicatorColor:"primary",value:We.length===0?"":We[0],onChange:A},O.map(W=>t.createElement(Tt.Z,{className:Ne.tab,disableRipple:!0,label:W.name,value:W.value})))},P=(0,l.Z)(oe=>({label:{textTransform:"capitalize"},chips:{display:"flex",flexWrap:"wrap",marginTop:oe.spacing(1)},chip:{margin:2}})),I=oe=>{const{className:Ne,defaultValue:tt,name:et,values:We=[]}=oe,ze=P(),{types:j,setTypes:A}=(0,m.Rx)();(0,ot.Z)(()=>{j.length||(tt&&Array.isArray(tt)?A(tt):tt&&A([tt]))});const O=W=>{const _=W.target.value;A(_)};return t.createElement(u.Z,{className:Ne,variant:"filled",fullWidth:!0,"data-testid":"search-typefilter-next"},t.createElement(N.Z,{className:ze.label,margin:"dense"},et),t.createElement(D.Z,{multiple:!0,variant:"outlined",value:j,onChange:O,placeholder:"All Results",renderValue:W=>t.createElement("div",{className:ze.chips},W.map(_=>t.createElement(L.Z,{key:_,label:_,className:ze.chip,size:"small"})))},We.map(W=>t.createElement(Q.Z,{key:W,value:W},t.createElement(S.Z,{checked:j.indexOf(W)>-1}),t.createElement(mt.Z,{primary:W})))))};I.Accordion=oe=>t.createElement(rt,{...oe}),I.Tabs=oe=>t.createElement(te,{...oe});var Z=e(19126),K=e(20863),k=e(36964),ce=e(9118);const Ee=oe=>{const Ne=useRouteRef(rootRouteRef),{focusContent:tt}=useContent(),et=useNavigate(),We=useCallback(ze=>{const j=qs.stringify({query:ze},{addQueryPrefix:!0});tt(),et(`${Ne()}${j}`)},[tt,et,Ne]);return React.createElement(SidebarSearchField,{icon:oe.icon,onSearch:We,to:"/search"})};var Ae=e(60905),Ze=e(50581),Oe=e(61837),he=e(4614),Ce=e(21853),je=e(10289),lt=e(71226);const dt=({entityId:oe,debounceTime:Ne=150})=>{const[tt,et]=(0,t.useState)(!1),We=(0,je.s0)(),{term:ze,setTerm:j,result:{loading:A,value:O}}=(0,m.Rx)(),[W,_]=(0,t.useState)([]);(0,t.useEffect)(()=>{let He=!0;if(He&&O){const vt=O.results.slice(0,10);_(vt)}return()=>{He=!1}},[A,O]);const[be,me]=(0,t.useState)(ze);(0,$.Z)(()=>j(be),Ne,[be]);const Be=He=>{tt||et(!0),me(He.target.value)},Fe=(He,vt)=>{if(vt==null?void 0:vt.document){const{location:Ht}=vt.document;We(Ht)}};return t.createElement(Ae.Z,{item:!0,xs:12},t.createElement(b.ZP,{"data-testid":"techdocs-search-bar",size:"small",open:tt,getOptionLabel:()=>"",filterOptions:He=>He,onClose:()=>{et(!1)},onFocus:()=>{et(!0)},onChange:Fe,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:W,renderOption:({document:He})=>t.createElement(lt.O,{result:He,lineClamp:3,asListItem:!1,asLink:!1,title:He.title}),loading:A,renderInput:He=>t.createElement(B.Z,{...He,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${oe.name} docs`,value:be,onChange:Be,InputProps:{...He.InputProps,startAdornment:t.createElement(Ze.Z,{position:"start"},t.createElement(Oe.Z,{"aria-label":"Query",disabled:!0},t.createElement(Ce.Z,null))),endAdornment:t.createElement(t.Fragment,null,A?t.createElement(he.Z,{color:"inherit",size:20}):null,He.InputProps.endAdornment)}})}))},ke=oe=>{const Ne={term:"",types:["techdocs"],pageCursor:"",filters:oe.entityId};return t.createElement(m.Nd,{initialState:Ne},t.createElement(dt,{...oe}))}},25921:function(q,o,e){"use strict";e.d(o,{N:function(){return b}});var r=e(2784),t=e(9118),l=e(79692),f=e(4614),E=e(77277),i=e(99688),h=e(12420),g=e(60905),m=e(90436),u=e(61837),y=e(4190),s=e(87685);const S=(0,l.Z)(F=>(0,h.Z)({paper:{width:"100%",[F.breakpoints.up("sm")]:{width:"75%"},[F.breakpoints.up("md")]:{width:"50%"},padding:F.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:F.palette.background.default}})),N=({buildLog:F,onClose:$})=>{const X=S(),de=F.length===0?"Waiting for logs...":F.join(`
|
|
171
|
+
`);return r.createElement(g.Z,{container:!0,direction:"column",className:X.root,spacing:0,wrap:"nowrap"},r.createElement(g.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(m.Z,{variant:"h5"},"Build Details"),r.createElement(u.Z,{key:"dismiss",title:"Close the drawer",onClick:$,color:"inherit"},r.createElement(s.Z,null))),r.createElement(t.LogViewer,{text:de,classes:{root:X.logs}}))},D=({buildLog:F})=>{const $=S(),[X,de]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(E.Z,{color:"inherit",onClick:()=>de(!0)},"Show Build Logs"),r.createElement(y.ZP,{classes:{paper:$.paper},anchor:"right",open:X,onClose:()=>de(!1)},r.createElement(N,{buildLog:F,onClose:()=>de(!1)})))};var Q=e(94252),B=e(80547);const L=(0,l.Z)(()=>({message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),b=()=>{let F=null;const $=L(),{state:X,contentReload:de,contentErrorMessage:xe,syncErrorMessage:Ie,buildLog:Te}=(0,B.DK)(),fe=X==="CHECKING"?r.createElement(t.Progress,null):null;return X==="INITIAL_BUILD"&&(F=r.createElement(i.Z,{variant:"outlined",severity:"info",icon:r.createElement(f.Z,{size:"24px"}),action:r.createElement(D,{buildLog:Te})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),X==="CONTENT_STALE_REFRESHING"&&(F=r.createElement(i.Z,{variant:"outlined",severity:"info",icon:r.createElement(f.Z,{size:"24px"}),action:r.createElement(D,{buildLog:Te})},"A newer version of this documentation is being prepared and will be available shortly.")),X==="CONTENT_STALE_READY"&&(F=r.createElement(i.Z,{variant:"outlined",severity:"success",action:r.createElement(E.Z,{color:"inherit",onClick:()=>de()},"Refresh")},"A newer version of this documentation is now available, please refresh to view.")),X==="CONTENT_STALE_ERROR"&&(F=r.createElement(i.Z,{variant:"outlined",severity:"error",action:r.createElement(D,{buildLog:Te}),classes:{message:$.message}},"Building a newer version of this documentation failed."," ",Ie)),X==="CONTENT_NOT_FOUND"&&(F=r.createElement(r.Fragment,null,Ie&&r.createElement(i.Z,{variant:"outlined",severity:"error",action:r.createElement(D,{buildLog:Te}),classes:{message:$.message}},"Building a newer version of this documentation failed."," ",Ie),r.createElement(Q.T,{errorMessage:xe}))),r.createElement(r.Fragment,null,fe,F)}},73873:function(q,o,e){"use strict";e.d(o,{Ej:function(){return r.Ej},EV:function(){return t.TechDocsPage},nN:function(){return l.n}});var r=e(80547),t=e(31752),l=e(46025),f=e(25921),E=e(82957)},68725:function(q,o,e){"use strict";e.d(o,{_Z:function(){return t},Fw:function(){return l},pd:function(){return f}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),l=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),f=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},19133:function(q,o,e){"use strict";q.exports=e.p+"static/createComponent.975d1e1e..svg"},86284:function(q,o,e){"use strict";q.exports=e.p+"static/missingAnnotation.67f79e98..svg"},3871:function(q,o,e){"use strict";q.exports=e.p+"static/noBuild.1715fa71..svg"},96465:function(q,o,e){"use strict";q.exports=e.p+"static/noInformation.4b426325..svg"},29788:function(q,o,e){"use strict";q.exports=e.p+"static/mic-drop.fe3ef4d0..svg"},53260:function(){}},function(q){var o=function(r){return q(q.s=r)};q.O(0,[2370,6202,9284,2126,7012,9035,427,5218,4736],function(){return o(88649),o(86240)});var e=q.O()}]);})();
|
|
172
|
+
|
|
173
|
+
//# sourceMappingURL=main.c2217354.js.map
|