@techdocs/cli 1.1.1-next.1 → 1.1.2-next.0
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 +33 -0
- package/dist/cjs/serve-48337ec4.cjs.js +145 -0
- package/dist/cjs/serve-48337ec4.cjs.js.map +1 -0
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/static/1553.ba4eafb9.chunk.js +3 -0
- package/dist/embedded-app/static/1553.ba4eafb9.chunk.js.map +1 -0
- package/dist/embedded-app/static/1959.9077d3a0.chunk.js +8 -0
- package/dist/embedded-app/static/1959.9077d3a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/2426.f29b35ad.chunk.js +3 -0
- package/dist/embedded-app/static/2426.f29b35ad.chunk.js.map +1 -0
- package/dist/embedded-app/static/3860.30afe880.chunk.js +3 -0
- package/dist/embedded-app/static/3860.30afe880.chunk.js.map +1 -0
- package/dist/embedded-app/static/390.d06c7dd4.chunk.js +3 -0
- package/dist/embedded-app/static/390.d06c7dd4.chunk.js.map +1 -0
- package/dist/embedded-app/static/4022.9ffeb6c6.chunk.js +3 -0
- package/dist/embedded-app/static/4022.9ffeb6c6.chunk.js.map +1 -0
- package/dist/embedded-app/static/6235.0160ce80.chunk.js +3 -0
- package/dist/embedded-app/static/6235.0160ce80.chunk.js.map +1 -0
- package/dist/embedded-app/static/6583.19098eda.chunk.js +3 -0
- package/dist/embedded-app/static/6583.19098eda.chunk.js.map +1 -0
- package/dist/embedded-app/static/7110.64f1cf3a.chunk.js +3 -0
- package/dist/embedded-app/static/7110.64f1cf3a.chunk.js.map +1 -0
- package/dist/embedded-app/static/7758.ed6d4d18.chunk.js +3 -0
- package/dist/embedded-app/static/7758.ed6d4d18.chunk.js.map +1 -0
- package/dist/embedded-app/static/8061.db773a4f.chunk.js +3 -0
- package/dist/embedded-app/static/8061.db773a4f.chunk.js.map +1 -0
- package/dist/embedded-app/static/8718.b6fd1dca.chunk.js +4 -0
- package/dist/embedded-app/static/8718.b6fd1dca.chunk.js.map +1 -0
- package/dist/embedded-app/static/8792.6cea3c47.chunk.js +3 -0
- package/dist/embedded-app/static/8792.6cea3c47.chunk.js.map +1 -0
- package/dist/embedded-app/static/9028.273c4a66.chunk.js +3 -0
- package/dist/embedded-app/static/9028.273c4a66.chunk.js.map +1 -0
- package/dist/embedded-app/static/main.a7898f9b.js +487 -0
- package/dist/embedded-app/static/main.a7898f9b.js.map +1 -0
- package/dist/embedded-app/static/module-ajv.9873d8f6.js +10 -0
- package/dist/embedded-app/static/module-ajv.9873d8f6.js.map +1 -0
- package/dist/embedded-app/static/module-date-fns.667c4862.js +3 -0
- package/dist/embedded-app/static/module-date-fns.667c4862.js.map +1 -0
- package/dist/embedded-app/static/module-hot-loader.baa19dda.js +25 -0
- package/dist/embedded-app/static/module-hot-loader.baa19dda.js.map +1 -0
- package/dist/embedded-app/static/module-jss.df150ef8.js +38 -0
- package/dist/embedded-app/static/module-jss.df150ef8.js.map +1 -0
- package/dist/embedded-app/static/module-lodash.32f2edbb.js +29 -0
- package/dist/embedded-app/static/module-lodash.32f2edbb.js.map +1 -0
- package/dist/embedded-app/static/module-material-table.cd3af251.js +3 -0
- package/dist/embedded-app/static/module-material-table.cd3af251.js.map +1 -0
- package/dist/embedded-app/static/module-material-ui.1e05f502.js +51 -0
- package/dist/embedded-app/static/module-material-ui.1e05f502.js.map +1 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.6085a9b0.js +67 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.6085a9b0.js.map +1 -0
- package/dist/embedded-app/static/module-yaml.63d08f2d.js +151 -0
- package/dist/embedded-app/static/module-yaml.63d08f2d.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.6d99819e.chunk.js +6 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.6d99819e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e39098ec.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e39098ec.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.f0866c63.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.f0866c63.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.07a8cb8b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.07a8cb8b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.cabf0da1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.cabf0da1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.a3a8277d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.a3a8277d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.ca80f87c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.ca80f87c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.135bfeaa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.135bfeaa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.26715cf0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.26715cf0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.222eae4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.222eae4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.36438d34.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.36438d34.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.2f5b7895.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.2f5b7895.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.2b57cc97.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.2b57cc97.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.e3c8bfdd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.e3c8bfdd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.147f6883.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.147f6883.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.1c4bfd59.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.1c4bfd59.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.ac969aa7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.ac969aa7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.fd64947c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.fd64947c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.0b9ed769.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.0b9ed769.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.eccb9aa9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.eccb9aa9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.fe69e953.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.fe69e953.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.ee6d6d18.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.ee6d6d18.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.3c6326f1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.3c6326f1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.3e97e143.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.3e97e143.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.4e11b53a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.4e11b53a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.85379200.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.85379200.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.4a7a71f8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.4a7a71f8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.387c63bc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.387c63bc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.0dceed35.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.0dceed35.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.9dabb11c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.9dabb11c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.db17d430.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.db17d430.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.f6d8e1a0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.f6d8e1a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.9042b6b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.9042b6b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.e50bcc7d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.e50bcc7d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.82d44ead.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.82d44ead.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.d381eca6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.d381eca6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.272a9559.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.272a9559.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.d3c472c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.d3c472c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.d4ccbf98.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.d4ccbf98.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.0a9e5a1c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.0a9e5a1c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.94da0b62.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.94da0b62.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.3786913e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.3786913e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.94507fa8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.94507fa8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.c75af221.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.c75af221.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.c900f58e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.c900f58e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.1dd8382b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.1dd8382b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.a72872c7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.a72872c7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.fa8d03f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.fa8d03f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.c5c47576.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.c5c47576.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.7b510c64.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.7b510c64.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.8c2deb45.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.8c2deb45.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.11d9c7cc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.11d9c7cc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.3904fcdc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.3904fcdc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.eba0f5f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.eba0f5f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.e8306333.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.e8306333.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.bd9dfabc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.bd9dfabc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.81bf896d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.81bf896d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.11a999a4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.11a999a4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.8fa1382d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.8fa1382d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.f9581318.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.f9581318.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.82f42614.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.82f42614.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.1ab23dc7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.1ab23dc7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.f8848957.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.f8848957.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.dc02450b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.dc02450b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.2898dc2c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.2898dc2c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.d1d5658b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.d1d5658b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.3293da06.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.3293da06.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.9e71221f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.9e71221f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.8db77f58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.8db77f58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.f5a950c4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.f5a950c4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.e2abba03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.e2abba03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.b688ce0f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.b688ce0f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.7c96773e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.7c96773e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.2b1aa2f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.2b1aa2f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.391c5d81.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.391c5d81.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.c3248588.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.c3248588.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.7c51613c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.7c51613c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.29ebeff4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.29ebeff4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.0d666e71.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.0d666e71.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.a7c3ac6d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.a7c3ac6d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.8b3a856c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.8b3a856c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.ecdd651d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.ecdd651d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.fb690b85.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.fb690b85.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.00db46b1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.00db46b1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.9a95a2be.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.9a95a2be.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.9dce5c58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.9dce5c58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.5c16ea99.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.5c16ea99.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.15050774.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.15050774.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.838f4b42.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.838f4b42.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.fe1b93bd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.fe1b93bd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.e1b0b375.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.e1b0b375.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.802249c5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.802249c5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.bc3d17c7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.bc3d17c7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.bbef1e04.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.bbef1e04.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.5bd76867.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.5bd76867.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.7deafe1c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.7deafe1c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.d6ae9322.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.d6ae9322.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.86c42558.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.86c42558.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.e488203b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.e488203b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.c255e5d7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.c255e5d7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.6a316349.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.6a316349.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.c95335ca.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.c95335ca.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.f2c5bd60.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.f2c5bd60.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.6464cedd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.6464cedd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.2e443797.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.2e443797.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.4b560b02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.4b560b02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.69619b02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.69619b02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.9b354734.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.9b354734.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.5613c599.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.5613c599.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.7281c70c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.7281c70c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.d4e16722.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.d4e16722.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.dcd5722f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.dcd5722f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.7ef13093.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.7ef13093.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.2d227b16.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.2d227b16.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.dc787036.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.dc787036.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.2c25fa32.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.2c25fa32.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.b7cc093e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.b7cc093e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.14ee6a41.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.14ee6a41.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.e51239c3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.e51239c3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.42bd0ec6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.42bd0ec6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.4d2b6b78.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.4d2b6b78.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.71bd6857.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.71bd6857.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.6e9bd373.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.6e9bd373.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.049274c0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.049274c0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.55cfb5e8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.55cfb5e8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.d2c708be.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.d2c708be.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.8c1aa06b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.8c1aa06b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.0223cc81.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.0223cc81.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.77178bf9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.77178bf9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.bad25c03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.bad25c03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.d7121bcf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.d7121bcf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.6313f5e4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.6313f5e4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.e09a7a8f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.e09a7a8f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.d5b5c33d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.d5b5c33d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.65e160b6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.65e160b6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.f852c59d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.f852c59d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.f397de12.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.f397de12.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.fd1db466.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.fd1db466.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.8ab8a533.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.8ab8a533.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.537bb714.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.537bb714.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.1d7e0865.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.1d7e0865.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.4824cc5a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.4824cc5a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.ae681e7d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.ae681e7d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.35cb97bc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.35cb97bc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.2cbe5345.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.2cbe5345.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.7b8f8566.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.7b8f8566.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.740d48de.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.740d48de.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.28f71cc9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.28f71cc9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.a3dfe5d0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.a3dfe5d0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.b3d0aad6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.b3d0aad6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.27f27574.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.27f27574.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.45e641c6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.45e641c6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.cb817a76.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.cb817a76.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.f82df236.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.f82df236.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.111d6691.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.111d6691.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.d6161773.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.d6161773.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.df9e0798.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.df9e0798.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.0f5a4588.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.0f5a4588.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.98065d4c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.98065d4c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.1528656a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.1528656a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.3bf7bbf8.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.3bf7bbf8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.79718255.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.79718255.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.ff9a0389.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.ff9a0389.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.7cf62869.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.7cf62869.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.80fd4019.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.80fd4019.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.3f7789bb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.3f7789bb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.262d2dee.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.262d2dee.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.87f07d4d.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.87f07d4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.db98e52e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.db98e52e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.406058a9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.406058a9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.ce1af113.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.ce1af113.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.f2a2cdba.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.f2a2cdba.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.f4bc1bb5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.f4bc1bb5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.367ea734.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.367ea734.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.802ccc02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.802ccc02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.10b7ec1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.10b7ec1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.3646c41b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.3646c41b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f866e314.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f866e314.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.e4681d1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.e4681d1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.4f6422d1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.4f6422d1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.dec3a738.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.dec3a738.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.612b911b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.612b911b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.3c097556.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.3c097556.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.914ae836.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.914ae836.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.6f7c3028.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.6f7c3028.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.a3a567f0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.a3a567f0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.ac1eeb4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.ac1eeb4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.dec26abf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.dec26abf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.befe59df.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.befe59df.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.73a992c2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.73a992c2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.031487c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.031487c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.14d469e9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.14d469e9.chunk.js.map +1 -0
- package/dist/embedded-app/static/runtime.a7898f9b.js +4 -0
- package/dist/embedded-app/static/runtime.a7898f9b.js.map +1 -0
- package/dist/embedded-app/static/vendor.a7898f9b.js +103 -0
- package/dist/embedded-app/static/vendor.a7898f9b.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/package.json +9 -9
- package/dist/cjs/serve-aa1ff626.cjs.js +0 -145
- package/dist/cjs/serve-aa1ff626.cjs.js.map +0 -1
- package/dist/embedded-app/static/1553.a6edce0e.chunk.js +0 -3
- package/dist/embedded-app/static/1553.a6edce0e.chunk.js.map +0 -1
- package/dist/embedded-app/static/1959.55365235.chunk.js +0 -8
- package/dist/embedded-app/static/1959.55365235.chunk.js.map +0 -1
- package/dist/embedded-app/static/2426.b371eaed.chunk.js +0 -3
- package/dist/embedded-app/static/2426.b371eaed.chunk.js.map +0 -1
- package/dist/embedded-app/static/3860.8a0dac3d.chunk.js +0 -3
- package/dist/embedded-app/static/3860.8a0dac3d.chunk.js.map +0 -1
- package/dist/embedded-app/static/390.5623153b.chunk.js +0 -3
- package/dist/embedded-app/static/390.5623153b.chunk.js.map +0 -1
- package/dist/embedded-app/static/4022.6f52e9cc.chunk.js +0 -3
- package/dist/embedded-app/static/4022.6f52e9cc.chunk.js.map +0 -1
- package/dist/embedded-app/static/6235.7e3710fd.chunk.js +0 -3
- package/dist/embedded-app/static/6235.7e3710fd.chunk.js.map +0 -1
- package/dist/embedded-app/static/6583.9071ac96.chunk.js +0 -3
- package/dist/embedded-app/static/6583.9071ac96.chunk.js.map +0 -1
- package/dist/embedded-app/static/7110.7d2c1934.chunk.js +0 -3
- package/dist/embedded-app/static/7110.7d2c1934.chunk.js.map +0 -1
- package/dist/embedded-app/static/7758.f316879f.chunk.js +0 -3
- package/dist/embedded-app/static/7758.f316879f.chunk.js.map +0 -1
- package/dist/embedded-app/static/8061.3f3d9ba3.chunk.js +0 -3
- package/dist/embedded-app/static/8061.3f3d9ba3.chunk.js.map +0 -1
- package/dist/embedded-app/static/8718.8f60efd2.chunk.js +0 -4
- package/dist/embedded-app/static/8718.8f60efd2.chunk.js.map +0 -1
- package/dist/embedded-app/static/8792.b1d581fc.chunk.js +0 -3
- package/dist/embedded-app/static/8792.b1d581fc.chunk.js.map +0 -1
- package/dist/embedded-app/static/9028.abe94909.chunk.js +0 -3
- package/dist/embedded-app/static/9028.abe94909.chunk.js.map +0 -1
- package/dist/embedded-app/static/main.2c1a3dd5.js +0 -476
- package/dist/embedded-app/static/main.2c1a3dd5.js.map +0 -1
- package/dist/embedded-app/static/module-ajv.d6f6d109.js +0 -10
- package/dist/embedded-app/static/module-ajv.d6f6d109.js.map +0 -1
- package/dist/embedded-app/static/module-date-fns.5015b34b.js +0 -3
- package/dist/embedded-app/static/module-date-fns.5015b34b.js.map +0 -1
- package/dist/embedded-app/static/module-hot-loader.7c7a4226.js +0 -25
- package/dist/embedded-app/static/module-hot-loader.7c7a4226.js.map +0 -1
- package/dist/embedded-app/static/module-jss.cb0efade.js +0 -38
- package/dist/embedded-app/static/module-jss.cb0efade.js.map +0 -1
- package/dist/embedded-app/static/module-lodash.055be129.js +0 -29
- package/dist/embedded-app/static/module-lodash.055be129.js.map +0 -1
- package/dist/embedded-app/static/module-material-table.fcca9670.js +0 -3
- package/dist/embedded-app/static/module-material-table.fcca9670.js.map +0 -1
- package/dist/embedded-app/static/module-material-ui.2f7d5af1.js +0 -51
- package/dist/embedded-app/static/module-material-ui.2f7d5af1.js.map +0 -1
- package/dist/embedded-app/static/module-react-beautiful-dnd.a9014a2e.js +0 -67
- package/dist/embedded-app/static/module-react-beautiful-dnd.a9014a2e.js.map +0 -1
- package/dist/embedded-app/static/module-yaml.57b26e04.js +0 -151
- package/dist/embedded-app/static/module-yaml.57b26e04.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.c14d776e.chunk.js +0 -6
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.c14d776e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js +0 -4
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js +0 -4
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.beecb919.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.beecb919.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js.map +0 -1
- package/dist/embedded-app/static/runtime.2c1a3dd5.js +0 -4
- package/dist/embedded-app/static/runtime.2c1a3dd5.js.map +0 -1
- package/dist/embedded-app/static/vendor.2c1a3dd5.js +0 -104
- package/dist/embedded-app/static/vendor.2c1a3dd5.js.map +0 -1
|
@@ -1,476 +0,0 @@
|
|
|
1
|
-
(()=>{var Hi=Object.defineProperty;var ji=(X,s,e)=>s in X?Hi(X,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):X[s]=e;var _=(X,s,e)=>(ji(X,typeof s!="symbol"?s+"":s,e),e),sa=(X,s,e)=>{if(!s.has(X))throw TypeError("Cannot "+e)};var Xe=(X,s,e)=>(sa(X,s,"read from private field"),e?e.call(X):s.get(X)),Sn=(X,s,e)=>{if(s.has(X))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(X):s.set(X,e)},Ln=(X,s,e,r)=>(sa(X,s,"write to private field"),r?r.call(X,e):s.set(X,e),e);(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[179],{30001:function(X,s,e){"use strict";e.d(s,{n3:function(){return A},MS:function(){return f}});var r=e(48023),t=e(10179),c=e(96279),m=e.n(c);const A=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111");class f{constructor(i){_(this,"discoveryApi");_(this,"fetchApi");this.discoveryApi=i.discoveryApi,this.fetchApi=i.fetchApi||{fetch:m()}}async getEntityAncestors(i,d){const{kind:y,namespace:p,name:v}=(0,r.of)(i.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}/ancestry`,d)}async getLocationById(i,d){return await this.requestOptional("GET",`/locations/${encodeURIComponent(i)}`,d)}async getEntities(i,d){const{filter:y=[],fields:p=[],offset:v,limit:T,after:I}=i!=null?i:{},B=[];for(const M of[y].flat()){const F=[];for(const[x,Y]of Object.entries(M))for(const te of[Y].flat())te===A?F.push(encodeURIComponent(x)):typeof te=="string"&&F.push(`${encodeURIComponent(x)}=${encodeURIComponent(te)}`);F.length&&B.push(`filter=${F.join(",")}`)}p.length&&B.push(`fields=${p.map(encodeURIComponent).join(",")}`),v!==void 0&&B.push(`offset=${v}`),T!==void 0&&B.push(`limit=${T}`),I!==void 0&&B.push(`after=${encodeURIComponent(I)}`);const J=B.length?`?${B.join("&")}`:"",$=await this.requestRequired("GET",`/entities${J}`,d),L=(M,F)=>{var te,ge;if(((te=M.metadata)==null?void 0:te.name)===void 0||M.kind===void 0||((ge=F.metadata)==null?void 0:ge.name)===void 0||F.kind===void 0)return 0;const x=(0,r.eE)(M),Y=(0,r.eE)(F);return x<Y?-1:x>Y?1:0};return{items:$.sort(L)}}async getEntityByRef(i,d){const{kind:y,namespace:p,name:v}=(0,r.of)(i);return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}`,d)}async getEntityByName(i,d){const{kind:y,namespace:p="default",name:v}=i;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}`,d)}async refreshEntity(i,d){const y=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(d==null?void 0:d.token)&&{Authorization:`Bearer ${d==null?void 0:d.token}`}},method:"POST",body:JSON.stringify({entityRef:i})});if(y.status!==200)throw new Error(await y.text())}async getEntityFacets(i,d){const{filter:y=[],facets:p}=i,v=[];for(const I of[y].flat()){const B=[];for(const[J,$]of Object.entries(I))for(const L of[$].flat())L===A?B.push(encodeURIComponent(J)):typeof L=="string"&&B.push(`${encodeURIComponent(J)}=${encodeURIComponent(L)}`);B.length&&v.push(`filter=${B.join(",")}`)}for(const I of p)v.push(`facet=${encodeURIComponent(I)}`);const T=v.length?`?${v.join("&")}`:"";return await this.requestOptional("GET",`/entity-facets${T}`,d)}async addLocation({type:i="url",target:d,dryRun:y},p){const v=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${y?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(p==null?void 0:p.token)&&{Authorization:`Bearer ${p==null?void 0:p.token}`}},method:"POST",body:JSON.stringify({type:i,target:d})});if(v.status!==201)throw new Error(await v.text());const{location:T,entities:I,exists:B}=await v.json();if(!T)throw new Error(`Location wasn't added: ${d}`);return{location:T,entities:I,exists:B}}async getLocationByRef(i,d){return(await this.requestRequired("GET","/locations",d)).map(p=>p.data).find(p=>i===(0,r.NZ)(p))}async removeLocationById(i,d){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(i)}`,d)}async removeEntityByUid(i,d){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(i)}`,d)}async requestIgnored(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},T=await this.fetchApi.fetch(p,{method:i,headers:v});if(!T.ok)throw await t.VL.fromResponse(T)}async requestRequired(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},T=await this.fetchApi.fetch(p,{method:i,headers:v});if(!T.ok)throw await t.VL.fromResponse(T);return await T.json()}async requestOptional(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},T=await this.fetchApi.fetch(p,{method:i,headers:v});if(!T.ok){if(T.status===404)return;throw await t.VL.fromResponse(T)}return await T.json()}}},48023:function(X,s,e){"use strict";e.d(s,{Tf:function(){return c},P1:function(){return ie},q1:function(){return ce},M6:function(){return K},l2:function(){return t},zG:function(){return r},w$:function(){return re},nP:function(){return W},aS:function(){return et},S4:function(){return ct},cz:function(){return be},iB:function(){return Ee},of:function(){return Le},Ou:function(){return ye},eE:function(){return Ge},NZ:function(){return ee}});const r="default",t="backstage.io/view-url",c="backstage.io/edit-url";var m=e(76635),A=e.n(m);class f{constructor(N=DEFAULT_NAMESPACE){_(this,"namespace");this.namespace=N}async enforce(N){return N.metadata.namespace?N:lodash.merge({metadata:{namespace:this.namespace}},N)}}class a{static isValidPrefixAndOrSuffix(N,ne,Pe,Fe){if(typeof N!="string")return!1;const we=N.split(ne);return we.length===1?Fe(we[0]):we.length===2?Pe(we[0])&&Fe(we[1]):!1}static isJsonSafe(N){try{return A().isEqual(N,JSON.parse(JSON.stringify(N)))}catch{return!1}}static isValidDnsSubdomain(N){return typeof N=="string"&&N.length>=1&&N.length<=253&&N.split(".").every(a.isValidDnsLabel)}static isValidDnsLabel(N){return typeof N=="string"&&N.length>=1&&N.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test(N)}static isValidTag(N){return typeof N=="string"&&N.length>=1&&N.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test(N)}static isValidUrl(N){if(typeof N!="string")return!1;try{return new URL(N),!0}catch{return!1}}static isValidString(N){var ne;return typeof N=="string"&&((ne=N==null?void 0:N.trim())==null?void 0:ne.length)>=1}static isNonEmptyString(N){var ne;return typeof N=="string"&&((ne=N==null?void 0:N.trim())==null?void 0:ne.length)>=1}}var i=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}}}}}'),d=e(48231),y=e.n(d),p=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"}}}`),v=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==","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},"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}}}}}}'),T=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 I=new Map,B=[i,p,v,T];function J(k){if(!(k!=null&&k.length))throw new TypeError("Unknown error");const N=k[0];throw new TypeError(`${N.instancePath||"<root>"} ${N.message}${N.params?` - ${Object.entries(N.params).map(([ne,Pe])=>`${ne}: ${Pe}`).join(", ")}`:""}`)}function $(k,N={}){var yt;const ne=(yt=N==null?void 0:N.disableCache)!=null?yt:!1,Pe=ne?"":JSON.stringify(k);if(!ne){const Ft=I.get(Pe);if(Ft)return Ft}const Fe=L(k),we=new(y())({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});Fe.length&&we.addSchema(Fe,void 0,void 0,!0);const Ne=we.compile(k);return ne||I.set(Pe,Ne),Ne}function L(k){if(typeof k!="object")return[];const N=new Set;k.$id&&N.add(k.$id);const ne=new Array,Pe=[k];for(;Pe.length;){const Fe=Pe.pop();for(const we of M(Fe))if(!N.has(we)){N.add(we);const Ne=B.find(yt=>yt.$id===we);Ne&&(ne.push(Ne),Pe.push(Ne))}}return ne}function*M(k){const N=[k];for(;N.length;){const ne=N.pop();if(typeof ne=="object"&&ne)for(const[Pe,Fe]of Object.entries(ne))Pe==="$ref"&&typeof Fe=="string"?yield Fe.split("#")[0]:N.push(Fe)}}function F(k){const N=compileAjvSchema(k||entityEnvelopeSchema);return ne=>{if(N(ne)===!0)return ne;throw throwAjvError(N.errors)}}function x(k){const N=$(k);return ne=>{var we;if(N(ne)===!0)return ne;const Fe=(we=N.errors)==null?void 0:we.filter(Ne=>["/kind","/apiVersion"].includes(Ne.instancePath));if((Fe==null?void 0:Fe.length)&&Fe.every(Ne=>Ne.keyword==="enum"))return!1;throw J(N.errors)}}function Y(k){const N=compileAjvSchema(k||entitySchema);return ne=>{if(N(ne)===!0)return ne;throw throwAjvError(N.errors)}}class te{static isValidApiVersion(N){return a.isValidPrefixAndOrSuffix(N,"/",a.isValidDnsSubdomain,ne=>ne.length>=1&&ne.length<=63&&/^[a-z0-9A-Z]+$/.test(ne))}static isValidKind(N){return typeof N=="string"&&N.length>=1&&N.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test(N)}static isValidObjectName(N){return typeof N=="string"&&N.length>=1&&N.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(N)}static isValidNamespace(N){return a.isValidDnsLabel(N)}static isValidLabelKey(N){return a.isValidPrefixAndOrSuffix(N,"/",a.isValidDnsSubdomain,te.isValidObjectName)}static isValidLabelValue(N){return N===""||te.isValidObjectName(N)}static isValidAnnotationKey(N){return a.isValidPrefixAndOrSuffix(N,"/",a.isValidDnsSubdomain,te.isValidObjectName)}static isValidAnnotationValue(N){return typeof N=="string"}}const ge={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:k=>typeof k=="string"&&k.length>=1&&k.length<=63&&/^[a-z0-9:+#]+(\-[a-z0-9:+#]+)*$/.test(k)};function Ve(k={}){return{...ge,...k}}class He{constructor(N=makeValidator()){_(this,"validators");this.validators=N}async enforce(N){var Ne,yt,Ft,Rt,Wt,st,It;function ne(tt,Bt,en){if(Bt==null)throw new Error(`${tt} must have a value`);let Mt;try{Mt=en(Bt)}catch(it){throw new Error(`${tt} could not be validated, ${it}`)}if(!Mt){let it;switch(en.name){case"isValidLabelValue":case"isValidObjectName":it="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":it="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":it="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":it="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":it="a string";break;case"isValidKind":it="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":it="a string that is a valid url";break;case"isValidString":case"isNonEmptyString":it="a non empty string";break;default:it=void 0;break}const vt=it?` expected ${it} but found "${Bt}".`:"";throw new Error(`"${tt}" is not valid;${vt} 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(tt,Bt,en){return Bt===void 0||ne(tt,Bt,en)}ne("apiVersion",N.apiVersion,this.validators.isValidApiVersion),ne("kind",N.kind,this.validators.isValidKind),ne("metadata.name",N.metadata.name,this.validators.isValidEntityName),Pe("metadata.namespace",N.metadata.namespace,this.validators.isValidNamespace);for(const[tt,Bt]of Object.entries((Ne=N.metadata.labels)!=null?Ne:[]))ne(`labels.${tt}`,tt,this.validators.isValidLabelKey),ne(`labels.${tt}`,Bt,this.validators.isValidLabelValue);for(const[tt,Bt]of Object.entries((yt=N.metadata.annotations)!=null?yt:[]))ne(`annotations.${tt}`,tt,this.validators.isValidAnnotationKey),ne(`annotations.${tt}`,Bt,this.validators.isValidAnnotationValue);const Fe=(Ft=N.metadata.tags)!=null?Ft:[];for(let tt=0;tt<Fe.length;++tt)ne(`tags.${tt}`,Fe[tt],this.validators.isValidTag);const we=(Rt=N.metadata.links)!=null?Rt:[];for(let tt=0;tt<we.length;++tt)ne(`links.${tt}.url`,(Wt=we[tt])==null?void 0:Wt.url,CommonValidatorFunctions.isValidUrl),Pe(`links.${tt}.title`,(st=we[tt])==null?void 0:st.title,CommonValidatorFunctions.isNonEmptyString),Pe(`links.${tt}.icon`,(It=we[tt])==null?void 0:It.icon,KubernetesValidatorFunctions.isValidObjectName);return N}}class pe{constructor(){_(this,"validate")}async enforce(N){if(!this.validate){const Fe=new Ajv({allowUnionTypes:!0});this.validate=Fe.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate(N)===!0)return N;const[Pe]=this.validate.errors||[];throw Pe?new Error(`Malformed envelope, ${Pe.instancePath||"<root>"} ${Pe.message}`):new Error("Malformed envelope, Unknown error")}}function Ye(k){let N=k.indexOf(":");const ne=k.indexOf("/");ne!==-1&&ne<N&&(N=-1);const Pe=N===-1?void 0:k.slice(0,N),Fe=ne===-1?void 0:k.slice(N+1,ne),we=k.slice(Math.max(N+1,ne+1));if(Pe===""||Fe===""||we==="")throw new TypeError(`Entity reference "${k}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:Pe,namespace:Fe,name:we}}function Ee(k){return{kind:k.kind,namespace:k.metadata.namespace||r,name:k.metadata.name}}function Le(k,N){var yt,Ft,Rt,Wt;if(!k)throw new Error("Entity reference must not be empty");const ne=N==null?void 0:N.defaultKind,Pe=(N==null?void 0:N.defaultNamespace)||r;let Fe,we,Ne;if(typeof k=="string"){const st=Ye(k);Fe=(yt=st.kind)!=null?yt:ne,we=(Ft=st.namespace)!=null?Ft:Pe,Ne=st.name}else Fe=(Rt=k.kind)!=null?Rt:ne,we=(Wt=k.namespace)!=null?Wt:Pe,Ne=k.name;if(Fe)if(we){if(!Ne){const st=JSON.stringify(k);throw new Error(`Entity reference ${st} had missing or empty name`)}}else{const st=JSON.stringify(k);throw new Error(`Entity reference ${st} had missing or empty namespace`)}else{const st=JSON.stringify(k);throw new Error(`Entity reference ${st} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:Fe,namespace:we,name:Ne}}function Ge(k){var Fe,we;let N,ne,Pe;return"metadata"in k?(N=k.kind,ne=(Fe=k.metadata.namespace)!=null?Fe:r,Pe=k.metadata.name):(N=k.kind,ne=(we=k.namespace)!=null?we:r,Pe=k.name),`${N.toLocaleLowerCase("en-US")}:${ne.toLocaleLowerCase("en-US")}/${Pe.toLocaleLowerCase("en-US")}`}class qe{constructor(N){this.policies=N}async enforce(N){let ne=N;for(const Pe of this.policies){const Fe=await Pe.enforce(ne);if(!Fe)throw new Error(`Policy ${Pe.constructor.name} did not return a result`);ne=Fe}return ne}}class Ke{constructor(N){this.policies=N}async enforce(N){for(const ne of this.policies){const Pe=await ne.enforce(N);if(Pe)return Pe}throw new Error("The entity did not match any known policy")}}const me={allOf(k){return new qe(k)},oneOf(k){return new Ke(k)}};var xe=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 Me(k){const N=x(k);return{async check(ne){return N(ne)===ne}}}const We=Me(xe);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 Et=Me(rt);var at=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 _e=Me(at);var ft=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 ke=Me(ft);var xt=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 bt=Me(xt),ct="ownedBy",on="ownerOf",Nt="consumesApi",gt="apiConsumedBy",Yt="providesApi",ae="apiProvidedBy",W="dependsOn",re="dependencyOf",se="parentOf",fe="childOf",Ce="memberOf",De="hasMember",be="partOf",et="hasPart";var dt=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 Ut=Me(dt);var Dt=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 ut=Me(Dt);var Pt=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 _t=Me(Pt),ie="backstage.io/managed-by-location",ce="backstage.io/managed-by-origin-location",K="backstage.io/source-location";function ye(k){if(typeof k!="string")throw new TypeError(`Unable to parse location ref '${k}', unexpected argument ${typeof k}`);const N=k.indexOf(":");if(N<0)throw new TypeError(`Unable to parse location ref '${k}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const ne=k.substring(0,N).trim(),Pe=k.substring(N+1).trim();if(!ne||!Pe)throw new TypeError(`Unable to parse location ref '${k}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(ne==="http"||ne==="https")throw new TypeError(`Invalid location ref '${k}', please prefix it with 'url:', e.g. 'url:${k}'`);return{type:ne,target:Pe}}function ee(k){const{type:N,target:ne}=k;if(N){if(!ne)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");return`${N}:${ne}`}function je(k){var ne,Pe,Fe,we,Ne;const N=(Ne=(Pe=(ne=k.metadata)==null?void 0:ne.annotations)==null?void 0:Pe[ANNOTATION_SOURCE_LOCATION])!=null?Ne:(we=(Fe=k.metadata)==null?void 0:Fe.annotations)==null?void 0:we[ANNOTATION_LOCATION];if(!N)throw new Error(`Entity '${stringifyEntityRef(k)}' is missing location`);return ye(N)}},23235:function(X,s,e){"use strict";e.d(s,{C:function(){return t}});var r=e(98005);class t{constructor(){_(this,"subject",new r.J)}post(m){this.subject.next(m)}alert$(){return this.subject}}},47150:function(X,s,e){"use strict";e.d(s,{g:function(){return r}});class r{captureEvent(c){}}},58652:function(X,s,e){"use strict";e.d(s,{C:function(){return c}});var r=e(98005);const t="theme";class c{constructor(A){_(this,"activeThemeId");_(this,"subject",new r.X(void 0));this.themes=A}static createWithStorage(A){var i;const f=new c(A);if(!window.localStorage)return f;const a=(i=window.localStorage.getItem(t))!=null?i:void 0;return f.setActiveThemeId(a),f.activeThemeId$().subscribe(d=>{d?window.localStorage.setItem(t,d):window.localStorage.removeItem(t)}),window.addEventListener("storage",d=>{var y;if(d.key===t){const p=(y=localStorage.getItem(t))!=null?y:void 0;f.setActiveThemeId(p)}}),f}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(A){this.activeThemeId=A,this.subject.next(A)}}},14721:function(X,s,e){"use strict";e.d(s,{m:function(){return d}});var r=e(9850),t=e.n(r),c=e(12782),m=e.n(c);const A=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function f(y){return typeof y=="object"&&y!==null&&!Array.isArray(y)}function a(y){if(y===null)return"null";if(Array.isArray(y))return"array";const p=typeof y;return p==="number"&&isNaN(y)?"nan":p==="string"&&y===""?"empty-string":p}const i={type(y,p,v,T){return`Invalid type in config for key '${y}' in '${p}', got ${v}, wanted ${T}`},missing(y){return`Missing required config value at '${y}'`},convert(y,p,v){return`Unable to convert config value for key '${y}' in '${p}' to a ${v}`}};class d{constructor(p,v="mock-config",T,I=""){_(this,"filteredKeys");_(this,"notifiedFilteredKeys",new Set);this.data=p,this.context=v,this.fallback=T,this.prefix=I}static fromConfigs(p){return p.length===0?new d(void 0):p.reduce((v,{data:T,context:I,filteredKeys:B,deprecatedKeys:J})=>{const $=new d(T,I,v);if($.filteredKeys=B,J)for(const{key:L,description:M}of J)console.warn(`The configuration key '${L}' of ${I} is deprecated and may be removed soon. ${M||""}`);return $},void 0)}has(p){var T,I;return this.readValue(p)!==void 0?!0:(I=(T=this.fallback)==null?void 0:T.has(p))!=null?I:!1}keys(){var T,I;const p=this.data?Object.keys(this.data):[],v=(I=(T=this.fallback)==null?void 0:T.keys())!=null?I:[];return[...new Set([...p,...v])]}get(p){const v=this.getOptional(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p!=null?p:"")));return v}getOptional(p){var I;const v=t()(this.readValue(p)),T=(I=this.fallback)==null?void 0:I.getOptional(p);return v===void 0?T:T===void 0?v:m()({},{value:T},{value:v},(B,J)=>!f(J)||!f(B)?J:void 0).value}getConfig(p){const v=this.getOptionalConfig(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalConfig(p){var I;const v=this.readValue(p),T=(I=this.fallback)==null?void 0:I.getOptionalConfig(p);if(f(v))return this.copy(v,p,T);if(v!==void 0)throw new TypeError(i.type(this.fullKey(p),this.context,a(v),"object"));return T}getConfigArray(p){const v=this.getOptionalConfigArray(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalConfigArray(p){const v=this.readConfigValue(p,T=>{if(!Array.isArray(T))return{expected:"object-array"};for(const[I,B]of T.entries())if(!f(B))return{expected:"object-array",value:B,key:`${p}[${I}]`};return!0});if(!!v)return v.map((T,I)=>this.copy(T,`${p}[${I}]`))}getNumber(p){const v=this.getOptionalNumber(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalNumber(p){const v=this.readConfigValue(p,I=>typeof I=="number"||typeof I=="string"||{expected:"number"});if(typeof v=="number"||v===void 0)return v;const T=Number(v);if(!Number.isFinite(T))throw new Error(i.convert(this.fullKey(p),this.context,"number"));return T}getBoolean(p){const v=this.getOptionalBoolean(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalBoolean(p){return this.readConfigValue(p,v=>typeof v=="boolean"||{expected:"boolean"})}getString(p){const v=this.getOptionalString(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalString(p){return this.readConfigValue(p,v=>typeof v=="string"&&v!==""||{expected:"string"})}getStringArray(p){const v=this.getOptionalStringArray(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalStringArray(p){return this.readConfigValue(p,v=>{if(!Array.isArray(v))return{expected:"string-array"};for(const[T,I]of v.entries())if(typeof I!="string"||I==="")return{expected:"string-array",value:I,key:`${p}[${T}]`};return!0})}fullKey(p){return`${this.prefix}${this.prefix?".":""}${p}`}copy(p,v,T){const I=new d(p,this.context,T,this.fullKey(v));return I.filteredKeys=this.filteredKeys,I}readConfigValue(p,v){var B;const T=this.readValue(p);if(T===void 0)return(B=this.fallback)==null?void 0:B.readConfigValue(p,v);const I=v(T);if(I!==!0){const{key:J=p,value:$=T,expected:L}=I;throw new TypeError(i.type(this.fullKey(J),this.context,a($),L))}return T}readValue(p){const v=p?p.split("."):[];for(const I of v)if(!A.test(I))throw new TypeError(`Invalid config key '${p}'`);if(this.data===void 0)return;let T=this.data;for(const[I,B]of v.entries())if(f(T))T=T[B];else if(T!==void 0){const J=this.fullKey(v.slice(0,I).join("."));throw new TypeError(i.type(J,this.context,a(T),"object"))}return T}}},4333:function(X,s,e){"use strict";e.d(s,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(m){const A=m.split(/\{\{\s*pluginId\s*\}\}/),f=A.join("pluginId");let a;try{a=new URL(f)}catch{throw new Error(`${r} URL '${f}' is invalid`)}if(a.hash)throw new Error(`${r} URL must not have a hash`);if(a.search)throw new Error(`${r} URL must not have a query`);if(f.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(A)}constructor(m){this.parts=m}async getBaseUrl(m){return this.parts.join(m)}}},89536:function(X,s,e){"use strict";e.d(s,{KN:function(){return r},gr:function(){return c},Jv:function(){return m}});class r{constructor(f,a){this.alertApi=f,this.errorApi=a}post(f,a){return a!=null&&a.hidden||this.alertApi.post({message:f.message,severity:"error"}),this.errorApi.post(f,a)}error$(){return this.errorApi.error$()}}var t=e(98005);class c{constructor(){_(this,"subject",new t.J)}post(f,a){this.subject.next({error:f,context:a})}error$(){return this.subject}}class m{static forward(f,a){window.addEventListener("unhandledrejection",i=>{f.post(i.reason,a)})}}},14884:function(X,s,e){"use strict";e.d(s,{b:function(){return c}});var r=e(36964);function t(m){if(m.length<3)throw new Error(`The '${m}' feature flag must have a minimum length of three characters.`);if(m.length>150)throw new Error(`The '${m}' feature flag must not exceed 150 characters.`);if(!m.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${m}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class c{constructor(){_(this,"registeredFeatureFlags",[]);_(this,"flags")}registerFlag(A){t(A.name),this.registeredFeatureFlags.push(A)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(A){return this.flags||(this.flags=this.load()),this.flags.get(A)===r.FeatureFlagState.Active}save(A){this.flags||(this.flags=this.load()),A.merge||this.flags.clear();for(const[a,i]of Object.entries(A.states))this.flags.set(a,i);const f=Array.from(this.flags.entries()).filter(([,a])=>a===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(f)))}load(){try{const A=window.localStorage.getItem("featureFlags");if(!A)return new Map;const f=JSON.parse(A);if(typeof f!="object"||f===null||Array.isArray(f))return new Map;const a=Object.entries(f).filter(([i,d])=>(t(i),d===r.FeatureFlagState.Active));return new Map(a)}catch{return new Map}}}},50160:function(X,s,e){"use strict";e.d(s,{I:function(){return a},j:function(){return r}});function r(i){var p;let d=i.baseImplementation||e.g.fetch;const y=[(p=i.middleware)!=null?p:[]].flat().reverse();for(const v of y)d=v.apply(d);return{fetch:d}}class t{static create(d){var T,I;const y=c(d),p=((T=d.header)==null?void 0:T.name)||"authorization",v=((I=d.header)==null?void 0:I.value)||(B=>`Bearer ${B}`);return new t(d.identityApi,y,p,v)}constructor(d,y,p,v){this.identityApi=d,this.allowUrl=y,this.headerName=p,this.headerValue=v}apply(d){return async(y,p)=>{const v=new Request(y,p),{token:T}=await this.identityApi.getCredentials();return v.headers.get(this.headerName)||typeof T!="string"||!T||!this.allowUrl(v.url)?d(y,p):(v.headers.set(this.headerName,this.headerValue(T)),d(v))}}}function c(i){return i.allowUrl?i.allowUrl:i.urlPrefixAllowlist?m(i.urlPrefixAllowlist):i.config?m([i.config.getString("backend.baseUrl")]):()=>!1}function m(i){const d=i.map(y=>y.replace(/\/$/,""));return y=>d.some(p=>y===p||y.startsWith(`${p}/`))}function A(i,d){return!d||d==="/"?i:`${i.replace(/\/$/,"")}/${d.replace(/^\//,"")}`}class f{constructor(d){this.discoveryApi=d}apply(d){return async(y,p)=>{const v=new Request(y,p),T="plugin://";if(!v.url.startsWith(T))return d(y,p);const{hostname:I,pathname:B,search:J,hash:$,username:L,password:M}=new URL(`http://${v.url.substring(T.length)}`);let F=await this.discoveryApi.getBaseUrl(I);if(L||M){const Y=new URL(F),te=`${L}${M?`:${M}`:""}@`;F=`${Y.protocol}//${te}${Y.host}${Y.pathname}`}const x=`${A(F,B)}${J}${$}`;return d(x,typeof y=="string"?p:y)}}}class a{static resolvePluginProtocol(d){return new f(d.discoveryApi)}static injectIdentityAuth(d){return t.create(d)}constructor(){}}},11358:function(X,s,e){"use strict";e.d(s,{Y:function(){return A}});var r=e(98005);function t(f,a){for(const i of a)if(!f.has(i))return!1;return!0}function c(f,...a){const i=new Set(f);for(const d of a)for(const y of d)i.add(y);return i}class m{constructor(){_(this,"requests",[]);_(this,"subject",new r.X(this.getCurrentPending()))}request(a){return new Promise((i,d)=>{this.requests.push({scopes:a,resolve:i,reject:d}),this.subject.next(this.getCurrentPending())})}resolve(a,i){this.requests=this.requests.filter(d=>t(a,d.scopes)?(d.resolve(i),!1):!0),this.subject.next(this.getCurrentPending())}reject(a){this.requests.forEach(i=>i.reject(a)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const a=this.requests.length===0?void 0:this.requests.slice(1).reduce((i,d)=>c(i,d.scopes),this.requests[0].scopes);return{scopes:a,resolve:i=>{a&&this.resolve(a,i)},reject:i=>{a&&this.reject(i)}}}}class A{constructor(){_(this,"subject",new r.X([]));_(this,"currentRequests",[]);_(this,"handlerCount",0)}createAuthRequester(a){const i=new m,d=this.handlerCount;return this.handlerCount++,i.pending().subscribe({next:y=>{const p=this.currentRequests.slice(),v=this.makeAuthRequest(y,a);v?p[d]=v:delete p[d],this.currentRequests=p,this.subject.next(p.filter(Boolean))}}),y=>i.request(y)}makeAuthRequest(a,i){const{scopes:d}=a;if(!!d)return{provider:i.provider,trigger:async()=>{const y=await i.onAuthRequest(d);a.resolve(y)},reject:()=>{const y=new Error("Login failed, rejected by user");y.name="RejectedError",a.reject(y)}}}authRequest$(){return this.subject}}},56054:function(X,s,e){"use strict";e.d(s,{C:function(){return m}});var r=e(82394),t=e.n(r);const c=new Map;class m{constructor(f,a){_(this,"subscribers",new Set);_(this,"observable",new(t())(f=>(this.subscribers.add(f),()=>{this.subscribers.delete(f)})));this.namespace=f,this.errorApi=a}static create(f){var a;return new m((a=f.namespace)!=null?a:"",f.errorApi)}get(f){return this.snapshot(f).value}snapshot(f){let a,i="absent";try{const d=localStorage.getItem(this.getKeyName(f));d&&(a=JSON.parse(d,(y,p)=>(typeof p=="object"&&p!==null&&Object.freeze(p),p)),i="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${f}`))}return{key:f,value:a,presence:i}}forBucket(f){const a=`${this.namespace}/${f}`;return c.has(a)||c.set(a,new m(a,this.errorApi)),c.get(a)}async set(f,a){localStorage.setItem(this.getKeyName(f),JSON.stringify(a)),this.notifyChanges(f)}async remove(f){localStorage.removeItem(this.getKeyName(f)),this.notifyChanges(f)}observe$(f){return this.observable.filter(({key:a})=>a===f)}getKeyName(f){return`${this.namespace}/${encodeURIComponent(f)}`}notifyChanges(f){const a=this.snapshot(f);for(const i of this.subscribers)i.next(a)}}},59589:function(X,s,e){"use strict";e.d(s,{u:function(){return c}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class c{static create(A){const{discoveryApi:f,environment:a="development",provider:i=t,oauthRequestApi:d}=A;return r.OAuth2.create({discoveryApi:f,oauthRequestApi:d,provider:i,environment:a})}}},6098:function(X,s,e){"use strict";e.d(s,{Z:function(){return c}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class c{static create(A){const{discoveryApi:f,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["team"]}=A;return r.OAuth2.create({discoveryApi:f,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},44431:function(X,s,e){"use strict";e.d(s,{BitbucketAuth:function(){return c.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var c=e(6098)},19347:function(){},44474:function(X,s,e){"use strict";e.d(s,{T:function(){return c}});var r=e(91205);const t={id:"github",title:"GitHub",icon:()=>null};class c{static create(A){const{discoveryApi:f,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["read:user"]}=A;return r.OAuth2.create({discoveryApi:f,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},2922:function(X,s,e){"use strict";e.d(s,{a:function(){return c}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class c{static create(A){const{discoveryApi:f,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["read_user"]}=A;return r.OAuth2.create({discoveryApi:f,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},59938:function(X,s,e){"use strict";e.d(s,{e:function(){return m}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},c="https://www.googleapis.com/auth/";class m{static create(f){const{discoveryApi:a,oauthRequestApi:i,environment:d="development",provider:y=t,defaultScopes:p=["openid",`${c}userinfo.email`,`${c}userinfo.profile`]}=f;return r.OAuth2.create({discoveryApi:a,oauthRequestApi:i,provider:y,environment:d,defaultScopes:p,scopeTransform(v){return v.map(T=>T==="openid"?T:T==="profile"||T==="email"?`${c}userinfo.${T}`:T.startsWith(c)?T:`${c}${T}`)}})}}},91668:function(X,s,e){"use strict";e.d(s,{AtlassianAuth:function(){return y.u},BitbucketAuth:function(){return d.BitbucketAuth},GithubAuth:function(){return r.T},GitlabAuth:function(){return t.a},GoogleAuth:function(){return c.e},MicrosoftAuth:function(){return a._},OktaAuth:function(){return A.s},OneLoginAuth:function(){return i.$}});var r=e(44474),t=e(2922),c=e(59938),m=e(91205);e.o(m,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return m.AlertApiForwarder}}),e.o(m,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return m.AppThemeSelector}}),e.o(m,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return m.AtlassianAuth}}),e.o(m,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return m.BitbucketAuth}}),e.o(m,"ConfigReader")&&e.d(s,{ConfigReader:function(){return m.ConfigReader}}),e.o(m,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return m.ErrorAlerter}}),e.o(m,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return m.ErrorApiForwarder}}),e.o(m,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return m.FetchMiddlewares}}),e.o(m,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return m.FlatRoutes}}),e.o(m,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return m.LocalStorageFeatureFlags}}),e.o(m,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return m.MicrosoftAuth}}),e.o(m,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return m.NoOpAnalyticsApi}}),e.o(m,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return m.OAuthRequestManager}}),e.o(m,"OktaAuth")&&e.d(s,{OktaAuth:function(){return m.OktaAuth}}),e.o(m,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return m.OneLoginAuth}}),e.o(m,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return m.UnhandledErrorForwarder}}),e.o(m,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return m.UrlPatternDiscovery}}),e.o(m,"WebStorage")&&e.d(s,{WebStorage:function(){return m.WebStorage}}),e.o(m,"createFetchApi")&&e.d(s,{createFetchApi:function(){return m.createFetchApi}}),e.o(m,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return m.createSpecializedApp}}),e.o(m,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return m.defaultConfigLoader}});var A=e(26079),f=e(67604),a=e(38482),i=e(58381),d=e(44431);e.o(d,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"ConfigReader")&&e.d(s,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(s,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(s,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return d.createSpecializedApp}}),e.o(d,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return d.defaultConfigLoader}});var y=e(59589)},38482:function(X,s,e){"use strict";e.d(s,{_:function(){return c}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class c{static create(A){const{environment:f="development",provider:a=t,oauthRequestApi:i,discoveryApi:d,defaultScopes:y=["openid","offline_access","profile","email","User.Read"]}=A;return r.OAuth2.create({discoveryApi:d,oauthRequestApi:i,provider:a,environment:f,defaultScopes:y})}}},73124:function(X,s,e){"use strict";e.d(s,{Z:function(){return f}});function r(a){return new Promise((i,d)=>{const y=a.width||500,p=a.height||700,v=window.screen.width/2-y/2,T=window.screen.height/2-p/2,I=window.open(a.url,a.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${y},height=${p},top=${T},left=${v}`);let B="";if(!I||typeof I.closed=="undefined"||I.closed){const M=new Error("Failed to open auth popup.");M.name="PopupRejectedError",d(M);return}const J=M=>{if(M.source!==I||M.origin!==a.origin)return;const{data:F}=M;if(F.type==="config_info"){B=F.targetOrigin;return}if(F.type!=="authorization_response")return;const x=F;if("error"in x){const Y=new Error(x.error.message);Y.name=x.error.name,d(Y)}else i(x.response);L()},$=setInterval(()=>{if(I.closed){const M=`Login failed, ${B&&B!==window.location.origin?`Incorrect app origin, expected ${B}`:"popup was closed"}`,F=new Error(M);F.name="PopupClosedError",d(F),L()}},100);function L(){window.removeEventListener("message",J),clearInterval($)}window.addEventListener("message",J)})}function t(a){return[...a].join(" ")}class c{constructor(i){_(this,"discoveryApi");_(this,"environment");_(this,"provider");_(this,"joinScopesFunc");_(this,"authRequester");_(this,"sessionTransform");const{discoveryApi:d,environment:y,provider:p,joinScopes:v=t,oauthRequestApi:T,sessionTransform:I=B=>B}=i;this.authRequester=T.createAuthRequester({provider:p,onAuthRequest:B=>this.showPopup(B)}),this.discoveryApi=d,this.environment=y,this.provider=p,this.joinScopesFunc=v,this.sessionTransform=I}async createSession(i){return i.instantPopup?this.showPopup(i.scopes):this.authRequester(i.scopes)}async refreshSession(){const i=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(y=>{throw new Error(`Auth refresh request failed, ${y}`)});if(!i.ok){const y=new Error(`Auth refresh request failed, ${i.statusText}`);throw y.status=i.status,y}const d=await i.json();if(d.error){const y=new Error(d.error.message);throw d.error.name&&(y.name=d.error.name),y}return await this.sessionTransform(d)}async removeSession(){const i=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(d=>{throw new Error(`Logout request failed, ${d}`)});if(!i.ok){const d=new Error(`Logout request failed, ${i.statusText}`);throw d.status=i.status,d}}async showPopup(i){const d=this.joinScopesFunc(i),y=await this.buildUrl("/start",{scope:d,origin:location.origin}),p=await r({url:y,name:`${this.provider.title} Login`,origin:new URL(y).origin,width:450,height:730});return await this.sessionTransform(p)}async buildUrl(i,d){const y=await this.discoveryApi.getBaseUrl("auth"),p=this.buildQueryString({...d,env:this.environment});return`${y}/${this.provider.id}${i}${p}`}buildQueryString(i){if(!i)return"";const d=Object.entries(i).map(([y,p])=>{if(typeof p=="string")return`${encodeURIComponent(y)}=${encodeURIComponent(p)}`;if(p)return encodeURIComponent(y)}).filter(Boolean).join("&");return d?`?${d}`:""}}var m=e(57018);const A={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class f{constructor(i){_(this,"sessionManager");_(this,"scopeTransform");this.sessionManager=i.sessionManager,this.scopeTransform=i.scopeTransform}static create(i){const{discoveryApi:d,environment:y="development",provider:p=A,oauthRequestApi:v,defaultScopes:T=[],scopeTransform:I=$=>$}=i,B=new c({discoveryApi:d,environment:y,provider:p,oauthRequestApi:v,sessionTransform($){return{...$,providerInfo:{idToken:$.providerInfo.idToken,accessToken:$.providerInfo.accessToken,scopes:f.normalizeScopes(I,$.providerInfo.scope),expiresAt:new Date(Date.now()+$.providerInfo.expiresInSeconds*1e3)}}}}),J=new m.RefreshingAuthSessionManager({connector:B,defaultScopes:new Set(T),sessionScopes:$=>$.providerInfo.scopes,sessionShouldRefresh:$=>($.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new f({sessionManager:J,scopeTransform:I})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(i,d){var v;const y=f.normalizeScopes(this.scopeTransform,i),p=await this.sessionManager.getSession({...d,scopes:y});return(v=p==null?void 0:p.providerInfo.accessToken)!=null?v:""}async getIdToken(i={}){var y;const d=await this.sessionManager.getSession(i);return(y=d==null?void 0:d.providerInfo.idToken)!=null?y:""}async getBackstageIdentity(i={}){const d=await this.sessionManager.getSession(i);return d==null?void 0:d.backstageIdentity}async getProfile(i={}){const d=await this.sessionManager.getSession(i);return d==null?void 0:d.profile}static normalizeScopes(i,d){if(!d)return new Set;const y=Array.isArray(d)?d:d.split(/[\s|,]/).filter(Boolean);return new Set(i(y))}}},91205:function(X,s,e){"use strict";e.d(s,{OAuth2:function(){return r.Z}});var r=e(73124),t=e(5973),c=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(s,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(s,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(s,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},5973:function(){},26079:function(X,s,e){"use strict";e.d(s,{s:function(){return A}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},c=new Set(["openid","profile","email","phone","address","groups","offline_access"]),m="okta.";class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=t,oauthRequestApi:p,defaultScopes:v=["openid","email","profile","offline_access"]}=a;return r.OAuth2.create({discoveryApi:i,oauthRequestApi:p,provider:y,environment:d,defaultScopes:v,scopeTransform(T){return T.map(I=>c.has(I)||I.startsWith(m)?I:`${m}${I}`)}})}}},58381:function(X,s,e){"use strict";e.d(s,{$:function(){return A}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},c=new Set(["openid","profile","email","phone","address","groups","offline_access"]),m="onelogin.";class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=t,oauthRequestApi:p}=a;return r.OAuth2.create({discoveryApi:i,oauthRequestApi:p,provider:y,environment:d,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(v){return v.map(T=>c.has(T)||T.startsWith(m)?T:`${m}${T}`)}})}}},67604:function(X,s,e){"use strict";var r=e(57018),t=e(30195);const c=t.z.object({profile:t.z.object({email:t.z.string().optional(),displayName:t.z.string().optional(),picture:t.z.string().optional()}),backstageIdentity:t.z.object({id:t.z.string(),token:t.z.string(),identity:t.z.object({type:t.z.literal("user"),userEntityRef:t.z.string(),ownershipEntityRefs:t.z.array(t.z.string())})})}),m={id:"saml",title:"SAML",icon:()=>null};class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=m}=a,p=new DirectAuthConnector({discoveryApi:i,environment:d,provider:y}),v=new StaticAuthSessionManager({connector:p}),T=new AuthSessionStore({manager:v,storageKey:`${y.id}Session`,schema:samlSessionSchema});return new A(T)}sessionState$(){return this.sessionManager.sessionState$()}constructor(a){this.sessionManager=a}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(a={}){const i=await this.sessionManager.getSession(a);return i==null?void 0:i.backstageIdentity}async getProfile(a={}){const i=await this.sessionManager.getSession(a);return i==null?void 0:i.profile}}},91631:function(X,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return t.C},AppThemeSelector:function(){return m.C},AtlassianAuth:function(){return r.AtlassianAuth},ConfigReader:function(){return A.m},ErrorAlerter:function(){return a.KN},ErrorApiForwarder:function(){return a.gr},FetchMiddlewares:function(){return d.I},GithubAuth:function(){return r.GithubAuth},GitlabAuth:function(){return r.GitlabAuth},GoogleAuth:function(){return r.GoogleAuth},LocalStorageFeatureFlags:function(){return i.b},MicrosoftAuth:function(){return r.MicrosoftAuth},NoOpAnalyticsApi:function(){return c.g},OAuthRequestManager:function(){return y.Y},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},UnhandledErrorForwarder:function(){return a.Jv},UrlPatternDiscovery:function(){return f.p},WebStorage:function(){return p.C},createFetchApi:function(){return d.j}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(23235),c=e(47150),m=e(58652),A=e(14721),f=e(4333),a=e(89536),i=e(14884),d=e(50160),y=e(11358),p=e(56054)},56494:function(X,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return t.AlertApiForwarder},ApiProvider:function(){return r.ApiProvider},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(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(s,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(s,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(s,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},80396:function(X,s,e){"use strict";e.d(s,{p:function(){return t}});var r;(function(c){c[c.default=10]="default";const m=50;c[c.app=m]="app",c[c.static=100]="static"})(r||(r={}));class t{constructor(){_(this,"factories",new Map)}register(m,A){const f=r[m],a=this.factories.get(A.api.id);return a&&a.priority>=f?!1:(this.factories.set(A.api.id,{priority:f,factory:A}),!0)}get(m){const A=this.factories.get(m.id);if(!!A)return A.factory}getAllApis(){const m=new Set;for(const{factory:A}of this.factories.values())m.add(A.api);return m}}},14406:function(X,s,e){"use strict";e.d(s,{g:function(){return a}});var r=e(2784),t=e(13980),c=e.n(t);class m{constructor(...d){_(this,"holders");this.holders=d}get(d){for(const y of this.holders){const p=y.get(d);if(p)return p}}}var A=e(76241);const f=(0,A.CT)("api-context"),a=i=>{var T;const{apis:d,children:y}=i,p=(T=(0,r.useContext)(f))==null?void 0:T.atVersion(1),v=p?new m(d,p):d;return r.createElement(f.Provider,{value:(0,A.EI)({1:v}),children:y})};a.propTypes={apis:c().shape({get:c().func.isRequired}).isRequired,children:c().node}},12132:function(X,s,e){"use strict";e.d(s,{M:function(){return r}});class r{constructor(c){_(this,"apis",new Map);this.factories=c}static validateFactories(c,m){for(const A of m){const f=[A],a=new Set;for(;f.length;){const i=f.shift(),d=c.get(i);if(!!d)for(const y of Object.values(d.deps)){if(y.id===A.id)throw new Error(`Circular dependency of api factory for ${A}`);a.has(y)||(a.add(y),f.push(y))}}}}get(c){return this.load(c)}load(c,m=[]){const A=this.apis.get(c.id);if(A)return A;const f=this.factories.get(c);if(!f)return;if(m.includes(f.api))throw new Error(`Circular dependency of api factory for ${f.api}`);const a=this.loadDeps(c,f.deps,[...m,f.api]),i=f.factory(a);return this.apis.set(c.id,i),i}loadDeps(c,m,A){const f={};for(const a in m)if(m.hasOwnProperty(a)){const i=m[a],d=this.load(i,A);if(!d)throw new Error(`No API factory available for dependency ${i} of dependent ${c}`);f[a]=d}return f}}},76105:function(X,s,e){"use strict";e.d(s,{ApiFactoryRegistry:function(){return c.p},ApiProvider:function(){return r.g},ApiResolver:function(){return t.M}});var r=e(14406),t=e(12132),c=e(80396),m=e(82488),A=e.n(m);e.o(m,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return m.AlertApiForwarder}}),e.o(m,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return m.AppThemeSelector}}),e.o(m,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return m.AtlassianAuth}}),e.o(m,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return m.BitbucketAuth}}),e.o(m,"ConfigReader")&&e.d(s,{ConfigReader:function(){return m.ConfigReader}}),e.o(m,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return m.ErrorAlerter}}),e.o(m,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return m.ErrorApiForwarder}}),e.o(m,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return m.FetchMiddlewares}}),e.o(m,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return m.FlatRoutes}}),e.o(m,"GithubAuth")&&e.d(s,{GithubAuth:function(){return m.GithubAuth}}),e.o(m,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return m.GitlabAuth}}),e.o(m,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return m.GoogleAuth}}),e.o(m,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return m.LocalStorageFeatureFlags}}),e.o(m,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return m.MicrosoftAuth}}),e.o(m,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return m.NoOpAnalyticsApi}}),e.o(m,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return m.OAuthRequestManager}}),e.o(m,"OktaAuth")&&e.d(s,{OktaAuth:function(){return m.OktaAuth}}),e.o(m,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return m.OneLoginAuth}}),e.o(m,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return m.UnhandledErrorForwarder}}),e.o(m,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return m.UrlPatternDiscovery}}),e.o(m,"WebStorage")&&e.d(s,{WebStorage:function(){return m.WebStorage}}),e.o(m,"createFetchApi")&&e.d(s,{createFetchApi:function(){return m.createFetchApi}}),e.o(m,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return m.createSpecializedApp}}),e.o(m,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return m.defaultConfigLoader}})},82488:function(){},82370:function(X,s,e){"use strict";e.d(s,{b:function(){return Yt}});var r=e(2784),t=e(10289),c=e(64279),m=e(56494),A=e(36964),f=e(76105);function a(ae){const W={};for(const se in ae.collectors)ae.collectors.hasOwnProperty(se)&&(W[se]=ae.collectors[se]());const re=[{node:r.Children.toArray(ae.root),parent:void 0,contexts:{}}];for(;re.length!==0;){const{node:se,parent:fe,contexts:Ce}=re.shift();r.Children.forEach(se,De=>{if(!(0,r.isValidElement)(De))return;const be={};for(const et in W)if(W.hasOwnProperty(et)){const dt=W[et];be[et]=dt.visit(dt.accumulator,De,fe,Ce[et])}for(const et of ae.discoverers){const dt=et(De);dt&&re.push({node:dt,parent:De,contexts:be})}})}return Object.fromEntries(Object.entries(W).map(([se,fe])=>[se,fe.accumulator]))}function i(ae,W){return()=>({accumulator:ae(),visit:W})}function d(ae){var W;return(W=ae.props)==null?void 0:W.children}function y(ae){var W,re,se;if(((W=ae.props)==null?void 0:W.path)&&((re=ae.props)==null?void 0:re.element))return(se=ae.props)==null?void 0:se.element}const p=i(()=>new Set,(ae,W)=>{const re=(0,A.getComponentData)(W,"core.plugin");re&&ae.add(re)});var v=e(88934);const T={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},I=i(()=>({paths:new Map,parents:new Map,objects:new Array}),(ae,W,re,se)=>{var _t,ie,ce,K,ye;if((re==null?void 0:re.props.element)===W)return se;let fe=se==null?void 0:se.obj,Ce=se==null?void 0:se.routeRef,De=se==null?void 0:se.sticky;const be=(_t=W.props)==null?void 0:_t.path,et=(ie=fe==null?void 0:fe.children)!=null?ie:ae.objects,dt=Boolean((ce=W.props)==null?void 0:ce.caseSensitive);let Ut=se==null?void 0:se.path;if((0,A.getComponentData)(W,"core.gatherMountPoints")){if(!be)throw new Error("Mount point gatherer must have a path");Ut=be}const Dt=(K=W.props)==null?void 0:K.element;let ut=(0,A.getComponentData)(W,"core.mountPoint");if(!ut&&(0,r.isValidElement)(Dt)&&(ut=(0,A.getComponentData)(Dt,"core.mountPoint")),ut){let ee=be;if(Ut&&(ee?Ut=void 0:ee=Ut),!ee)throw new Error("Mounted routable extension must have a path");ae.paths.set(ut,ee),Ce&&De?(ae.parents.set(ut,Ce),be&&(Ce=ut,De=!1)):(ae.parents.set(ut,Ce),Ce=ut),be?(fe={caseSensitive:dt,path:be,element:"mounted",routeRefs:new Set([ut]),children:[T],plugin:(0,A.getComponentData)(W.props.element,"core.plugin")},et.push(fe)):fe==null||fe.routeRefs.add(ut)}if((0,A.getComponentData)(W,"core.gatherMountPoints")&&(De=!0),(0,A.getComponentData)(W,"core.gatherMountPoints")){if(!be)throw new Error("Mount point gatherer must have a path");ut||(fe={caseSensitive:dt,path:be,element:"gathered",routeRefs:new Set,children:[T],plugin:(ye=se==null?void 0:se.obj)==null?void 0:ye.plugin},et.push(fe))}return{obj:fe,path:Ut,routeRef:Ce,sticky:De}}),B=i(()=>new Set,(ae,W)=>{if(W.type===v.L){const re=W.props;ae.add("with"in re?re.with:re.without)}});var J=e(76241);const $=(0,J.uW)("route-ref-type",()=>Symbol("route-ref-type"));function L(ae){return ae[$]==="absolute"}function M(ae){return ae[$]==="sub"}function F(ae){return ae[$]==="external"}function x(...ae){const W=ae.join("/").replace(/\/\/+/g,"/");return W!=="/"&&W.endsWith("/")?W.slice(0,-1):W}function Y(ae,W,re){let se,fe="";if(L(ae))se=ae;else if(M(ae))se=ae.parent,fe=ae.path;else if(F(ae)){const be=re.get(ae);if(!be)return[void 0,""];if(L(be))se=be;else if(M(be))se=be.parent,fe=be.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${be}`)}else throw ae[$]?new Error(`Unknown or invalid route ref type, ${ae[$]}`):new Error(`Unknown object passed to useRouteRef, got ${ae}`);if(!se)return[void 0,""];const Ce=W.get(se);if(!Ce)return[void 0,""];const De=x(Ce,fe);return[se,De]}function te(ae,W,re,se,fe){var Ut;const Ce=(Ut=(0,t.fp)(fe,W))!=null?Ut:[],De=Array();let be=-1;for(let Dt=ae;Dt&&(be=Ce.findIndex(ut=>ut.route.routeRefs.has(Dt)),be===-1);Dt=se.get(Dt))De.unshift(Dt);De.length===0&&(be-=1);const et=be===-1?"":Ce[be].pathname,dt=x(...De.slice(0,-1).map(Dt=>{const ut=re.get(Dt);if(!ut)throw new Error(`No path for ${Dt}`);if(ut.includes(":"))throw new Error(`Cannot route to ${ae} with parent ${Dt} as it has parameters`);return ut}));return et+dt}class ge{constructor(W,re,se,fe,Ce){this.routePaths=W,this.routeParents=re,this.routeObjects=se,this.routeBindings=fe,this.appBasePath=Ce}resolve(W,re){const[se,fe]=Y(W,this.routePaths,this.routeBindings);if(!se)return;let Ce;typeof re=="string"?Ce=this.trimPath(re):re.pathname?Ce={...re,pathname:this.trimPath(re.pathname)}:Ce=re;const De=this.appBasePath+te(se,Ce,this.routePaths,this.routeParents,this.routeObjects);return(...[et])=>De+(0,t.Gn)(fe,et)}trimPath(W){return W&&(W.startsWith(this.appBasePath)?W.slice(this.appBasePath.length):W)}}const Ve=(0,J.CT)("routing-context"),He=({routePaths:ae,routeParents:W,routeObjects:re,routeBindings:se,basePath:fe="",children:Ce})=>{const De=new ge(ae,W,re,se,fe),be=(0,J.EI)({1:De});return r.createElement(Ve.Provider,{value:be},Ce)},pe=(ae,W)=>{var re,se;try{const fe=(0,t.fp)(W,{pathname:ae}),Ce=(re=fe==null?void 0:fe.filter(be=>{var et;return((et=be==null?void 0:be.route.routeRefs)==null?void 0:et.size)>0}).pop())==null?void 0:re.route;if(!Ce)return{};let De;return Ce.routeRefs.size===1&&(De=Ce.routeRefs.values().next().value),{extension:"App",pluginId:((se=Ce.plugin)==null?void 0:se.getId())||"root",...De?{routeRef:De.id}:{}}}catch{return{}}},Ye=({pathname:ae,search:W,hash:re})=>{const se=(0,A.useAnalytics)();return(0,r.useEffect)(()=>{se.captureEvent("navigate",`${ae}${W}${re}`)},[se,ae,W,re]),null},Ee=({routeObjects:ae})=>{const{pathname:W,search:re,hash:se}=(0,t.TH)();return r.createElement(A.AnalyticsContext,{attributes:pe(W,ae)},r.createElement(Ye,{pathname:W,search:re,hash:se}))};function Le(ae,W){const re=new Set(W.values());re.delete(void 0);for(const se of W.keys()){if(re.has(se))continue;let fe=se,Ce="";for(;fe;){const be=ae.get(fe);if(!be)throw new Error(`No path for ${fe}`);Ce=`${be}${Ce}`,fe=W.get(fe)}const De=Ce.match(/:(\w+)/g);if(De){for(let be=0;be<De.length;be++)for(let et=be+1;et<De.length;et++)if(De[et]===De[be])throw new Error(`Parameter ${De[et]} is duplicated in path ${Ce}`)}}}function Ge(ae,W){for(const re of W)if(!!re.externalRoutes){for(const[se,fe]of Object.entries(re.externalRoutes))if(!fe.optional&&!ae.has(fe))throw new Error(`External route '${se}' of the '${re.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const qe=(0,J.CT)("app-context"),Ke=({appContext:ae,children:W})=>{const re=(0,J.EI)({1:ae});return r.createElement(qe.Provider,{value:re,children:W})};function me(ae){return new Error(`Tried to access IdentityApi ${ae} before app was loaded`)}function xe(ae){console.warn(`WARNING: Call to ${ae} is deprecated and will break in the future`)}class Me{constructor(){_(this,"target");_(this,"waitForTarget");_(this,"resolveTarget",()=>{});this.waitForTarget=new Promise(W=>{this.resolveTarget=W})}setTarget(W){this.target=W,this.resolveTarget(W)}getUserId(){if(!this.target)throw me("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return xe("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw me("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return xe("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(W=>W.getProfileInfo())}async getBackstageIdentity(){const W=await this.waitForTarget.then(re=>re.getBackstageIdentity());return W.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${W.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),W}async getCredentials(){return this.waitForTarget.then(W=>W.getCredentials())}async getIdToken(){return this.waitForTarget.then(W=>{if(!W.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return xe("getIdToken"),W.getIdToken()})}async signOut(){await this.waitForTarget.then(W=>W.signOut()),location.reload()}}var We=e(72164);function rt(ae,W,re){if(ae!==void 0){const fe=re.find(Ce=>Ce.id===ae);if(fe)return fe}if(W){const fe=re.find(Ce=>Ce.variant==="dark");if(fe)return fe}const se=re.find(fe=>fe.variant==="light");return se||re[0]}const Et=()=>{const ae=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[W,re]=(0,r.useState)(ae.matches);return(0,r.useEffect)(()=>{const se=fe=>{re(fe.matches)};return ae.addListener(se),()=>{ae.removeListener(se)}},[ae]),W};function at({children:ae}){const W=(0,A.useApi)(A.appThemeApiRef),re=(0,We.Z)(W.activeThemeId$(),W.getActiveThemeId()),se=Boolean(window.matchMedia)?Et():!1,fe=rt(re,se,W.getInstalledThemes());if(!fe)throw new Error("App has no themes");return r.createElement(fe.Provider,{children:ae})}var _e=e(46611);class ft{constructor(){_(this,"apis",[])}add(W,re){return this.apis.push([W.id,re]),re}build(){return new ke(new Map(this.apis))}}class ke{static builder(){return new ft}static from(W){return new ke(new Map(W.map(([re,se])=>[re.id,se])))}static with(W,re){return new ke(new Map([[W.id,re]]))}constructor(W){this.apis=W}with(W,re){return new ke(new Map([...this.apis,[W.id,re]]))}get(W){return this.apis.get(W.id)}}function xt(ae){const W=new Map;return ae&&ae({bind:(se,fe)=>{for(const[Ce,De]of Object.entries(fe)){const be=se[Ce];if(!be)throw new Error(`Key ${Ce} is not an existing external route`);if(!De&&!be.optional)throw new Error(`External route ${Ce} is required but was undefined`);De&&W.set(be,De)}}}),W}const bt=(0,r.createContext)({routeObjects:[]});function ct(ae){var re;let{pathname:W}=new URL((re=ae.getOptionalString("app.baseUrl"))!=null?re:"/","http://dummy.dev");return W=W.replace(/\/*$/,""),W}function on(ae,W,re){var et;const se=Boolean(ae),fe=(0,c.default)(ae||(()=>Promise.resolve([])));let Ce;if(se&&fe.loading){const{Progress:dt}=W;Ce=r.createElement(dt,null)}else if(fe.error){const{BootErrorPage:dt}=W;Ce=r.createElement(dt,{step:"load-config",error:fe.error})}const{ThemeProvider:De=at}=W;return Ce?{node:r.createElement(m.ApiProvider,{apis:ke.with(A.appThemeApiRef,re)},r.createElement(De,null,Ce))}:{api:m.ConfigReader.fromConfigs((et=fe.value)!=null?et:[])}}class Nt{constructor(W){this.app=W}getPlugins(){return this.app.getPlugins()}getSystemIcon(W){return this.app.getSystemIcon(W)}getComponents(){return this.app.getComponents()}}class gt{constructor(W){_(this,"apiHolder");_(this,"configApi");_(this,"apis");_(this,"icons");_(this,"plugins");_(this,"components");_(this,"themes");_(this,"configLoader");_(this,"defaultApis");_(this,"bindRoutes");_(this,"appIdentityProxy",new Me);_(this,"apiFactoryRegistry");var re,se,fe,Ce;this.apis=(re=W.apis)!=null?re:[],this.icons=W.icons,this.plugins=new Set((se=W.plugins)!=null?se:[]),this.components=W.components,this.themes=W.themes,this.configLoader=(fe=W.configLoader)!=null?fe:_e.t,this.defaultApis=(Ce=W.defaultApis)!=null?Ce:[],this.bindRoutes=W.bindRoutes,this.apiFactoryRegistry=new f.ApiFactoryRegistry}getPlugins(){return Array.from(this.plugins)}getSystemIcon(W){return this.icons[W]}getComponents(){return this.components}getProvider(){const W=new Nt(this);let re=!1;return({children:fe})=>{const Ce=(0,r.useMemo)(()=>m.AppThemeSelector.createWithStorage(this.themes),[]),{routing:De,featureFlags:be,routeBindings:et}=(0,r.useMemo)(()=>{const ut=a({root:fe,discoverers:[d,y],collectors:{routing:I,collectedPlugins:p,featureFlags:B}});return ut.collectedPlugins.forEach(Pt=>this.plugins.add(Pt)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...ut,routeBindings:xt(this.bindRoutes)}},[fe]);re||(re=!0,Le(De.paths,De.parents),Ge(et,this.plugins));const dt=on(this.configLoader,this.components,Ce),Ut="api"in dt;if(Ut){const{api:ut}=dt;this.configApi=ut}if((0,r.useEffect)(()=>{if(Ut){const ut=this.getApiHolder().get(A.featureFlagsApiRef);for(const Pt of this.plugins.values())if("getFeatureFlags"in Pt)for(const _t of Pt.getFeatureFlags())ut.registerFlag({name:_t.name,pluginId:Pt.getId()});else for(const _t of Pt.output())_t.type==="feature-flag"&&ut.registerFlag({name:_t.name,pluginId:Pt.getId()});for(const Pt of be)ut.registerFlag({name:Pt,pluginId:""})}},[Ut,dt,be]),"node"in dt)return dt.node;const{ThemeProvider:Dt=at}=this.components;return r.createElement(m.ApiProvider,{apis:this.getApiHolder()},r.createElement(Ke,{appContext:W},r.createElement(Dt,null,r.createElement(He,{routePaths:De.paths,routeParents:De.parents,routeObjects:De.objects,routeBindings:et,basePath:ct(dt.api)},r.createElement(bt.Provider,{value:{routeObjects:De.objects}},fe)))))}}getRouter(){const{Router:W,SignInPage:re}=this.components,se=({component:Ce,children:De})=>{const[be,et]=(0,r.useState)();return be?(this.appIdentityProxy.setTarget(be),De):r.createElement(Ce,{onSignInSuccess:et})};return({children:Ce})=>{const De=(0,A.useApi)(A.configApiRef),be=`${ct(De)}/*`,{routeObjects:et}=(0,r.useContext)(bt);return re?r.createElement(W,null,r.createElement(Ee,{routeObjects:et}),r.createElement(se,{component:re},r.createElement(t.Z5,null,r.createElement(t.AW,{path:be,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(W,null,r.createElement(Ee,{routeObjects:et}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:be,element:r.createElement(r.Fragment,null,Ce)}))))}}getApiHolder(){if(this.apiHolder){for(const W of this.plugins)for(const re of W.getApis())this.apiFactoryRegistry.get(re.api)||this.apiFactoryRegistry.register("default",re);return f.ApiResolver.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:A.appThemeApiRef,deps:{},factory:()=>m.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:A.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:A.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:A.featureFlagsApiRef,deps:{},factory:()=>new m.LocalStorageFeatureFlags});for(const W of this.defaultApis)this.apiFactoryRegistry.register("default",W);for(const W of this.plugins)for(const re of W.getApis())if(!this.apiFactoryRegistry.register("default",re))throw new Error(`Plugin ${W.getId()} tried to register duplicate or forbidden API factory for ${re.api}`);for(const W of this.apis)if(!this.apiFactoryRegistry.register("app",W))throw new Error(`Duplicate or forbidden API factory for ${W.api} in app`);return f.ApiResolver.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new f.ApiResolver(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(W){const re=new Set;for(const se of W){const fe=se.getId();if(re.has(fe))throw new Error(`Duplicate plugin found '${fe}'`);re.add(fe)}}}function Yt(ae){return new gt(ae)}},46611:function(X,s,e){"use strict";e.d(s,{t:function(){return r}});const r=async(t="__APP_INJECTED_RUNTIME_CONFIG__")=>{const c=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}}}];if(!c)throw new Error("No static configuration provided");if(!Array.isArray(c))throw new Error("Static configuration has invalid format");const m=c.slice();if(t!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const f=JSON.parse(t);Array.isArray(f)?m.push(...f):m.push({data:f,context:"env"})}catch(f){throw new Error(`Failed to load runtime configuration, ${f}`)}const A=window.__APP_CONFIG__;return A&&m.push({context:"window",data:A}),m}},44056:function(X,s,e){"use strict";e.d(s,{createSpecializedApp:function(){return r.b},defaultConfigLoader:function(){return t.t}});var r=e(82370),t=e(46611),c=e(73495),m=e.n(c);e.o(c,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return c.AtlassianAuth}}),e.o(c,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return c.BitbucketAuth}}),e.o(c,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return c.FlatRoutes}}),e.o(c,"GithubAuth")&&e.d(s,{GithubAuth:function(){return c.GithubAuth}}),e.o(c,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return c.GitlabAuth}}),e.o(c,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return c.GoogleAuth}}),e.o(c,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return c.MicrosoftAuth}}),e.o(c,"OktaAuth")&&e.d(s,{OktaAuth:function(){return c.OktaAuth}}),e.o(c,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return c.OneLoginAuth}})},73495:function(){},49208:function(X,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},FlatRoutes:function(){return c.w},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.createSpecializedApp},defaultConfigLoader:function(){return t.defaultConfigLoader}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(s,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OktaAuth")&&e.d(s,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(s,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}});var c=e(63938)},57018:function(X,s,e){"use strict";e.d(s,{RefreshingAuthSessionManager:function(){return f}});function r(i,d){for(const y of d)if(!i.has(y))return!1;return!0}class t{constructor(d){this.options=d}sessionExistsAndHasScope(d,y){if(!d)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const p=this.options.sessionScopes(d);return r(p,y)}getExtendedScope(d,y){const p=new Set(this.options.defaultScopes);if(d&&this.options.sessionScopes!==void 0){const v=this.options.sessionScopes(d);for(const T of v)p.add(T)}if(y)for(const v of y)p.add(v);return p}}var c=e(98005),m=e(36964);class A{constructor(){_(this,"subject",new c.X(m.SessionState.SignedOut));_(this,"signedIn",!1)}setIsSignedIn(d){this.signedIn!==d&&(this.signedIn=d,this.subject.next(this.signedIn?m.SessionState.SignedIn:m.SessionState.SignedOut))}sessionState$(){return this.subject}}class f{constructor(d){_(this,"connector");_(this,"helper");_(this,"sessionScopesFunc");_(this,"sessionShouldRefreshFunc");_(this,"stateTracker",new A);_(this,"refreshPromise");_(this,"currentSession");const{connector:y,defaultScopes:p=new Set,sessionScopes:v,sessionShouldRefresh:T}=d;this.connector=y,this.sessionScopesFunc=v,this.sessionShouldRefreshFunc=T,this.helper=new t({sessionScopes:v,defaultScopes:p})}async getSession(d){if(this.helper.sessionExistsAndHasScope(this.currentSession,d.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const p=await this.collapsedSessionRefresh(),v=this.sessionScopesFunc(this.currentSession),T=this.sessionScopesFunc(p);return r(T,v)&&(this.currentSession=p),p}catch(p){if(d.optional)return;throw p}}if(!this.currentSession&&!d.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(d)}catch{}if(!d.optional)return this.currentSession=await this.connector.createSession({...d,scopes:this.helper.getExtendedScope(this.currentSession,d.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 d=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),d}finally{delete this.refreshPromise}}}class a{constructor(d){_(this,"connector");_(this,"helper");_(this,"stateTracker",new SessionStateTracker);_(this,"currentSession");const{connector:y,defaultScopes:p=new Set,sessionScopes:v}=d;this.connector=y,this.helper=new SessionScopeHelper({sessionScopes:v,defaultScopes:p})}setSession(d){this.currentSession=d,this.stateTracker.setIsSignedIn(Boolean(d))}async getSession(d){if(this.helper.sessionExistsAndHasScope(this.currentSession,d.scopes))return this.currentSession;if(!d.optional)return this.currentSession=await this.connector.createSession({...d,scopes:this.helper.getExtendedScope(this.currentSession,d.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}},98005:function(X,s,e){"use strict";e.d(s,{J:function(){return c},X:function(){return m}});var r=e(82394),t=e.n(r);class c{constructor(){_(this,"isClosed",!1);_(this,"terminatingError");_(this,"observable",new(t())(f=>this.isClosed?(this.terminatingError?f.error(this.terminatingError):f.complete(),()=>{}):(this.subscribers.add(f),()=>{this.subscribers.delete(f)})));_(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(f){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(a=>a.next(f))}error(f){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=f,this.subscribers.forEach(a=>a.error(f))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(f=>f.complete())}subscribe(f,a,i){const d=typeof f=="function"?{next:f,error:a,complete:i}:f;return this.observable.subscribe(d)}}class m{constructor(f){_(this,"isClosed");_(this,"currentValue");_(this,"terminatingError");_(this,"observable");_(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=f,this.terminatingError=void 0,this.observable=new(t())(a=>this.isClosed?(this.terminatingError?a.error(this.terminatingError):a.complete(),()=>{}):(a.next(this.currentValue),this.subscribers.add(a),()=>{this.subscribers.delete(a)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(f){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=f,this.subscribers.forEach(a=>a.next(f))}error(f){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=f,this.subscribers.forEach(a=>a.error(f))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(f=>f.complete())}subscribe(f,a,i){const d=typeof f=="function"?{next:f,error:a,complete:i}:f;return this.observable.subscribe(d)}}},88934:function(X,s,e){"use strict";e.d(s,{L:function(){return c}});var r=e(36964),t=e(2784);const c=m=>{const{children:A}=m,f=(0,r.useApi)(r.featureFlagsApiRef),a="with"in m?f.isActive(m.with):!f.isActive(m.without);return t.createElement(t.Fragment,null,a?A:null)};(0,r.attachComponentData)(c,"core.featureFlagged",!0)},63938:function(X,s,e){"use strict";e.d(s,{w:function(){return m}});var r=e(2784),t=e(10289),c=e(36964);const m=f=>{const a=(0,c.useApp)(),{NotFoundErrorPage:i}=a.getComponents(),d=(0,c.useElementFilter)(f.children,y=>y.getElements().flatMap(p=>{var T;let v=p.props.path;return v===""?[]:(v=(T=v==null?void 0:v.replace(/\/\*$/,""))!=null?T:"/",[{path:v,element:p,children:p.props.children?[{path:v==="/"?"/":"/*",element:p.props.children}]:void 0}])}).sort((p,v)=>v.path.localeCompare(p.path)).map(p=>(p.path=p.path==="/"?"/":`${p.path}/*`,p)));return d.push({element:r.createElement(i,null),path:"/*"}),(0,t.V$)(d)};var A=e(88934)},9118:function(X,s,e){"use strict";e.d(s,{Button:function(){return L},CodeSnippet:function(){return Ye},Content:function(){return Wo},ContentHeader:function(){return _s},CreateButton:function(){return Ge},DependencyGraph:function(){return Pt},DependencyGraphTypes:function(){return r},EmptyState:function(){return Ne},ErrorPage:function(){return oi},ErrorPanel:function(){return On},Header:function(){return Qo},HeaderIconLinkRow:function(){return Ar},HeaderLabel:function(){return hi},HeaderTabs:function(){return Ho},InfoCard:function(){return Yn},ItemCardGrid:function(){return Ri},ItemCardHeader:function(){return Ei},Link:function(){return J},LogViewer:function(){return ur},MissingAnnotationEmptyState:function(){return Rt},OverflowTooltip:function(){return jr},Page:function(){return qo},PageWithHeader:function(){return Ti},Progress:function(){return Pr},ResponseErrorPanel:function(){return Nn},RoutedTabs:function(){return jo},Select:function(){return Ze},Sidebar:function(){return ka},SidebarContext:function(){return wr},SidebarDivider:function(){return cs},SidebarItem:function(){return Zo},SidebarPage:function(){return Ma},SidebarPinStateContext:function(){return yr},SubvalueCell:function(){return Ss},SupportButton:function(){return xa},Table:function(){return js},WarningPanel:function(){return wt},sidebarConfig:function(){return Hn}});var r={};e.r(r),e.d(r,{Nm:function(){return qe},ht:function(){return xe},LJ:function(){return me}});var t=e(2784),c=e(36964),m=e(19928);function A(n){const[o,l]=useState([]),u=useApi(alertApiRef),{anchorOrigin:g={vertical:"top",horizontal:"center"}}=n;if(useEffect(()=>{const w=u.alert$().subscribe(j=>l(z=>z.concat(j)));return()=>{w.unsubscribe()}},[u]),o.length===0)return null;const[E]=o,P=()=>{l(w=>w.filter(j=>j!==E))};return React.createElement(Snackbar,{open:!0,anchorOrigin:g},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:P,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:E.severity},React.createElement("span",null,E.message.toString(),o.length>1&&React.createElement("em",null,` (${o.length-1} older ${pluralize("message",o.length-1)})`))))}var f=e(79692),a=e(12420);const i=(0,f.Z)(n=>(0,a.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function d(n){const{displayName:o,picture:l,customStyles:u}=n,g=i();return React.createElement(MaterialAvatar,{alt:o,src:l,className:g.avatar,style:{backgroundColor:stringToColor(o||l||""),...u}},o&&extractInitials(o))}var y=e(77277),p=e(86689),v=e(62833);const T=(0,f.Z)({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",whiteSpace:"nowrap",height:1,width:1}},{name:"Link"}),I=n=>/^([a-z+.-]+):/.test(n),B=n=>{var o;return n instanceof Array?n.map(B).join(" ").trim():typeof n=="object"&&n?B((o=n==null?void 0:n.props)==null?void 0:o.children):["string","number"].includes(typeof n)?String(n):""},J=t.forwardRef(({onClick:n,noTrack:o,...l},u)=>{const g=T(),E=(0,c.useAnalytics)(),P=String(l.to),w=B(l.children)||P,j=I(P),z=j&&!!/^https?:/.exec(P),oe=Q=>{n==null||n(Q),o||E.captureEvent("click",w,{attributes:{to:P}})};return j?t.createElement(p.Z,{ref:u,href:P,onClick:oe,...z?{target:"_blank",rel:"noopener"}:{},...l},l.children,t.createElement("span",{className:g.visuallyHidden},", Opens in a new window")):t.createElement(p.Z,{ref:u,component:v.rU,onClick:oe,...l})}),$=t.forwardRef((n,o)=>t.createElement(J,{ref:o,...n,color:"initial"})),L=t.forwardRef((n,o)=>t.createElement(y.Z,{ref:o,component:$,...n}));var M=e(60364),F=e(61837),x=e(80030),Y=e(19353),te=e(95074);function ge(n){const{text:o,tooltipDelay:l=1e3,tooltipText:u="Text copied to clipboard"}=n,g=(0,c.useApi)(c.errorApiRef),[E,P]=(0,t.useState)(!1),[{error:w},j]=(0,te.Z)();(0,t.useEffect)(()=>{w&&g.post(w)},[w,g]);const z=oe=>{oe.stopPropagation(),P(!0),j(o)};return t.createElement(t.Fragment,null,t.createElement(x.ZP,{id:"copy-test-tooltip",title:u,placement:"top",leaveDelay:l,onClose:()=>P(!1),open:E},t.createElement(F.Z,{onClick:z},t.createElement(Y.Z,null))))}var Ve=e(83229),He=e(26639),pe=e(39595);function Ye(n){const{text:o,language:l,showLineNumbers:u=!1,highlightedNumbers:g,customStyle:E,showCopyCodeButton:P=!1}=n,w=(0,M.Z)(),j=w.palette.type==="dark"?He.Z:pe.Z,z=w.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(Ve.Z,{customStyle:E,language:l,style:j,showLineNumbers:u,wrapLines:!0,lineNumberStyle:{color:w.palette.textVerySubtle},lineProps:oe=>g!=null&&g.includes(oe)?{style:{backgroundColor:z}}:{}},o),P&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(ge,{text:o})))}var Ee=e(41156),Le=e(88188);function Ge(n){const{title:o,to:l}=n,u=(0,Ee.Z)(g=>g.breakpoints.down("xs"));return l?u?t.createElement(F.Z,{component:v.rU,color:"primary",title:o,size:"small",to:l},t.createElement(Le.Z,null)):t.createElement(y.Z,{component:v.rU,variant:"contained",color:"primary",to:l},o):null}var qe;(function(n){const o="TB";n.TOP_BOTTOM=o;const l="BT";n.BOTTOM_TOP=l;const u="LR";n.LEFT_RIGHT=u;const g="RL";n.RIGHT_LEFT=g})(qe||(qe={}));var Ke;(function(n){const o="UL";n.UP_LEFT=o;const l="UR";n.UP_RIGHT=l;const u="DL";n.DOWN_LEFT=u;const g="DR";n.DOWN_RIGHT=g})(Ke||(Ke={}));var me;(function(n){const o="network-simplex";n.NETWORK_SIMPLEX=o;const l="tight-tree";n.TIGHT_TREE=l;const u="longest-path";n.LONGEST_PATH=u})(me||(me={}));var xe;(function(n){const o="l";n.LEFT=o;const l="r";n.RIGHT=l;const u="c";n.CENTER=u})(xe||(xe={}));var Me=e(13387),We=e(11105),rt=e(97963),Et=e(46506),at=e.n(Et),_e=e(54073),ft=e.n(_e),ke=e(10368);const xt=(0,f.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function bt({node:{id:n}}){const o=xt(),[l,u]=t.useState(0),[g,E]=t.useState(0),P=t.useRef(null);t.useLayoutEffect(()=>{if(P.current){let{height:oe,width:Q}=P.current.getBBox();oe=Math.round(oe),Q=Math.round(Q),(oe!==g||Q!==l)&&(u(Q),E(oe))}},[l,g]);const w=10,j=l+w*2,z=g+w*2;return t.createElement("g",null,t.createElement("rect",{className:o.node,width:j,height:z,rx:10}),t.createElement("text",{ref:P,className:o.text,y:z/2,x:j/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const ct="arrow-marker",on="node",Nt="edge",gt="label",Yt=(0,ke.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),ae=n=>t.createElement(bt,{...n});function W({render:n=ae,setNode:o,node:l}){const{width:u,height:g,x:E=0,y:P=0}=l,w=l,j=Yt(),z=t.useRef(null);return t.useLayoutEffect(()=>{if(z.current){let{height:oe,width:Q}=z.current.getBBox();oe=Math.round(oe),Q=Math.round(Q),(oe!==g||Q!==u)&&o(l.id,{...l,height:oe,width:Q})}},[l,u,g,o]),t.createElement("g",{ref:z,"data-testid":on,className:j.node,transform:`translate(${E-u/2},${P-g/2})`},n({node:w}))}var re=e(55876),se=e(66481),fe=e(19574),Ce=e.n(fe);const De=(0,ke.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function be({edge:{label:n}}){const o=De();return t.createElement("text",{className:o.text,textAnchor:"middle"},n)}const et=(0,ke.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"}),dt=n=>t.createElement(be,{...n}),Ut=re.Z().x(n=>n.x).y(n=>n.y).curve(se.Z);function Dt({render:n=dt,setEdge:o,id:l,edge:u}){const{x:g=0,y:E=0,width:P,height:w,points:j}=u,z=u,oe=et(),Q=t.useRef(null);t.useLayoutEffect(()=>{if(Q.current){let{height:Ae,width:Se}=Q.current.getBBox();Ae=Math.round(Ae),Se=Math.round(Se),(Ae!==w||Se!==P)&&o(l,{...u,height:Ae,width:Se})}},[u,w,P,o,l]);let Re="";if(j){const Ae=j.filter(Se=>Ce()(Se.x)&&Ce()(Se.y));Re=Ut(Ae)||""}return t.createElement(t.Fragment,null,Re&&t.createElement("path",{"data-testid":Nt,className:oe.path,markerEnd:`url(#${ct})`,d:Re}),z.label?t.createElement("g",{ref:Q,"data-testid":gt,className:oe.label,transform:`translate(${g},${E})`},n({edge:z})):null)}const ut="workspace";function Pt(n){var vr,aa;const{edges:o,nodes:l,renderNode:u,direction:g=qe.TOP_BOTTOM,align:E,nodeMargin:P=50,edgeMargin:w=10,rankMargin:j=50,paddingX:z=0,paddingY:oe=0,acyclicer:Q,ranker:Re=me.NETWORK_SIMPLEX,labelPosition:Ae=xe.RIGHT,labelOffset:Se=10,edgeRanks:lt=1,edgeWeight:Ct=1,renderLabel:Vt,defs:qt,zoom:ot="enabled",...Tt}=n,Ot=(0,rt.Z)(),[ln,Jn]=t.useState(100),[Pn,Ur]=t.useState(100),St=t.useRef(new(at()).graphlib.Graph),[Qn,fo]=t.useState(((vr=St.current.graph())==null?void 0:vr.width)||0),[ar,mo]=t.useState(((aa=St.current.graph())==null?void 0:aa.height)||0),[Xr,qr]=t.useState([]),[ho,un]=t.useState([]),Rn=Math.max(Qn,ln),In=Math.max(ar,Pn),sr=t.useMemo(()=>ft()(kt=>{if(!kt)return;const dn=We.Z(kt),Gt=We.Z(kt.getElementById(ut));function Fn(){dn.call(Me.sP().scaleExtent([1,10]).on("zoom",jn=>{jn.transform.x=Math.min(0,Math.max(jn.transform.x,Rn-Rn*jn.transform.k)),jn.transform.y=Math.min(0,Math.max(jn.transform.y,In-In*jn.transform.k)),Gt.attr("transform",jn.transform)}))}ot==="enabled"?Fn():ot==="enable-on-click"&&dn.on("click",()=>Fn());const{width:Bn,height:_r}=kt.getBoundingClientRect();ln!==Bn&&Jn(Bn),Pn!==_r&&Ur(_r)},100),[Pn,ln,Rn,In,ot]),nn=t.useCallback(()=>{const kt=St.current.nodes(),dn=St.current.edges();kt.forEach(Gt=>{l.some(Bn=>Bn.id===Gt)||St.current.removeNode(Gt)}),dn.forEach(Gt=>{o.some(Bn=>Bn.from===Gt.v&&Bn.to===Gt.w)||St.current.removeEdge(Gt.v,Gt.w)}),l.forEach(Gt=>{const Fn=St.current.nodes().find(Bn=>Gt.id===Bn);if(Fn&&St.current.node(Fn)){const{width:Bn,height:_r,x:jn,y:Wi}=St.current.node(Fn);St.current.setNode(Fn,{...Gt,width:Bn,height:_r,x:jn,y:Wi})}else St.current.setNode(Gt.id,{...Gt,width:0,height:0})}),o.forEach(Gt=>{St.current.setEdge(Gt.from,Gt.to,{...Gt,label:Gt.label,width:0,height:0,labelpos:Ae,labeloffset:Se,weight:Ct,minlen:lt})})},[o,l,Ae,Se,Ct,lt]),rn=t.useMemo(()=>ft()(()=>{at().layout(St.current);const{height:kt,width:dn}=St.current.graph(),Gt=Math.max(0,kt||0),Fn=Math.max(0,dn||0);fo(Fn),mo(Gt),qr(St.current.nodes()),un(St.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(St.current.setGraph({rankdir:g,align:E,nodesep:P,edgesep:w,ranksep:j,marginx:z,marginy:oe,acyclicer:Q,ranker:Re}),nn(),rn(),rn.cancel),[Q,E,g,w,z,oe,P,j,Re,nn,rn]);function Er(kt,dn){return St.current.setNode(kt,dn),rn(),St.current}function ir(kt,dn){return St.current.setEdge(kt,dn),rn(),St.current}return t.createElement("svg",{ref:sr,...Tt,width:"100%",height:In,viewBox:`0 0 ${Rn} ${In}`},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:Ot.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),qt),t.createElement("g",{id:ut},t.createElement("svg",{width:Qn,height:ar,y:In/2-ar/2,x:Rn/2-Qn/2,viewBox:`0 0 ${Qn} ${ar}`},ho.map(kt=>{const dn=St.current.edge(kt);return dn?t.createElement(Dt,{key:`${kt.v}-${kt.w}`,id:kt,setEdge:ir,render:Vt,edge:dn}):null}),Xr.map(kt=>{const dn=St.current.node(kt);return dn?t.createElement(W,{key:kt,setNode:Er,render:u,node:dn}):null}))))}var _t=e(72779),ie=e.n(_t);const ce=(0,f.Z)(n=>{var o;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:(o=n.palette.banner.warning)!=null?o:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),K=n=>{var Ae;const{variant:o,message:l,id:u,fixed:g=!1}=n,E=ce(),w=useApi(storageApiRef).forBucket("notifications"),j=(Ae=w.snapshot("dismissedBanners").value)!=null?Ae:[],[z,oe]=useState(new Set(j)),Q=useObservable(w.observe$("dismissedBanners"));useEffect(()=>{var Se;if(Q!=null&&Q.value){const lt=(Se=Q==null?void 0:Q.value)!=null?Se:[];oe(new Set(lt))}},[Q==null?void 0:Q.value]);const Re=()=>{w.set("dismissedBanners",[...z,u])};return React.createElement(Snackbar,{anchorOrigin:g?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!z.has(u),classes:{root:classNames(E.root,!g&&E.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(E.content,E[o]),message:E.message},message:l,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:Re},React.createElement(Close,{className:E.icon}))]}))};var ye=e(60905),ee=e(90436),je=e(86284),k=e(96465),N=e(19133),ne=e(3871);const Pe=(0,f.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),Fe=({missing:n})=>{const o=Pe();switch(n){case"field":return t.createElement("img",{src:je,className:o.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:k,alt:"no Information",className:o.generalImg});case"content":return t.createElement("img",{src:N,alt:"create Component",className:o.generalImg});case"data":return t.createElement("img",{src:ne,alt:"no Build",className:o.generalImg});default:return null}},we=(0,f.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 Ne(n){const{title:o,description:l,missing:u,action:g}=n,E=we();return t.createElement(ye.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:E.root,spacing:2},t.createElement(ye.Z,{item:!0,xs:12,md:6},t.createElement(ye.Z,{container:!0,direction:"column"},t.createElement(ye.Z,{item:!0,xs:!0},t.createElement(ee.Z,{variant:"h5"},o)),t.createElement(ye.Z,{item:!0,xs:!0},t.createElement(ee.Z,{variant:"body1"},l)),t.createElement(ye.Z,{item:!0,xs:!0,className:E.action},g))),t.createElement(ye.Z,{item:!0,xs:12,md:6,className:E.imageContainer},t.createElement(Fe,{missing:u})))}const yt=`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`,Ft=(0,f.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function Rt(n){const{annotation:o}=n,l=Ft(),u=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,o)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(Ne,{missing:"field",title:"Missing Annotation",description:u,action:t.createElement(t.Fragment,null,t.createElement(ee.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:l.code},t.createElement(Ye,{text:yt.replace("ANNOTATION",o),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(y.Z,{color:"primary",component:J,to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"},"Read more"))})}var Wt=e(11776),st=e(38402),It=e(49378),tt=e(41128),Bt=e(27616),en=e(8284),Mt=e(70660),it=e(91750),vt=e(38016);const Ht=(n,o)=>(o.palette.type==="light"?tt._j:tt.$n)(o.palette[n].light,.6),jt=(n,o)=>(o.palette.type==="light"?tt.$n:tt._j)(o.palette[n].light,.9),an=(0,f.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:o})=>Ht(o,n)}})),Zt=({severity:n})=>{const o=an({severity:n});return t.createElement(it.Z,{classes:o})},Kt=({severity:n})=>{const o=an({severity:n});return t.createElement(vt.Z,{classes:o})},Jt=(0,f.Z)(n=>({panel:{backgroundColor:({severity:o})=>jt(o,n),color:({severity:o})=>Ht(o,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:o})=>Ht(o,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:o})=>Ht(o,n),backgroundColor:({severity:o})=>jt(o,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"}),Qt=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function wt(n){const{severity:o="warning",title:l,message:u,children:g,defaultExpanded:E}=n,P=Jt({severity:o}),w=Qt(o)+(l?`: ${l}`:"");return t.createElement(Bt.Z,{defaultExpanded:E!=null?E:!1,className:P.panel,role:"alert"},t.createElement(en.Z,{expandIcon:t.createElement(Kt,{severity:o}),className:P.summary},t.createElement(Zt,{severity:o}),t.createElement(ee.Z,{className:P.summaryText,variant:"subtitle1"},w)),(u||g)&&t.createElement(Mt.Z,null,t.createElement(ye.Z,{container:!0},u&&t.createElement(ye.Z,{item:!0,xs:12},t.createElement(ee.Z,{className:P.message,variant:"body1"},u)),g&&t.createElement(ye.Z,{item:!0,xs:12,className:P.details},g))))}const tn=(0,f.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),Vn=({error:n,message:o,stack:l,children:u})=>{const g=tn();return t.createElement(Wt.Z,{dense:!0},t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(It.Z,{classes:{secondary:g.text},primary:"Error",secondary:n}),t.createElement(ge,{text:n})),t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(It.Z,{classes:{secondary:g.text},primary:"Message",secondary:o}),t.createElement(ge,{text:o})),l&&t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(It.Z,{classes:{secondary:g.text},primary:"Stack Trace",secondary:l}),t.createElement(ge,{text:l})),u)};function On(n){const{title:o,error:l,defaultExpanded:u,children:g}=n;return t.createElement(wt,{severity:"error",title:o!=null?o:l.message,defaultExpanded:u},t.createElement(Vn,{error:l.name,message:l.message,stack:l.stack,children:g}))}var mn=e(85256);const Gn=(0,f.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function Nn(n){var Se;const{title:o,error:l,defaultExpanded:u}=n,g=Gn();if(l.name!=="ResponseError")return t.createElement(On,{title:o!=null?o:l.message,defaultExpanded:u,error:l});const{body:E,cause:P}=l,{request:w,response:j}=E,z=`${j.statusCode}: ${P.name}`,oe=w&&`${w.method} ${w.url}`,Q=P.message.replace(/\\n/g,`
|
|
12
|
-
`),Re=(Se=P.stack)==null?void 0:Se.replace(/\\n/g,`
|
|
13
|
-
`),Ae=JSON.stringify(E,void 0,2);return t.createElement(On,{title:o!=null?o:l.message,defaultExpanded:u,error:{name:z,message:Q,stack:Re}},oe&&t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(It.Z,{classes:{secondary:g.text},primary:"Request",secondary:w?`${oe}`:void 0}),t.createElement(ge,{text:oe})),t.createElement(t.Fragment,null,t.createElement(mn.Z,{component:"li",className:g.divider}),t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(It.Z,{classes:{secondary:g.text},primary:"Full Error as JSON"})),t.createElement(Ye,{language:"json",text:Ae,showCopyCodeButton:!0})))}var Kn=e(47093);function Zn(n){const o=document.createElement("div");return o.setAttribute("id",n),o}function Mn(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function U(n){const o=useRef(null);useEffect(function(){const g=document.querySelector(`#${n}`),E=g||Zn(n);return g||Mn(E),E.appendChild(o.current),function(){o.current.remove(),E.childNodes.length===-1&&E.remove()}},[n]);function l(){return o.current||(o.current=document.createElement("div")),o.current}return l()}var h=null;const C="core.calloutSeen";function D(){const[n,o]=useState(()=>{const u=localStorage.getItem(C);return u?JSON.parse(u):{}}),l=useCallback((u,g)=>{const E=localStorage.getItem(C),w={...E?JSON.parse(E):{},[u]:g};o(w),localStorage.setItem(C,JSON.stringify(w))},[]);return{states:n,setState:l}}function H(n){const{states:o,setState:l}=D(),u=useCallback(()=>{l(n,!0)},[l,n]);return{seen:o[n]===!0,markSeen:u}}function he(n){const{seen:o,markSeen:l}=H(n);return{show:o===!1,hide:l}}const le=(0,f.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 $e(n){const{featureId:o,title:l,description:u,children:g}=n,{show:E,hide:P}=useShowCallout(o),w=usePortal("core.callout"),j=useRef(null),[z,oe]=useState(),Q=le(),Re=useCallback(()=>{if(j.current){const Ae=j.current.getBoundingClientRect(),Se=Math.max(Ae.width,Ae.height),lt=800,Ct=Ae.x-(Se-Ae.width)/2-lt,Vt=Ae.y-(Se-Ae.height)/2-lt,qt=Se+2*lt,ot=450,Tt=Ae.x+Ae.width/2-ot,Ot=Ae.y-(Se-Ae.height)/2+Se+20;oe({dotLeft:Ct,dotTop:Vt,dotSize:qt,borderWidth:lt,textTop:Ot,textLeft:Tt,textWidth:ot})}},[]);return useEffect(()=>(window.addEventListener("resize",Re),window.addEventListener("scroll",Re),()=>{window.removeEventListener("resize",Re),window.removeEventListener("scroll",Re)}),[Re]),useLayoutEffect(Re,[j.current,Re]),E?React.createElement(React.Fragment,null,React.createElement("div",{className:Q.featureWrapper,ref:j},g),createPortal(React.createElement("div",{className:Q.backdrop},React.createElement(ClickAwayListener,{onClickAway:P},React.createElement(React.Fragment,null,React.createElement("div",{className:Q.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:P,onKeyDown:P,role:"button",tabIndex:0},React.createElement("div",{className:Q.pulseCircle})),React.createElement("div",{className:Q.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},l),React.createElement(Typography,null,u))))),w)):React.createElement(React.Fragment,null,g)}var nt=e(35292);const $t=(0,f.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 Lt({color:n="primary",disabled:o=!1,href:l="#",icon:u=t.createElement(nt.Z,null),label:g,onClick:E,title:P}){const w=$t();return o?t.createElement(p.Z,{title:P,className:ie()(w.link,w.disabled),underline:"none"},u,t.createElement("span",{className:w.label},g)):t.createElement(p.Z,{title:P,className:ie()(w.link,w[n]),to:l,component:J,onClick:E},u,t.createElement("span",{className:w.label},g))}const wn=(0,f.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function Ar(n){const{links:o}=n,l=wn();return t.createElement("nav",{className:l.links},o.map((u,g)=>t.createElement(Lt,{key:g+1,...u})))}const Xn=n=>{const o=n==="dark"?"16%":"97%";return`
|
|
14
|
-
hsl(0, 0%, ${o}) 0%,
|
|
15
|
-
hsla(0, 0%, ${o}, 0.987) 8.1%,
|
|
16
|
-
hsla(0, 0%, ${o}, 0.951) 15.5%,
|
|
17
|
-
hsla(0, 0%, ${o}, 0.896) 22.5%,
|
|
18
|
-
hsla(0, 0%, ${o}, 0.825) 29%,
|
|
19
|
-
hsla(0, 0%, ${o}, 0.741) 35.3%,
|
|
20
|
-
hsla(0, 0%, ${o}, 0.648) 41.2%,
|
|
21
|
-
hsla(0, 0%, ${o}, 0.55) 47.1%,
|
|
22
|
-
hsla(0, 0%, ${o}, 0.45) 52.9%,
|
|
23
|
-
hsla(0, 0%, ${o}, 0.352) 58.8%,
|
|
24
|
-
hsla(0, 0%, ${o}, 0.259) 64.7%,
|
|
25
|
-
hsla(0, 0%, ${o}, 0.175) 71%,
|
|
26
|
-
hsla(0, 0%, ${o}, 0.104) 77.5%,
|
|
27
|
-
hsla(0, 0%, ${o}, 0.049) 84.5%,
|
|
28
|
-
hsla(0, 0%, ${o}, 0.013) 91.9%,
|
|
29
|
-
hsla(0, 0%, ${o}, 0) 100%
|
|
30
|
-
`},Nr=100,lr=10,Zr=(0,f.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:Nr,height:`calc(100% + ${lr}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-lr,background:`linear-gradient(90deg, ${Xn(n.palette.type)})`},fadeRight:{right:-lr,background:`linear-gradient(270deg, ${Xn(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function zr(n){const[[o,l],u]=React.useState([0,0]);return React.useLayoutEffect(()=>{const g=n.current;if(!g){u([0,0]);return}const E=()=>{const P=g.scrollLeft,w=g.scrollWidth-g.offsetWidth-g.scrollLeft;u([P,w])};return E(),g.addEventListener("scroll",E),window.addEventListener("resize",E),()=>{g.removeEventListener("scroll",E),window.removeEventListener("resize",E)}},[n]),[o,l]}function $n(n,o,l){const[u,g]=React.useState(0);return React.useLayoutEffect(()=>{if(u===0)return;const E=performance.now(),P=requestAnimationFrame(w=>{if(!n.current)return;const j=w-E,z=Math.abs(u)*j/o,Q=Math.max(l,z)*Math.sign(u);n.current.scrollBy({left:Q});const Re=u-Q;Math.sign(u)!==Math.sign(Re)?g(0):g(Re)});return()=>cancelAnimationFrame(P)},[n,u,o,l]),g}function xn(n){const{scrollStep:o=100,scrollSpeed:l=50,minScrollDistance:u=5,children:g,...E}=n,P=Zr(n),w=React.useRef(),[j,z]=zr(w),oe=$n(w,l,u),Q=Re=>{!w.current||oe(Re?o:-o)};return React.createElement("div",{...E,className:P.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:P.container,ref:w},g),React.createElement("div",{className:classNames(P.fade,P.fadeLeft,{[P.fadeHidden]:j===0})}),React.createElement("div",{className:classNames(P.fade,P.fadeRight,{[P.fadeHidden]:z===0})}),j>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>Q(!1),className:classNames(P.button,P.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),z>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>Q(!0),className:classNames(P.button,P.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const kn=(0,f.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function cr(n){const o=kn(n),{shorthand:l,alpha:u}=n;return l?React.createElement("span",{className:o[u?"alpha":"beta"],style:{fontSize:"120%"}},u?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:o[u?"alpha":"beta"]},u?"Alpha":"Beta")}const Rr=(0,t.lazy)(()=>Promise.all([e.e(3860),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function ur(n){const{Progress:o}=(0,c.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(o,null)},t.createElement(Rr,{...n}))}const qn=(0,f.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"}),Sr={code:({inline:n,className:o,children:l,...u})=>{const g=String(l).replace(/\n+$/,""),E=/language-(\w+)/.exec(o||"");return!n&&E?t.createElement(Ye,{language:E[1],text:g}):t.createElement("code",{className:o,...u},l)}};function Wr(n){const{content:o,dialect:l="gfm",linkTarget:u}=n,g=qn();return React.createElement(ReactMarkdown,{remarkPlugins:l==="gfm"?[gfm]:[],className:g.markdown,children:o,components:Sr,linkTarget:u})}var _n=e(10179);const pn=(0,f.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),er=({request:n,busy:o,setBusy:l})=>{const u=pn(),[g,E]=useState(),P=async()=>{l(!0);try{await n.trigger()}catch(j){E(isError(j)?j.message:"An unspecified error occurred")}finally{l(!1)}},w=n.provider.icon;return React.createElement(ListItem,{button:!0,disabled:o,classes:{root:u.root}},React.createElement(ListItemAvatar,null,React.createElement(w,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:g&&React.createElement(Typography,{color:"error"},g)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:P},"Log in"))};var tr=null;const nr=(0,f.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function Cr(n){const o=nr(),[l,u]=useState(!1),g=useApi(oauthRequestApiRef),E=useObservable(useMemo(()=>g.authRequest$(),[g]),[]),P=()=>{E.forEach(w=>w.reject())};return React.createElement(Dialog,{open:Boolean(E.length),fullWidth:!0,maxWidth:"xs",classes:{paper:o.dialog}},React.createElement(DialogTitle,{classes:{root:o.title}},"Login Required"),React.createElement(DialogContent,{dividers:!0,classes:{root:o.contentList}},React.createElement(List,null,E.map(w=>React.createElement(LoginRequestListItem,{key:w.provider.title,request:w,busy:l,setBusy:u})))),React.createElement(DialogActions,{classes:{root:o.actionButtons}},React.createElement(Button,{onClick:P},"Reject All")))}var Tr=e(15277),Hr=e.n(Tr),rr=e(29862);const br=(0,f.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function jr(n){var P;const[o,l]=(0,t.useState)(!1),u=(0,rr.t)(),g=br(),E=w=>{u()&&l(w)};return t.createElement(x.ZP,{title:(P=n.title)!=null?P:n.text||"",placement:n.placement,disableHoverListener:!o},t.createElement(Hr(),{text:n.text,line:n.line,onToggled:E,containerClassName:g.container}))}var dr=e(67358);function Pr(n){const[o,l]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const u=setTimeout(()=>l(!0),250);return()=>clearTimeout(u)},[]),o?t.createElement(dr.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var Ir=e(94339),fr=e(14503),Lr=e(24579),mr=e(32552),sn=e(15459),Cn=e(95544),Tn=e(27597);const hr=(0,f.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 zn(n){const{link:o,title:l,onClick:u}=n,g=hr();return t.createElement("div",null,t.createElement(mn.Z,null),t.createElement(J,{to:o,onClick:u,underline:"none"},t.createElement(Cn.Z,{display:"flex",alignItems:"center",className:g.root},t.createElement(Cn.Z,{className:g.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(ee.Z,null,t.createElement("strong",null,l))),t.createElement(Tn.Z,{className:g.arrow}))))}const Wn=n=>{const{slackChannel:o}=n;if(o){if(typeof o=="string")return t.createElement(t.Fragment,null,"Please contact ",o," for help.");if(!o.href)return t.createElement(t.Fragment,null,"Please contact ",o.name," for help.")}else return null;return t.createElement(L,{to:o.href,variant:"contained"},o.name)},gr=class extends t.Component{constructor(o){super(o),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(o,l){console.error(`ErrorBoundary, error: ${o}, info: ${l}`),this.setState({error:o,errorInfo:l})}render(){const{slackChannel:o,children:l}=this.props,{error:u}=this.state;return u?t.createElement(On,{title:"Something Went Wrong",error:u},t.createElement(Wn,{slackChannel:o})):l}},Or=(0,f.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"}),xr=(0,sn.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(fr.Z),or={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 Yn(n){const{title:o,subheader:l,divider:u=!0,deepLink:g,slackChannel:E,errorBoundaryProps:P,variant:w,children:j,headerStyle:z,headerProps:oe,icon:Q,action:Re,actionsClassName:Ae,actions:Se,cardClassName:lt,actionsTopRight:Ct,className:Vt,noPadding:qt,titleTypographyProps:ot}=n,Tt=Or();let Ot={},ln={};w&&w.split(/[\s]+/g).forEach(St=>{Ot={...Ot,...or.card[St]},ln={...ln,...or.cardContent[St]}});const Jn=()=>t.createElement("div",{className:Tt.headerSubheader},l&&t.createElement("div",{className:Tt.subheader},l),Q),Pn=P||(E?{slackChannel:E}:{});return t.createElement(Ir.Z,{style:Ot,className:Vt},t.createElement(gr,{...Pn},o&&t.createElement(mr.Z,{classes:{root:Tt.header,title:Tt.headerTitle,subheader:Tt.headerSubheader,avatar:Tt.headerAvatar,action:Tt.headerAction,content:Tt.headerContent},title:o,subheader:Jn(),action:Re,style:{...z},titleTypographyProps:ot,...oe}),Ct&&t.createElement(xr,null,Ct),u&&t.createElement(mn.Z,null),t.createElement(Lr.Z,{className:ie()(lt,{[Tt.noPadding]:qt}),style:ln},j),Se&&t.createElement(fr.Z,{className:Ae},Se),g&&t.createElement(zn,{...g})))}var eo=e(39307);const Dr=(0,f.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"}),b={fractional:!0,inverse:!1,unit:"%",max:100},q=({palette:n,value:o,inverse:l,max:u})=>{if(isNaN(o))return"#ddd";const g=u||b.max,E=l?g-o:o;return E<g/3?n.status.error:E<g*(2/3)?n.status.warning:n.status.ok};function de(n){const[o,l]=useState(null),{getColor:u=q}=n,g=Dr(n),{palette:E}=useTheme(),{value:P,fractional:w,inverse:j,unit:z,max:oe,description:Q}={...b,...n},Re=w?Math.round(P*oe):P,Ae=oe!==100?Math.round(P):Re,[Se,lt]=useState(!1);return useEffect(()=>{const Ct=o,Vt=()=>lt(!0),qt=()=>lt(!1);return Ct&&Q?(Ct.addEventListener("mouseenter",Vt),Ct.addEventListener("mouseleave",qt),()=>{Ct.removeEventListener("mouseenter",Vt),Ct.removeEventListener("mouseleave",qt)}):()=>{lt(!1)}},[Q,o]),React.createElement("div",{ref:l,className:g.root},React.createElement(Circle,{strokeLinecap:"butt",percent:Re,strokeWidth:12,trailWidth:12,strokeColor:u({palette:E,value:Ae,inverse:j,max:oe}),className:g.circle}),Q&&Se?React.createElement("div",{className:g.description},Q):React.createElement("div",{className:g.overlay},isNaN(P)?"N/A":`${Ae}${z}`))}const Oe=(0,f.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function Je(n){const o=Oe(n),{title:l,subheader:u,progress:g,inverse:E,deepLink:P,description:w,icon:j,variant:z,getColor:oe}=n,Q={inverse:E,description:w,getColor:oe,value:g};return React.createElement("div",{className:o.root},React.createElement(InfoCard,{title:l,subheader:u,deepLink:P,variant:z,icon:j},React.createElement(Gauge,{...Q})))}function mt(n){const{value:o,getColor:l=getProgressColor}=n,{palette:u}=useTheme();if(isNaN(o))return null;let g=Math.round(o*100*100)/100;g>100&&(g=100);const E=l({palette:u,value:g,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${g}%`},React.createElement("span",null,React.createElement(Line,{percent:g,strokeWidth:4,trailWidth:4,strokeColor:E})))}var ht=e(21324),R=e(7089),S=e(1292),O=e(42494),Z=e(74603),G=e(12231),V=e(73698),ue=e(72379);const ve=(0,f.Z)(()=>(0,a.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var Te=()=>{const n=ve();return t.createElement(ue.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 Ie=(0,f.Z)(()=>(0,a.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var ze=()=>{const n=Ie();return t.createElement(ue.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 pt=(0,sn.Z)(n=>(0,a.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"})(Z.Z),Qe=(0,f.Z)(n=>(0,a.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 Ze(n){const{multiple:o,items:l,label:u,placeholder:g,selected:E,onChange:P,triggerReset:w,native:j=!1,disabled:z=!1}=n,oe=Qe(),[Q,Re]=(0,t.useState)(E||(o?[]:"")),[Ae,Se]=(0,t.useState)(!1);(0,t.useEffect)(()=>{Re(o?[]:"")},[w,o]),(0,t.useEffect)(()=>{E!==void 0&&Re(E)},[E]);const lt=ot=>{Re(ot.target.value),P(ot.target.value)},Ct=ot=>{if(z){ot.preventDefault();return}Se(Tt=>o&&!(ot.target instanceof HTMLElement)?!0:!Tt)},Vt=()=>{Se(!1)},qt=ot=>()=>{const Tt=Q.filter(Ot=>Ot!==ot);Re(Tt),P(Tt)};return t.createElement("div",{className:oe.root},t.createElement(ee.Z,{variant:"button"},u),t.createElement(S.Z,{onClickAway:Vt},t.createElement(O.Z,{className:oe.formControl},t.createElement(V.Z,{value:Q,native:j,disabled:z,"data-testid":"select",displayEmpty:!0,multiple:o,onChange:lt,onClick:Ct,open:Ae,input:t.createElement(pt,null),renderValue:ot=>{var Tt;return o&&Q.length!==0?t.createElement("div",{className:oe.chips},ot.map(Ot=>{var ln,Jn;return t.createElement(R.Z,{key:(ln=l.find(Pn=>Pn.value===Ot))==null?void 0:ln.value,label:(Jn=l.find(Pn=>Pn.value===Ot))==null?void 0:Jn.label,clickable:!0,onDelete:qt(Ot),className:oe.chip})})):t.createElement(ee.Z,null,Q.length===0?g||"":(Tt=l.find(Ot=>Ot.value===ot))==null?void 0:Tt.label)},IconComponent:()=>Ae?t.createElement(ze,null):t.createElement(Te,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},g&&!o&&t.createElement(G.Z,{value:[]},g),j?l&&l.map(ot=>t.createElement("option",{value:ot.value,key:ot.value},ot.label)):l&&l.map(ot=>t.createElement(G.Z,{key:ot.value,value:ot.value},o&&t.createElement(ht.Z,{color:"primary",checked:Q.includes(ot.value)||!1,className:oe.checkbox}),ot.label))))))}const At=()=>{},zt=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:At,stepHistory:[],setStepHistory:At,onStepChange:At});function fn(n){const{children:o,elevated:l,onStepChange:u,activeStep:g=0}=n,[E,P]=useState(g),[w,j]=useState([0]);useEffect(()=>{P(g)},[g]);const z=[];let oe;return Children.forEach(o,Q=>{isValidElement(Q)&&(Q.props.end?oe=Q:z.push(Q))}),React.createElement(React.Fragment,null,React.createElement(zt.Provider,{value:{stepIndex:E,setStepIndex:P,stepHistory:w,setStepHistory:j,onStepChange:u,stepperLength:Children.count(o)}},React.createElement(MuiStepper,{activeStep:E,orientation:"vertical",elevation:l?2:0},z)),E>=Children.count(o)-1&&oe)}const yn=(0,f.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),cn=({text:n,handleClick:o})=>React.createElement(Button,{onClick:o},n||"Reset"),hn=({text:n,handleClick:o,disabled:l,last:u,stepIndex:g})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:l,"data-testid":`nextButton-${g}`,onClick:o},n||(u?"Finish":"Next")),En=({text:n,handleClick:o,disabled:l,stepIndex:u})=>React.createElement(Button,{onClick:o,"data-testid":`backButton-${u}`,disabled:l},n||"Back"),Fr=({actions:n={},children:o})=>{const l=yn(),{stepperLength:u,stepIndex:g,setStepIndex:E,stepHistory:P,setStepHistory:w,onStepChange:j}=useContext(VerticalStepperContext),z=(Ae,Se)=>{Se&&Se(),j&&j(g,Ae),E(Ae)},oe=()=>{const Ae=n.nextStep?n.nextStep(g,u-1):g+1;z(Ae,n.onNext),w([...P,Ae])},Q=()=>{P.pop(),z(P[P.length-1],n.onBack),w([...P])},Re=()=>{z(0,n.onRestart),w([0])};return React.createElement("div",{className:l.root},[void 0,!0].includes(n.showBack)&&g!==0&&React.createElement(En,{text:n.backText,handleClick:Q,disabled:g===0,stepIndex:g}),[void 0,!0].includes(n.showNext)&&React.createElement(hn,{text:n.nextText,handleClick:oe,disabled:!!u&&g>=u||!!n.canNext&&!n.canNext(),stepIndex:g}),n.showRestart&&g!==0&&React.createElement(cn,{text:n.restartText,handleClick:Re,stepIndex:g}),o)},pr=(0,f.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function to(n){const{title:o,children:l,end:u,actions:g,...E}=n,P=pr();return u?React.createElement("div",{className:P.end},React.createElement(Typography,{variant:"h6"},o),l,React.createElement(SimpleStepperFooter,{actions:{...g||{},showNext:!1}})):React.createElement(MuiStep,{...E},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},o)),React.createElement(StepContent,null,l,React.createElement(SimpleStepperFooter,{actions:g})))}const Xt=(0,f.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 vn(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function Br(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function no(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.error),"aria-label":"Status error","aria-hidden":"true",...n})}function Vi(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function Gi(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.running),"aria-label":"Status running","aria-hidden":"true",...n})}function Ki(n){const o=Xt(n);return React.createElement("span",{className:classNames(o.status,o.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var ki=e(74600),go=e(15584);const ia=n=>(0,a.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),la={root:{border:"0",verticalAlign:"top"}},ca=n=>(0,a.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),ua=n=>(0,a.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),da=(0,sn.Z)(ia,{name:"BackstageMetadataTableTitleCell"})(go.Z),fa=(0,sn.Z)(la,{name:"BackstageMetadataTableCell"})(go.Z),Yi=({dense:n,children:o})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,o)),Ji=({title:n,children:o,...l})=>React.createElement(TableRow,null,n&&React.createElement(da,null,n),React.createElement(fa,{colSpan:n?1:2,...l},o)),po=(0,sn.Z)(ca,{name:"BackstageMetadataTableList"})(({classes:n,children:o})=>t.createElement("ul",{className:n.root},o)),Qi=(0,sn.Z)(ua,{name:"BackstageMetadataTableListItem"})(({classes:n,children:o})=>t.createElement("li",{className:n.root},o)),yo=(0,a.Z)({root:{margin:"0 0",listStyleType:"none"}}),ma=n=>(0,a.Z)({root:{...yo.root,paddingLeft:n.spacing(1)}}),Eo=(0,sn.Z)(yo,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:o})=>t.createElement(po,{classes:n},o)),vo=(0,sn.Z)(ma,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:o})=>t.createElement(po,{classes:n},o));function ha(n,o){const l=n.map((u,g)=>React.createElement(MetadataListItem,{key:g},ro(u)));return o?React.createElement(vo,null,l):React.createElement(Eo,null,l)}function ga(n,o,l){const u=Object.keys(n).map(g=>{const E=ro(n[g],!0),P=l&&l.titleFormat?l.titleFormat(g):startCase(g);return React.createElement(MetadataListItem,{key:g},`${P}: `,E)});return o?React.createElement(vo,null,u):React.createElement(Eo,null,u)}function ro(n,o,l){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?ga(n,o,l):Array.isArray(n)?ha(n,l):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const pa=({value:n,options:o})=>React.createElement(Fragment,null,ro(n,o)),ya=({title:n,value:o,options:l})=>React.createElement(MetadataTableItem,{title:l&&l.titleFormat?l.titleFormat(n):startCase(n)},React.createElement(pa,{value:o,options:l}));function Ea(n,o){return Object.keys(n).map(l=>React.createElement(ya,{key:l,title:l,value:n[l],options:o}))}function Xi(n){const{metadata:o,dense:l=!0,options:u}=n,g=Ea(o,u||{});return React.createElement(MetadataTable,{dense:l},g)}var va=e(49429),Aa=e(86136),Ao=e(79784),Mr=e(76635),Ra=e(19126),Ro=e.n(Ra);function Sa(n){return qs.stringify(n,{strictNullHandling:!0})}function So(n){return qs.parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function Co(n,o){return So(n)[o]}function Ca(n,o,l){const u={...So(n),[o]:l};return Sa(u)}function qi(n,o=250){const[l,u]=useSearchParams(),g=l.toString(),[E,P]=useState(Co(g,n));return useEffect(()=>{const w=Co(g,n);P(j=>isEqual(w,j)?j:w)},[g,P,n]),useDebouncedEffect(()=>{const w=Ca(g,n,E);g!==w&&u(w,{replace:!0})},[u,E,g,n],o),[E,P]}const Ta={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]};function To(){const o=(0,c.useApiHolder)().get(c.configApiRef),l=o==null?void 0:o.getOptionalConfig("app.support");return l?{url:l.getString("url"),items:l.getConfigArray("items").flatMap(u=>{var g;return{title:u.getString("title"),icon:u.getOptionalString("icon"),links:((g=u.getOptionalConfigArray("links"))!=null?g:[]).flatMap(E=>({url:E.getString("url"),title:E.getString("title")}))}})}:Ta}var ba=e(80079);function Dn(n,o){const u=(0,c.useApp)().getSystemIcon(n);return u?t.createElement(u,{...o}):t.createElement(ba.Z,{...o})}function _i(n){return Dn("brokenImage",n)}function el(n){return Dn("catalog",n)}function tl(n){return Dn("chat",n)}function nl(n){return Dn("dashboard",n)}function rl(n){return Dn("docs",n)}function ol(n){return Dn("email",n)}function al(n){return Dn("github",n)}function sl(n){return Dn("group",n)}function Vr(n){return Dn("help",n)}function il(n){return Dn("user",n)}function ll(n){return Dn("warning",n)}const Pa=(0,f.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),Ia=({icon:n})=>{var u;const o=(0,c.useApp)(),l=n&&(u=o.getSystemIcon(n))!=null?u:Vr;return t.createElement(l,null)},La=({link:n})=>{var o;return t.createElement(J,{to:n.url},(o=n.title)!=null?o:n.url)},Oa=({item:n})=>{var o;return t.createElement(st.Z,null,t.createElement(Aa.Z,null,t.createElement(Ia,{icon:n.icon})),t.createElement(It.Z,{primary:n.title,secondary:(o=n.links)==null?void 0:o.reduce((l,u,g)=>[...l,g>0&&t.createElement("br",{key:g}),t.createElement(La,{link:u,key:u.url})],[])}))};function xa(n){const{title:o,children:l}=n,{items:u}=To(),[g,E]=(0,t.useState)(!1),[P,w]=(0,t.useState)(null),j=Pa(),z=(0,Ee.Z)(Re=>Re.breakpoints.down("sm")),oe=Re=>{w(Re.currentTarget),E(!0)},Q=()=>{E(!1)};return t.createElement(t.Fragment,null,t.createElement(Cn.Z,{display:"flex",ml:1},z?t.createElement(F.Z,{color:"primary",size:"small",onClick:oe,"data-testid":"support-button"},t.createElement(Vr,null)):t.createElement(y.Z,{"data-testid":"support-button","aria-label":"support",color:"primary",onClick:oe,startIcon:t.createElement(Vr,null)},"Support")),t.createElement(Ao.ZP,{"data-testid":"support-button-popover",open:g,anchorEl:P,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:Q},t.createElement(Wt.Z,{className:j.popoverList},o&&t.createElement(st.Z,{alignItems:"flex-start"},t.createElement(ee.Z,{variant:"subtitle1"},o)),t.Children.map(l,(Re,Ae)=>t.createElement(st.Z,{alignItems:"flex-start",key:`child-${Ae}`},Re)),u&&u.map((Re,Ae)=>t.createElement(Oa,{item:Re,key:`item-${Ae}`}))),t.createElement(va.Z,null,t.createElement(y.Z,{color:"primary",onClick:Q},"Close"))))}var oo=e(18671),bn=e(10289);const Gr=72,bo=24,Po=18,Hn={drawerWidthClosed:Gr,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:Gr,iconSize:Gr-bo*2,iconPadding:bo,selectedIndicatorWidth:3,userBadgePadding:Po,userBadgeDiameter:Gr-Po*2,mobileSidebarHeight:56},Da=n=>({...Hn,...n,iconContainerWidth:Hn.drawerWidthClosed,iconSize:Hn.drawerWidthClosed-Hn.iconPadding*2,userBadgeDiameter:Hn.drawerWidthClosed-Hn.userBadgePadding*2}),Io={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:Hn.defaultOpenDelayMs+200},Fa=n=>({...Io,...n}),cl="@backstage/core/sidebar-intro-dismissed",wr=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),Un=(0,t.createContext)({sidebarConfig:Hn,submenuConfig:Io}),Lo=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var Kr;(function(n){const o="sidebarPinState";n.SIDEBAR_PIN_STATE=o})(Kr||(Kr={}));const Oo={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(Kr.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(Kr.SIDEBAR_PIN_STATE,JSON.stringify(n))}},Ba=(0,f.Z)(n=>({root:o=>({width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[n.breakpoints.up("sm")]:{paddingLeft:()=>o.isPinned?o.sidebarConfig.drawerWidthOpen:o.sidebarConfig.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:o.sidebarConfig.mobileSidebarHeight}}),content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),yr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1}),xo=(0,t.createContext)({content:{contentRef:void 0}});function Ma(n){const[o,l]=(0,t.useState)(()=>Oo.getSidebarPinState()),{sidebarConfig:u}=(0,t.useContext)(Un),g=(0,t.useRef)(null),E=(0,t.useMemo)(()=>({content:{contentRef:g}}),[g]);(0,t.useEffect)(()=>{Oo.setSidebarPinState(o)},[o]);const P=(0,Ee.Z)(z=>z.breakpoints.down("xs"),{noSsr:!0}),w=()=>l(!o),j=Ba({isPinned:o,sidebarConfig:u});return t.createElement(yr.Provider,{value:{isPinned:o,toggleSidebarPinState:w,isMobile:P}},t.createElement(xo.Provider,{value:E},t.createElement("div",{className:j.root},n.children)))}function Do(){const{content:n}=(0,t.useContext)(xo);return{focusContent:(0,t.useCallback)(()=>{var l,u;(u=(l=n==null?void 0:n.contentRef)==null?void 0:l.current)==null||u.focus()},[n]),contentRef:n==null?void 0:n.contentRef}}var wa=e(50023),$a=e(4190),Ua=e(87685),Na=e(44882),Za=e(57998);const za=(0,f.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:o=>({color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${o.sidebarConfig.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),Wa=n=>{const{to:o,label:l,icon:u,value:g}=n,{sidebarConfig:E}=(0,t.useContext)(Un),P=za({sidebarConfig:E}),w=(0,bn.TH)(),{selectedMenuItemIndex:j,setSelectedMenuItemIndex:z}=(0,t.useContext)(Mo),oe=(Re,Ae)=>{z(Ae===j?-1:Ae)},Q=g===j&&j>=0||g!==j&&!(j>=0)&&o===w.pathname;return t.createElement(Za.Z,{label:l,icon:u,component:J,to:o||w.pathname,onChange:oe,value:g,selected:Q,classes:P})},Fo=n=>{const{children:o,to:l,label:u,icon:g,value:E}=n,{isMobile:P}=(0,t.useContext)(yr);return P?t.createElement(Wa,{to:l,label:u,icon:g,value:E}):t.createElement(t.Fragment,null,o)},Bo=(0,f.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:o=>({background:n.palette.navigation.background,width:"100%",bottom:`${o.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${o.sidebarConfig.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:o=>({marginBottom:`${o.sidebarConfig.mobileSidebarHeight}px`})})),Ha=n=>(0,Mr.orderBy)(n,({props:{priority:o}})=>Number.isInteger(o)?o:-1,"desc"),ja=t.createElement(Fo).type,Va=({children:n,label:o="Menu",open:l,onClose:u})=>{const{sidebarConfig:g}=(0,t.useContext)(Un),E=Bo({sidebarConfig:g});return t.createElement($a.ZP,{anchor:"bottom",open:l,onClose:u,ModalProps:{BackdropProps:{classes:{root:E.marginMobileSidebar}}},classes:{root:E.marginMobileSidebar,paperAnchorBottom:E.overlay}},t.createElement(Cn.Z,{className:E.overlayHeader},t.createElement(ee.Z,{variant:"h3"},o),t.createElement(F.Z,{onClick:u,classes:{root:E.overlayHeaderClose}},t.createElement(Ua.Z,null))),t.createElement(Cn.Z,{component:"nav"},n))},Mo=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),Ga=n=>{const{sidebarConfig:o}=(0,t.useContext)(Un),{children:l}=n,u=Bo({sidebarConfig:o}),g=(0,bn.TH)(),[E,P]=(0,t.useState)(-1);(0,t.useEffect)(()=>{P(-1)},[g.pathname]);let w=(0,c.useElementFilter)(l,z=>z.getElements().filter(oe=>oe.type===ja));if(l)w.length?w=Ha(w):w.push(t.createElement(Fo,{key:"default_menu",icon:t.createElement(Na.Z,null)},l));else return null;const j=E>=0&&!w[E].props.to;return t.createElement(wr.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(Mo.Provider,{value:{selectedMenuItemIndex:E,setSelectedMenuItemIndex:P}},t.createElement(Va,{label:w[E]&&w[E].props.label,open:j,onClose:()=>P(-1)},w[E]&&w[E].props.children),t.createElement(wa.Z,{className:u.root,"data-testid":"mobile-sidebar-root",component:"nav"},w)))},wo=(0,f.Z)(n=>({drawer:o=>({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:o.sidebarConfig.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}),drawerOpen:o=>({width:o.sidebarConfig.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 An;(function(n){n[n.Closed=0]="Closed";const l=0+1;n[n.Idle=l]="Idle";const u=l+1;n[n.Open=u]="Open"})(An||(An={}));const Ka=n=>{const{sidebarConfig:o}=(0,t.useContext)(Un),{openDelayMs:l=o.defaultOpenDelayMs,closeDelayMs:u=o.defaultCloseDelayMs,disableExpandOnHover:g,children:E}=n,P=wo({sidebarConfig:o}),w=(0,Ee.Z)(Vt=>Vt.breakpoints.down("md"),{noSsr:!0}),[j,z]=(0,t.useState)(An.Closed),oe=(0,t.useRef)(),{isPinned:Q,toggleSidebarPinState:Re}=(0,t.useContext)(yr),Ae=()=>{Q||g||(oe.current&&(clearTimeout(oe.current),oe.current=void 0),j!==An.Open&&!w&&(oe.current=window.setTimeout(()=>{oe.current=void 0,z(An.Open)},l),z(An.Idle)))},Se=()=>{Q||g||(oe.current&&(clearTimeout(oe.current),oe.current=void 0),j===An.Idle?z(An.Closed):j===An.Open&&(oe.current=window.setTimeout(()=>{oe.current=void 0,z(An.Closed)},u)))},lt=j===An.Open&&!w||Q,Ct=Vt=>{Vt?(z(An.Open),Re()):(z(An.Closed),Re())};return t.createElement("nav",{style:{}},t.createElement(Ya,null),t.createElement(wr.Provider,{value:{isOpen:lt,setOpen:Ct}},t.createElement("div",{className:P.root,"data-testid":"sidebar-root",onMouseEnter:g?()=>{}:Ae,onFocus:g?()=>{}:Ae,onMouseLeave:g?()=>{}:Se,onBlur:g?()=>{}:Se},t.createElement("div",{className:ie()(P.drawer,{[P.drawerOpen]:lt})},E))))},ka=n=>{var j,z;const o=Da((j=n.sidebarOptions)!=null?j:{}),l=Fa((z=n.submenuOptions)!=null?z:{}),{children:u,disableExpandOnHover:g,openDelayMs:E,closeDelayMs:P}=n,{isMobile:w}=(0,t.useContext)(yr);return w?t.createElement(Ga,null,u):t.createElement(Un.Provider,{value:{sidebarConfig:o,submenuConfig:l}},t.createElement(Ka,{openDelayMs:E,closeDelayMs:P,disableExpandOnHover:g},u))};function Ya(){const{sidebarConfig:n}=(0,t.useContext)(Un),{focusContent:o,contentRef:l}=Do(),u=wo({sidebarConfig:n});return l!=null&&l.current?t.createElement(y.Z,{onClick:o,variant:"contained",className:ie()(u.visuallyHidden)},"Skip to content"):null}function $o(n,o){const l=new URLSearchParams(o.search).toString(),u=Ro().parse(l),g=new URLSearchParams(n.search).toString(),E=Ro().parse(g);return(0,Mr.isEqual)(o.pathname,n.pathname)&&(0,Mr.isMatch)(E,u)}const Ja=(0,f.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"}}),{name:"BackstageSidebarSubmenuItem"}),ul=n=>{const{title:o,to:l,icon:u,dropdownItems:g}=n,E=Ja(),{setIsHoveredOn:P}=useContext(SidebarItemWithSubmenuContext),w=()=>{P(!1)},j=useResolvedPath(l),z=useLocation();let oe=isLocationMatch(z,j);const[Q,Re]=useState(!1),Ae=()=>{Re(!Q)};return g!==void 0?(g.some(Se=>{const lt=resolvePath(Se.to);return oe=isLocationMatch(z,lt),oe}),React.createElement("div",{className:E.itemContainer},React.createElement("button",{onClick:Ae,onTouchStart:Se=>Se.stopPropagation(),className:classnames(E.item,oe?E.selected:void 0)},React.createElement(u,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:E.label},o),Q?React.createElement(ArrowDropUpIcon,{className:E.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:E.dropdownArrow})),g&&Q&&React.createElement("div",{className:E.dropdown},g.map((Se,lt)=>React.createElement(Link,{to:Se.to,underline:"none",className:E.dropdownItem,onClick:w,onTouchStart:Ct=>Ct.stopPropagation(),key:lt},React.createElement(Typography,{className:E.textContent},Se.title)))))):React.createElement("div",{className:E.itemContainer},React.createElement(Link,{to:l,underline:"none",className:classnames(E.item,oe?E.selected:void 0),onClick:w,onTouchStart:Se=>Se.stopPropagation()},React.createElement(u,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:E.label},o)))},Qa=(0,f.Z)(n=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:n.spacing(7)+1},drawer:o=>{var l,u;return{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[n.breakpoints.up("sm")]:{marginLeft:o.left,transition:n.transitions.create("margin-left",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(u=(l=n.palette.navigation.submenu)==null?void 0:l.background)!=null?u:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:o.submenuConfig.drawerWidthClosed,transitionDelay:`${o.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}},drawerOpen:o=>({width:o.submenuConfig.drawerWidthOpen,[n.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:n.spacing(3),left:0,top:0}}),title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[n.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"}),Xa=n=>{const{isOpen:o}=(0,t.useContext)(wr),{sidebarConfig:l,submenuConfig:u}=(0,t.useContext)(Un),g=o?l.drawerWidthOpen:l.drawerWidthClosed,E=Qa({left:g,submenuConfig:u}),{isHoveredOn:P}=(0,t.useContext)(Lo),[w,j]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{j(P)},[P]),t.createElement("div",{className:ie()(E.drawer,{[E.drawerOpen]:w})},t.createElement(ee.Z,{variant:"h5",className:E.title},n.title),n.children)};var kr=e(76600),qa=e(26739),_a=e(98989),es=e(59797),ts=e(83543);const ns=(0,f.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),dl=()=>{const n=ns();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 fl=null;const rs=(0,f.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),ml=()=>{const n=rs();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 hl=null;const os=n=>(0,f.Z)(o=>{var l,u,g,E;return{root:{color:o.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:n.drawerWidthClosed,justifyContent:"center"},open:{[o.breakpoints.up("sm")]:{width:n.drawerWidthOpen}},highlightable:{"&:hover":{background:(u=(l=o.palette.navigation.navItem)==null?void 0:l.hoverBackground)!=null?u:"#404040"}},highlighted:{background:(E=(g=o.palette.navigation.navItem)==null?void 0:g.hoverBackground)!=null?E:"#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:n.iconContainerWidth,marginRight:-o.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:o.typography.fontSize},searchFieldHTMLInput:{padding:o.spacing(2,0,2)},searchContainer:{width:n.drawerWidthOpen-n.iconContainerWidth},secondaryAction:{width:o.spacing(6),textAlign:"center",marginRight:o.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:o.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${n.selectedIndicatorWidth}px ${o.palette.navigation.indicator}`,color:o.palette.navigation.selectedColor},"&$closed":{width:n.drawerWidthClosed},"& $closedItemIcon":{paddingRight:n.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-n.selectedIndicatorWidth}}}},{name:"BackstageSidebarItem"});function Yr(n){return(0,t.useMemo)(()=>os(n),[n])()}const as=(n,o)=>(0,c.useElementFilter)(n.props.children,l=>{let u=!1;return l.getElements().forEach(({props:{to:g,dropdownItems:E}})=>{if(!u){if(E!=null&&E.length){E.forEach(({to:P})=>u=u||$o(o,(0,bn.i3)(P)));return}g&&(u=$o(o,(0,bn.i3)(g)))}}),u},[o.pathname]);function Uo(n){return n.to===void 0}const ss=t.createElement(Xa).type,is=t.forwardRef(function({to:o,end:l,style:u,className:g,activeStyle:E,caseSensitive:P,activeClassName:w="active","aria-current":j="page",...z},oe){let{pathname:Q}=(0,bn.TH)(),{pathname:Re}=(0,bn.WU)(o);P||(Q=Q.toLocaleLowerCase("en-US"),Re=Re.toLocaleLowerCase("en-US"));let Ae=Q===Re;!Ae&&!l&&(Ae=Q.startsWith(`${Re}/`));const Se=Ae?j:void 0;return t.createElement(v.rU,{...z,to:o,ref:oe,"aria-current":Se,style:{...u,...Ae?E:void 0},className:ie()([g,Ae?w:void 0])})}),No=(0,t.forwardRef)((n,o)=>{const{icon:l,text:u,hasNotifications:g=!1,disableHighlight:E=!1,onClick:P,children:w,className:j,...z}=n,{sidebarConfig:oe}=(0,t.useContext)(Un),Q=Yr(oe),{isOpen:Re}=(0,t.useContext)(wr),Ae=t.createElement(qa.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!g,className:ie()({[Q.closedItemIcon]:!Re})},t.createElement(l,{fontSize:"small"})),Se=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:Q.iconContainer},Ae),u&&t.createElement(ee.Z,{variant:"subtitle2",className:Q.label},u),t.createElement("div",{className:Q.secondaryAction},w)),lt=Re?Se:Ae,Ct={onClick:P,className:ie()(j,Q.root,Re?Q.open:Q.closed,Uo(n)&&Q.buttonItem,{[Q.highlightable]:!E})};return Uo(n)?t.createElement("button",{"aria-label":u,...Ct,ref:o},lt):t.createElement(is,{...Ct,activeClassName:Q.selected,to:n.to?n.to:"",ref:o,"aria-label":u||n.to,...z},lt)}),ls=({children:n,...o})=>{const{sidebarConfig:l}=(0,t.useContext)(Un),u=Yr(l),[g,E]=(0,t.useState)(!1),P=(0,bn.TH)(),w=as(n,P),j=(0,Ee.Z)(Re=>Re.breakpoints.down("sm")),z=()=>{E(!0)},oe=()=>{E(!1)},Q=()=>j?g?t.createElement(es.Z,{fontSize:"small",className:u.submenuArrow}):t.createElement(ts.Z,{fontSize:"small",className:u.submenuArrow}):!g&&t.createElement(_a.Z,{fontSize:"small",className:u.submenuArrow});return t.createElement(Lo.Provider,{value:{isHoveredOn:g,setIsHoveredOn:E}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:oe,onTouchStart:g?oe:z,onMouseEnter:z,className:ie()(g&&u.highlighted)},t.createElement(No,{className:w?u.selected:"",...o},Q()),g&&n))},Zo=(0,t.forwardRef)((n,o)=>{const[l]=(0,c.useElementFilter)(n.children,u=>u.getElements().filter(g=>g.type===ss));return l?t.createElement(ls,{...n},l):t.createElement(No,{...n,ref:o})});function gl(n){const{sidebarConfig:o}=useContext(SidebarConfigContext),[l,u]=useState(""),g=Yr(o),E=n.icon?n.icon:SearchIcon,P=()=>{n.onSearch(l),u("")},w=Q=>{Q.key==="Enter"&&(Q.preventDefault(),P())},j=Q=>{u(Q.target.value)},z=Q=>{Q.preventDefault(),Q.stopPropagation()},oe=Q=>{P(),Q.preventDefault()};return React.createElement("div",{className:g.searchRoot},React.createElement(Zo,{icon:E,to:n.to,onClick:oe,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:l,onClick:z,onChange:j,onKeyDown:w,className:g.searchContainer,InputProps:{disableUnderline:!0,className:g.searchField},inputProps:{className:g.searchFieldHTMLInput}})))}const pl=(0,kr.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),yl=(0,kr.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),cs=(0,kr.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),us=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),El=(0,kr.Z)("div")(({theme:n})=>{const o=us(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":o,"&:hover":o}}),vl=()=>{const{sidebarConfig:n}=useContext(SidebarConfigContext),o=Yr(n),{isOpen:l,setOpen:u}=useContext(SidebarContext);if(useMediaQuery(P=>P.breakpoints.down("md"),{noSsr:!0}))return null;const E=()=>{u(!l)};return React.createElement("button",{onClick:E,className:o.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:o.arrows},l?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},ds=(0,f.Z)(n=>({introCard:o=>({color:"#b5b5b5",fontSize:12,width:o.sidebarConfig.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:o.sidebarConfig.iconPadding,paddingRight:o.sidebarConfig.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 fs(n){const{sidebarConfig:o}=useContext(SidebarConfigContext),l=ds({sidebarConfig:o}),{text:u,onClose:g}=n,E=()=>g();return React.createElement("div",{className:l.introCard},React.createElement(Typography,{variant:"subtitle2"},u),React.createElement("div",{className:l.introDismiss},React.createElement(Link,{component:"button",onClick:E,underline:"none",className:l.introDismissLink},React.createElement(CloseIcon,{className:l.introDismissIcon}),React.createElement(Typography,{component:"span",className:l.introDismissText},"Dismiss"))))}const zo=n=>{const{text:o,onDismiss:l}=n,[u,g]=useState(!1),E=()=>{g(!0)};return React.createElement(Collapse,{in:!u,onExited:l},React.createElement(fs,{text:o,onClose:E}))},ms=null,hs="And your recently viewed plugins will pop up here!";function Al(n){const{isOpen:o}=useContext(SidebarContext),l={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[u,g]=useLocalStorageValue(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:E,recentlyViewedItemsDismissed:P}=u!=null?u:{},w=()=>{g(z=>({...l,...z,starredItemsDismissed:!0}))},j=()=>{g(z=>({...l,...z,recentlyViewedItemsDismissed:!0}))};return o?React.createElement(React.Fragment,null,!E&&React.createElement(React.Fragment,null,React.createElement(zo,{text:ms,onDismiss:w}),React.createElement(SidebarDivider,null)),!P&&React.createElement(zo,{text:hs,onDismiss:j})):null}const gs=(0,f.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 Wo(n){const{className:o,stretch:l,noPadding:u,children:g,...E}=n,{contentRef:P}=Do(),w=gs();return t.createElement("article",{ref:P,tabIndex:-1,...E,className:ie()(w.root,o,{[w.stretch]:l,[w.noPadding]:u})},g)}var ps=e(6487),ys=e(99152);const Es=(0,f.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 Ho(n){const{tabs:o,onChange:l,selectedIndex:u}=n,[g,E]=(0,t.useState)(u!=null?u:0),P=Es(),w=(j,z)=>{u===void 0&&E(z),l&&l(z)};return(0,t.useEffect)(()=>{u!==void 0&&E(u)},[u]),t.createElement("div",{className:P.tabsWrapper},t.createElement(ys.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:w,value:g},o.map((j,z)=>t.createElement(ps.Z,{...j.tabProps,"data-testid":`header-tab-${z}`,label:j.label,key:j.id,value:z,className:P.defaultTab,classes:{selected:P.selected,root:P.tabRoot}}))))}function vs(n){var w,j,z;const o=(0,bn.UO)(),u=n.map(({path:oe,children:Q})=>({caseSensitive:!1,path:`${oe}/*`,element:Q})).sort((oe,Q)=>Q.path.replace(/\/\*$/,"").localeCompare(oe.path.replace(/\/\*$/,""))),g=(w=(0,bn.V$)(u))!=null?w:n[0].children,[E]=(j=(0,bn.fp)(u,`/${o["*"]}`))!=null?j:[],P=E?n.findIndex(oe=>`${oe.path}/*`===E.route.path):0;return{index:P===-1?0:P,element:g,route:(z=n[P])!=null?z:n[0]}}function jo(n){const{routes:o}=n,l=(0,bn.s0)(),{index:u,route:g,element:E}=vs(o),P=(0,t.useMemo)(()=>o.map(j=>({id:j.path,label:j.title,tabProps:j.tabProps})),[o]),w=j=>l(o[j].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(Ho,{tabs:P,selectedIndex:u,onChange:w}),t.createElement(Wo,null,t.createElement(oo.q,{title:g.title}),E))}const ao=()=>null;(0,c.attachComponentData)(ao,"core.gatherMountPoints",!0);function Vo(n){const o=t.createElement(ao,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(l=>{if(!(0,t.isValidElement)(l))return[];if(l.type===t.Fragment)return Vo(l.props.children);if(l.type!==o)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:u,title:g,children:E,tabProps:P}=l.props;return[{path:u,title:g,children:E,tabProps:P}]})}function As(n){const o=Vo(n.children);return t.createElement(jo,{routes:o})}As.Route=ao;const Rs=(0,f.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Ss(n){const{value:o,subvalue:l}=n,u=Rs();return t.createElement(t.Fragment,null,t.createElement("div",{className:u.value},o),t.createElement("div",{className:u.subvalue},l))}var Cs=e(21070),Ts=e(90324),bs=e(98281),Ps=e(48049),Go=e(51209),Ko=e(33375),Is=e(44233),Ls=e(27604),so=e(36444),Os=e(37971),xs=e(59709),Ds=e(17373),Fs=e(3702),Bs=e(93111),Jr=e(67222);const Ms=(0,f.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 o=Ms(),{onChangeFilters:l}=n,[u,g]=(0,t.useState)({...n.selectedFilters}),[E,P]=(0,t.useState)(!1),w=()=>{g({}),P(z=>!z)};return(0,t.useEffect)(()=>{l(u)},[u,l]),t.createElement("div",{className:o.root},t.createElement("div",{className:o.header},t.createElement("div",{className:o.value},"Filters"),t.createElement(y.Z,{color:"primary",onClick:w},"Clear all")),t.createElement("div",{className:o.filters},((j=n.filters)==null?void 0:j.length)&&n.filters.map(z=>t.createElement(Ze,{triggerReset:E,key:z.element.label,...z.element,selected:u[z.element.label],onChange:oe=>g({...u,[z.element.label]:oe})}))))},$s={Add:(0,t.forwardRef)((n,o)=>t.createElement(Cs.Z,{...n,ref:o})),Check:(0,t.forwardRef)((n,o)=>t.createElement(bs.Z,{...n,ref:o})),Clear:(0,t.forwardRef)((n,o)=>t.createElement(Ko.Z,{...n,ref:o})),Delete:(0,t.forwardRef)((n,o)=>t.createElement(Is.Z,{...n,ref:o})),DetailPanel:(0,t.forwardRef)((n,o)=>t.createElement(Go.Z,{...n,ref:o})),Edit:(0,t.forwardRef)((n,o)=>t.createElement(Ls.Z,{...n,ref:o})),Export:(0,t.forwardRef)((n,o)=>t.createElement(Fs.Z,{...n,ref:o})),Filter:(0,t.forwardRef)((n,o)=>t.createElement(so.Z,{...n,ref:o})),FirstPage:(0,t.forwardRef)((n,o)=>t.createElement(Os.Z,{...n,ref:o})),LastPage:(0,t.forwardRef)((n,o)=>t.createElement(xs.Z,{...n,ref:o})),NextPage:(0,t.forwardRef)((n,o)=>t.createElement(Go.Z,{...n,ref:o})),PreviousPage:(0,t.forwardRef)((n,o)=>t.createElement(Ps.Z,{...n,ref:o})),ResetSearch:(0,t.forwardRef)((n,o)=>t.createElement(Ko.Z,{...n,ref:o})),Search:(0,t.forwardRef)((n,o)=>t.createElement(so.Z,{...n,ref:o})),SortArrow:(0,t.forwardRef)((n,o)=>t.createElement(Ts.Z,{...n,ref:o})),ThirdStateCheck:(0,t.forwardRef)((n,o)=>t.createElement(Ds.Z,{...n,ref:o})),ViewColumn:(0,t.forwardRef)((n,o)=>t.createElement(Bs.Z,{...n,ref:o}))};function ko(n,o){const l=o.split(".");let u=n[l[0]];for(let g=1;g<l.length;++g){if(u===void 0)return u;const E=l[g];u=u[E]}return u}const Us=(0,sn.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"})(Jr.W$),Yo=(0,sn.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})(Jr.UW),Ns=(0,f.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),Zs=(0,f.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function zs(n,o){return n.map(l=>{const u={};let g=l.cellStyle||{};if(l.highlight)if(u.color=o.palette.textContrast,typeof g=="object")g.fontWeight=o.typography.fontWeightBold;else{const E=g;g=(P,w,j)=>({...E(P,w,j),fontWeight:o.typography.fontWeightBold})}return{...l,headerStyle:u,cellStyle:g}})}function Ws(n,o){return(0,Mr.transform)(n,(l,u,g)=>{(0,Mr.isEqual)(u,o[g])||(l[g]=u)})}const Jo={search:"",filtersOpen:!1,filters:{}};function Hs(n){const{toolbarRef:o,setSearch:l,hasFilters:u,selectedFiltersLength:g,toggleFilters:E}=n,P=Ns(),w=(0,t.useCallback)(j=>{n.onSearchChanged(j),l(j)},[n,l]);return u?t.createElement("div",{className:P.root},t.createElement("div",{className:P.root},t.createElement(F.Z,{onClick:E,"aria-label":"filter list"},t.createElement(so.Z,null)),t.createElement(ee.Z,{className:P.title},"Filters (",g,")")),t.createElement(Yo,{...n,ref:o,onSearchChanged:w})):t.createElement(Yo,{...n,ref:o,onSearchChanged:w})}function js(n){const{data:o,columns:l,options:u,title:g,subtitle:E,filters:P,initialState:w,emptyContent:j,onStateChange:z,...oe}=n,Q=Zs(),Re=(0,M.Z)(),Ae={...Jo,...w},[Se,lt]=(0,t.useState)(Ae.filtersOpen),Ct=(0,t.useCallback)(()=>lt(un=>!un),[lt]),[Vt,qt]=(0,t.useState)(0),[ot,Tt]=(0,t.useState)(o),[Ot,ln]=(0,t.useState)(Ae.filters),Jn=zs(l,Re),[Pn,Ur]=(0,t.useState)(Ae.search);(0,t.useEffect)(()=>{if(z){const un=Ws({search:Pn,filtersOpen:Se,filters:Ot},Jo);z(un)}},[Pn,Se,Ot,z]);const St={headerStyle:{textTransform:"uppercase"}},Qn=(0,t.useCallback)(un=>{var Rn;return(Rn=l.find(In=>In.title===un))==null?void 0:Rn.field},[l]);(0,t.useEffect)(()=>{if(typeof o=="function")return;if(!Ot){Tt(o);return}const un=Object.values(Ot);if(o&&un.flat().length){const Rn=o.filter(In=>!!Object.entries(Ot).filter(([,sr])=>!!sr.length).every(([sr,nn])=>{const rn=ko(In,Qn(sr));return Array.isArray(rn)&&Array.isArray(nn)?rn.some(Er=>nn.includes(Er)):Array.isArray(rn)?rn.includes(nn):Array.isArray(nn)?nn.includes(rn):rn===nn}));Tt(Rn)}else Tt(o);qt(un.flat().length)},[o,Ot,Qn]);const fo=(un,Rn)=>{const In=nn=>{const rn=new Set,Er=ir=>{ir!=null&&rn.add(ir)};return Rn&&Rn.forEach(ir=>{const vr=ko(ir,Qn(nn));Array.isArray(vr)?vr.forEach(Er):Er(vr)}),rn},sr=nn=>({placeholder:"All results",label:nn.column,multiple:nn.type==="multiple-select",items:[...In(nn.column)].sort().map(rn=>({label:rn,value:rn}))});return un.map(nn=>({type:nn.type,element:sr(nn)}))},ar=!!(P!=null&&P.length),mo=(0,t.useCallback)(un=>t.createElement(Hs,{setSearch:Ur,hasFilters:ar,selectedFiltersLength:Vt,toggleFilters:Ct,...un}),[Ct,ar,Vt,Ur]),Xr=typeof o!="function"&&o.length===0,qr=l.length,ho=(0,t.useCallback)(un=>j&&Xr?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:qr},j))):t.createElement(Jr.os,{...un}),[Xr,j,qr]);return t.createElement("div",{className:Q.root},Se&&o&&typeof o!="function"&&(P==null?void 0:P.length)&&t.createElement(ws,{filters:fo(P,o),selectedFilters:Ot,onChangeFilters:ln}),t.createElement(Jr.ZP,{components:{Header:Us,Toolbar:mo,Body:ho},options:{...St,...u},columns:Jn,icons:$s,title:t.createElement(t.Fragment,null,t.createElement(ee.Z,{variant:"h5",component:"h3"},g),E&&t.createElement(ee.Z,{color:"textSecondary",variant:"body1"},E)),data:typeof o=="function"?o:ot,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...oe}))}const Rl=n=>{const{children:o,value:l,index:u,...g}=n;return React.createElement("div",{role:"tabpanel",hidden:l!==u,"aria-labelledby":`scrollable-auto-tab-${u}`,...g},l===u&&React.createElement(Box,{p:3},o))},Vs=(0,f.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"}),Sl=n=>{const o=Vs(n),{ariaLabel:l,onClick:u}=n;return React.createElement(IconButton,{onClick:u,className:o.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":l},n.children)},Gs=(n,o)=>o?n?"20px":"0":"40px",Ks=(0,f.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:o=>Gs(o.isFirstNav,o.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}}),{name:"BackstageTab"}),Cl=n=>{const o=Ks(n),{isFirstNav:l,isFirstIndex:u,...g}=n;return React.createElement(Tab,{classes:o,disableRipple:!0,...g})},ks=(0,f.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),Tl=n=>{const o=ks(n);return React.createElement(Tabs,{classes:o,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},Ys=(0,f.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 bl(n){const{tabs:o}=n,l=Ys(),[u,g]=useState([0,0]),[E,P]=useState(0),[w,j]=useState(0),[z,oe]=useState([[]]),Q=useRef(),{width:Re}=useWindowSize(),Ae=(qt,ot)=>{g([E,ot])},Se=()=>{P(E-1)},lt=()=>{P(E+1)},Ct=()=>E+1<z.length;useEffect(()=>{const ot=E===0?1:2,Tt=Q.current.offsetWidth-20-ot*30,Ot=u[0]*w+u[1],ln=Math.floor(Tt/170);j(ln),oe(chunkArray(o,ln)),g([Math.floor(Ot/ln),Ot%ln])},[Re,o]);const Vt=E===u[0]?u[1]:!1;return React.createElement("div",{className:l.root},React.createElement(AppBar,{ref:Q,className:l.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:Vt,onChange:Ae,selectionFollowsFocus:!0},E!==0&&React.createElement(StyledIcon,{onClick:Se,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),z[E].map((qt,ot)=>React.createElement(StyledTab,{value:ot,isFirstIndex:ot===0,isFirstNav:E===0,key:ot,icon:qt.icon||void 0,label:qt.label||void 0})),Ct()&&React.createElement(StyledIcon,{isNext:!0,onClick:lt,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),Vt!==!1?z[E].map((qt,ot)=>React.createElement(TabPanel,{key:ot,value:ot,index:Vt},qt.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:u[1],index:u[1]},z[u[0]][u[1]].content))}var Pl=e(44311);function Js(n,o){const l=n[n.length-1];if(!!l)return l>=.9?o.palette.status.ok:l>=.5?o.palette.status.warning:o.palette.status.error}function Il(n){var l;const o=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:(l=n.color)!=null?l:Js(n.data,o)})):null}const Qs=n=>(0,f.Z)(o=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:o.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:o.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),Xs=({title:n="Unknown page",className:o})=>t.createElement(ee.Z,{variant:"h4",component:"h2",className:o,"data-testid":"header-title"},n);function _s(n){const{description:o,title:l,titleComponent:u=void 0,children:g,textAlign:E="left"}=n,P=Qs({textAlign:E})(),w=u||t.createElement(Xs,{title:l,className:P.title});return t.createElement(t.Fragment,null,t.createElement(oo.q,{title:l}),t.createElement("div",{className:P.container},t.createElement("div",{className:P.leftItemsBox},w,o&&t.createElement(ee.Z,{className:P.description,variant:"body2"},o)),t.createElement("div",{className:P.rightItemsBox},g)))}var ei=e(29788);const ti=(0,f.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"}),ni=()=>{const n=ti();return t.createElement("img",{src:ei,className:n.micDrop,alt:"Girl dropping mic from her hands"})},ri=(0,f.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 oi(n){const{status:o,statusMessage:l,additionalInfo:u,supportUrl:g}=n,E=ri(),P=(0,bn.s0)(),w=To();return t.createElement(ye.Z,{container:!0,spacing:0,className:E.container},t.createElement(ni,null),t.createElement(ye.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(ee.Z,{"data-testid":"error",variant:"body1",className:E.subtitle},"ERROR ",o,": ",l),t.createElement(ee.Z,{variant:"body1",className:E.subtitle},u),t.createElement(ee.Z,{variant:"h2",className:E.title},"Looks like someone dropped the mic!"),t.createElement(ee.Z,{variant:"h6"},t.createElement(J,{to:"#","data-testid":"go-back-link",onClick:()=>P(-1)},"Go back"),"... or please"," ",t.createElement(J,{to:g||w.url},"contact support")," if you think this is a bug.")))}var ai=e(16173);const si=(0,sn.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(ee.Z),io=(0,sn.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(Cn.Z);function ii(n){const{children:o,...l}=n,[u,g]=t.useState(null),E=t.Children.toArray(o),[P,w,...j]=E,z=j.length?j.pop():E[E.length-1],oe=E.length>3,Q=Se=>{g(Se.currentTarget)},Re=()=>{g(null)},Ae=Boolean(u);return t.createElement(t.Fragment,null,t.createElement(ai.Z,{"aria-label":"breadcrumb",...l},E.length>1&&t.createElement(io,{clone:!0},P),E.length>2&&t.createElement(io,{clone:!0},w),oe&&t.createElement(si,{onClick:Q},"..."),t.createElement(Cn.Z,{style:{fontStyle:"italic"}},z)),t.createElement(Ao.ZP,{open:Ae,anchorEl:u,onClose:Re,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(Wt.Z,null,j.map((Se,lt)=>t.createElement(st.Z,{key:lt,button:!0},t.createElement(io,{clone:!0},Se))))))}const li=(0,f.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-word",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"}),ci=({type:n,typeLink:o,classes:l,pageTitle:u})=>n?o?t.createElement(ii,{className:l.breadcrumb},t.createElement(J,{to:o},n),t.createElement(ee.Z,null,u)):t.createElement(ee.Z,{className:l.type},n):null,ui=({pageTitle:n,classes:o,tooltip:l})=>{const u=t.createElement(ee.Z,{className:o.title,variant:"h1"},n);return l?t.createElement(x.ZP,{title:l,placement:"top-start"},u):u},di=({classes:n,subtitle:o})=>o?typeof o!="string"?t.createElement(t.Fragment,null,o):t.createElement(ee.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},o):null;function Qo(n){const{children:o,pageTitleOverride:l,style:u,subtitle:g,title:E,tooltip:P,type:w,typeLink:j}=n,z=li(),Q=(0,c.useApi)(c.configApiRef).getOptionalString("app.title")||"Backstage",Re=l||E,Ae=E||l,Se=`${Re} | %s | ${Q}`,lt=`${Re} | ${Q}`;return t.createElement(t.Fragment,null,t.createElement(oo.q,{titleTemplate:Se,defaultTitle:lt}),t.createElement("header",{style:u,className:z.header},t.createElement(Cn.Z,{className:z.leftItemsBox},t.createElement(ci,{classes:z,type:w,typeLink:j,pageTitle:Ae}),t.createElement(ui,{classes:z,pageTitle:Ae,tooltip:P}),t.createElement(di,{classes:z,subtitle:g})),t.createElement(ye.Z,{container:!0,className:z.rightItemsBox,spacing:4},o)))}const fi=(0,f.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"}),mi=({value:n,className:o})=>t.createElement(ee.Z,{className:o},n);function hi(n){const{label:o,value:l,url:u}=n,g=fi(),E=t.createElement(mi,{className:g.value,value:l||"<Unknown>"});return t.createElement(ye.Z,{item:!0},t.createElement("span",{className:g.root},t.createElement(ee.Z,{className:g.label},o),u?t.createElement(J,{to:u},E):E))}const gi={hour:"2-digit",minute:"2-digit"};function Xo(n){const o=new Date,l=window.navigator.language,u=[];if(!n.has("homepage.clocks"))return u;const g=n.getConfigArray("homepage.clocks");for(const E of g)if(E.has("label")&&E.has("timezone")){let P=E.getString("label");const w={timeZone:E.getString("timezone"),...gi};try{new Date().toLocaleString(l,w)}catch{console.warn(`The timezone ${w.timeZone} is invalid. Defaulting to GMT`),w.timeZone="GMT",P="GMT"}const j=o.toLocaleTimeString(l,w);u.push({time:j,label:P})}return u}function Ll(n){const o=useApi(configApiRef),l=[],[u,g]=React.useState(l);return React.useEffect(()=>{g(Xo(o));const E=setInterval(()=>{g(Xo(o))},1e3);return()=>{clearInterval(E)}},[o]),u.length!==0?React.createElement(React.Fragment,null,u.map(E=>React.createElement(HeaderLabel,{label:E.label,value:E.time,key:E.label}))):null}const pi=n=>(0,a.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),yi=(0,f.Z)(pi,{name:"BackstageItemCardHeader"});function Ei(n){const{title:o,subtitle:l,children:u}=n,g=yi(n);return t.createElement("div",{className:g.root},l&&t.createElement(ee.Z,{variant:"subtitle2",component:"h3"},l),o&&t.createElement(ee.Z,{variant:"h6",component:"h4"},o),u)}function Ol(n){const{description:o,tags:l,title:u,type:g,subtitle:E,label:P,onClick:w,href:j}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:u,subtitle:E||g})),React.createElement(CardContent,null,l!=null&&l.length?React.createElement(Box,null,l.map((z,oe)=>React.createElement(Chip,{size:"small",label:z,key:oe}))):null,o),React.createElement(CardActions,null,!j&&React.createElement(Button,{to:"#",onClick:w,color:"primary"},P),j&&React.createElement(Button,{to:j,color:"primary"},P)))}const vi=n=>(0,a.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Ai=(0,f.Z)(vi,{name:"BackstageItemCardGrid"});function Ri(n){const{children:o,...l}=n,u=Ai(l);return t.createElement("div",{className:u.root,...l},o)}var Si=e(41547);const Ci=(0,f.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 qo(n){const{themeId:o,children:l}=n,{isMobile:u}=(0,t.useContext)(yr),g=Ci({isMobile:u});return t.createElement(Si.Z,{theme:E=>({...E,page:E.getPageTheme({themeId:o})})},t.createElement("main",{className:g.root},l))}function Ti(n){const{themeId:o,children:l,...u}=n;return t.createElement(qo,{themeId:o},t.createElement(Qo,{...u}),l)}var gn=e(30195);const xl=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())})})}),_o={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function bi(n){const o=new Date(Date.now()+_o.defaultTokenExpiryMillis);if(!n)return o;const[l,u,g]=n.split("."),E=JSON.parse(atob(u));return typeof E.exp!="number"?o:new Date(E.exp*1e3-_o.tokenExpiryMarginMillis)}class Dl{constructor(o){_(this,"options");_(this,"abortController");_(this,"state");this.options=o,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:o}=this.getSessionSync(),l=o.identity.userEntityRef,u=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(l);if(!u)throw new TypeError(`Invalid user entity reference "${l}"`);return u[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 o=this.state.type==="active"?this.state.session:void 0,l=this.fetchSession().then(u=>(this.state={type:"active",session:u,expiresAt:bi(u.backstageIdentity.token)},u),u=>{throw this.state={type:"failed",error:u},u});return this.state={type:"fetching",promise:l,previous:o},l}async fetchSession(){const o=await this.options.discoveryApi.getBaseUrl("auth"),l=await fetch(`${o}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!l.ok)throw await ResponseError.fromResponse(l);return proxiedSessionSchema.parse(await l.json())}}const Fl=n=>{const o=useApi(discoveryApiRef),[{status:l,error:u},{execute:g}]=useAsync(async()=>{const E=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:o});await E.start(),n.onSignInSuccess(E)});return useMountEffect(g),l==="loading"?React.createElement(Progress,null):u?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:u}):null},Pi=(0,f.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),lo=({children:n})=>{const o=Pi();return t.createElement(ye.Z,{component:"li",item:!0,classes:o},n)};class co{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 o="user:default/guest";return{type:"user",userEntityRef:o,ownershipEntityRefs:[o]}}async getCredentials(){return{}}async signOut(){}}function Ii(n){const[o,l,u]=n.split(".");return JSON.parse(atob(l))}class uo{constructor(o){this.result=o}getUserId(){return this.result.userId}static fromResult(o){return new uo(o)}async getIdToken(){var o,l;return(l=(o=this.result).getIdToken)==null?void 0:l.call(o)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const o=await this.getIdToken();if(!o){const g=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:g,ownershipEntityRefs:[g]}}const{sub:l,ent:u}=Ii(o);return{type:"user",userEntityRef:l,ownershipEntityRefs:u!=null?u:[]}}async getCredentials(){var l,u;return{token:await((u=(l=this.result).getIdToken)==null?void 0:u.call(l))}}async signOut(){var o,l;return(l=(o=this.result).signOut)==null?void 0:l.call(o)}}class $r{constructor(o,l,u){_(this,"profilePromise");this.identity=o,this.authApi=l,this.profile=u}static createGuest(){return new co}static fromLegacy(o){return uo.fromResult(o)}static create(o){return new $r(o.identity,o.authApi,o.profile)}getUserId(){const o=this.identity.userEntityRef,l=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(o);if(!l)throw new TypeError(`Invalid user entity reference "${o}"`);return l[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(o){throw this.profilePromise=void 0,o}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const Li={Component:({config:n,onSignInSuccess:o})=>{const{apiRef:l,title:u,message:g}=n,E=(0,c.useApi)(l),P=(0,c.useApi)(c.errorApiRef),w=async()=>{try{const j=await E.getBackstageIdentity({instantPopup:!0});if(!j)throw new Error(`The ${u} provider is not configured to support sign-in`);const z=await E.getProfile();o($r.create({identity:j.identity,profile:z,authApi:E}))}catch(j){P.post(new _n.SP("Login failed",j))}};return t.createElement(lo,null,t.createElement(Yn,{variant:"fullHeight",title:u,actions:t.createElement(y.Z,{color:"primary",variant:"outlined",onClick:w},"Sign In")},t.createElement(ee.Z,{variant:"body1"},g)))},loader:async(n,o)=>{const l=n.get(o),u=await l.getBackstageIdentity({optional:!0});if(!u)return;const g=await l.getProfile();return $r.create({identity:u.identity,profile:g,authApi:l})}},Oi={Component:({onSignInSuccess:n})=>t.createElement(lo,null,t.createElement(Yn,{title:"Guest",variant:"fullHeight",actions:t.createElement(y.Z,{color:"primary",variant:"outlined",onClick:()=>n(new co)},"Enter")},t.createElement(ee.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 co};var xi=e(63955),ea=e(86619),ta=e(74828),Di=e(45455),Fi=e.n(Di);const Bi=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,Mi=(0,f.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),na=n=>{const{ref:o,...l}=n;return{inputRef:o,...l}},wi={Component:({onSignInSuccess:n})=>{const o=Mi(),{register:l,handleSubmit:u,formState:g}=(0,xi.cI)({mode:"onChange"}),{errors:E}=g,P=({userId:w})=>{n($r.fromLegacy({userId:w,profile:{email:`${w}@example.com`}}))};return t.createElement(lo,null,t.createElement(Yn,{title:"Custom User",variant:"fullHeight"},t.createElement(ee.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:o.form,onSubmit:u(P)},t.createElement(O.Z,null,t.createElement(ea.Z,{...na(l("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(E.userId)}),E.userId&&t.createElement(ta.Z,{error:!0},E.userId.message)),t.createElement(O.Z,null,t.createElement(ea.Z,{...na(l("idToken",{required:!1,validate:w=>!w||Bi.test(w)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(E.idToken)}),E.idToken&&t.createElement(ta.Z,{error:!0},E.idToken.message)),t.createElement(y.Z,{type:"submit",color:"primary",variant:"outlined",className:o.button,disabled:!(g!=null&&g.isDirty)||!Fi()(E)},"Continue"))))},loader:async()=>{}},Qr="@backstage/core:SignInPage:provider",ra={guest:Oi,custom:wi,common:Li};function oa(n,o){if(n in o)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function Zl(n){return n.reduce((l,u)=>{if(typeof u=="string")return oa(u,l),l[u]={components:ra[u],id:u},l;const{id:g}=u;return oa(g,l),l[g]={components:ra.common,id:g,config:u},l},{})}const zl=(n,o)=>{const l=useApi(errorApiRef),u=useApiHolder(),[g,E]=useState(!0),P=useCallback(j=>{o(IdentityApiSignOutProxy.from({identityApi:j,signOut:async()=>{var z;localStorage.removeItem(Qr),await((z=j.signOut)==null?void 0:z.call(j))}}))},[o]);useLayoutEffect(()=>{var Q;if(!g)return;const j=localStorage.getItem(Qr);if(j===null){E(!1);return}const z=n[j];if(!z){E(!1);return}let oe=!1;return z.components.loader(u,(Q=z.config)==null?void 0:Q.apiRef).then(Re=>{oe||(Re?P(Re):E(!1))}).catch(Re=>{oe||(localStorage.removeItem(Qr),l.post(Re),E(!1))}),()=>{oe=!0}},[g,l,o,u,n,P]);const w=useMemo(()=>Object.keys(n).map(j=>{const z=n[j],{Component:oe}=z.components,Q=Re=>{localStorage.setItem(Qr,z.id),P(Re)};return React.createElement(oe,{key:z.id,config:z.config,onSignInSuccess:Q})}),[n,P]);return[g,w]},$i=({onSignInSuccess:n,providers:o=[],title:l,align:u="left"})=>{const g=useApi(configApiRef),E=useStyles(),P=getSignInProviders(o),[w,j]=useSignInProviders(P,n);return w?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:g.getString("app.title")}),React.createElement(Content,null,l&&React.createElement(ContentHeader,{title:l,textAlign:u}),React.createElement(Grid,{container:!0,justifyContent:u==="center"?u:"flex-start",spacing:2,component:"ul",classes:E},j)))},Ui=({provider:n,auto:o,onSignInSuccess:l})=>{const u=useStyles(),g=useApi(n.apiRef),E=useApi(configApiRef),[P,w]=useState(),[j,z]=useState(!1),oe=async({checkExisting:Q,showPopup:Re})=>{try{let Ae;if(Q&&(Ae=await g.getBackstageIdentity({optional:!0})),!Ae&&(Re||o)&&(z(!0),Ae=await g.getBackstageIdentity({instantPopup:!0}),!Ae))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Ae){z(!0);return}const Se=await g.getProfile();l(UserIdentity.create({identity:Ae.identity,authApi:g,profile:Se}))}catch(Ae){w(Ae),z(!0)}};return useMountEffect(()=>oe({checkExisting:!0})),j?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:E.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:u},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{oe({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),P&&P.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},P.message)))))):React.createElement(Progress,null)};function Wl(n){return"provider"in n?React.createElement(Ui,{...n}):React.createElement($i,{...n})}const Ni=(0,f.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"}),Zi=(0,sn.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(mr.Z);function Hl(n){const{slackChannel:o,errorBoundaryProps:l,children:u,title:g,deepLink:E,value:P,onChange:w}=n,j=Ni(),[z,oe]=useState(0),Q=w||((Se,lt)=>oe(lt));let Re;P?React.Children.map(u,Se=>{React.isValidElement(Se)&&(Se==null?void 0:Se.props.value)===P&&(Re=Se==null?void 0:Se.props.children)}):React.Children.map(u,(Se,lt)=>{React.isValidElement(Se)&<===z&&(Re=Se==null?void 0:Se.props.children)});const Ae=l||(o?{slackChannel:o}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Ae},g&&React.createElement(Zi,{title:g}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:j,value:P||z,onChange:Q},u),React.createElement(Divider,null),React.createElement(CardContent,null,Re),E&&React.createElement(BottomLink,{...E})))}const zi=(0,f.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 jl(n){const{children:o,...l}=n,u=zi();return React.createElement(Tab,{disableRipple:!0,classes:u,...l})}},88609:function(X,s,e){"use strict";e.d(s,{Os:function(){return m},fC:function(){return A}});var r=e(76241),t=e(2784);const c=(0,r.CT)("analytics-context"),m=()=>{const a=(0,t.useContext)(c);if(a===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const i=a.atVersion(1);if(i===void 0)throw new Error("No context found for version 1.");return i},A=a=>{const{attributes:i,children:d}=a,p={...m(),...i},v=(0,r.EI)({1:p});return t.createElement(c.Provider,{value:v},d)};function f(a,i){const d=y=>React.createElement(A,{attributes:i},React.createElement(a,{...y}));return d.displayName=`WithAnalyticsContext(${a.displayName||a.name||"Component"})`,d}},28461:function(X,s,e){"use strict";e.d(s,{f:function(){return r.fC},z:function(){return f}});var r=e(88609),t=e(27399),c=e(2784);class m{constructor(i,d={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=i,this.context=d}setContext(i){this.context=i}captureEvent(i,d,{value:y,attributes:p}={}){try{this.analyticsApi.captureEvent({action:i,subject:d,value:y,attributes:p,context:this.context})}catch(v){console.warn("Error during analytics event capture. %o",v)}}}function A(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function f(){const a=(0,c.useRef)(null),i=(0,r.Os)(),d=A();function y(){return a.current===null&&(a.current=new m(d)),a.current}const p=y();return p.setContext(i),p}},39135:function(X,s,e){"use strict";e.d(s,{CL:function(){return $},sM:function(){return t},$v:function(){return p},v_:function(){return v},hg:function(){return T},uB:function(){return y},bq:function(){return d},Ds:function(){return I},NW:function(){return B},VE:function(){return J},W0:function(){return L},gP:function(){return M},F4:function(){return m},ux:function(){return f},Kp:function(){return c},$4:function(){return F},p_:function(){return a},ZM:function(){return x},D:function(){return A},gW:function(){return i},E6:function(){return Y}});var r=e(86833),t;(function(te){const ge="SignedIn";te.SignedIn=ge;const Ve="SignedOut";te.SignedOut=Ve})(t||(t={}));const c=(0,r.createApiRef)({id:"core.auth.google"}),m=(0,r.createApiRef)({id:"core.auth.github"}),A=(0,r.createApiRef)({id:"core.auth.okta"}),f=(0,r.createApiRef)({id:"core.auth.gitlab"}),a=(0,r.createApiRef)({id:"core.auth.microsoft"}),i=(0,r.createApiRef)({id:"core.auth.onelogin"}),d=(0,r.createApiRef)({id:"core.auth.bitbucket"}),y=(0,r.createApiRef)({id:"core.auth.atlassian"}),p=(0,r.createApiRef)({id:"core.alert"}),v=(0,r.createApiRef)({id:"core.analytics"}),T=(0,r.createApiRef)({id:"core.apptheme"}),I=(0,r.createApiRef)({id:"core.config"}),B=(0,r.createApiRef)({id:"core.discovery"}),J=(0,r.createApiRef)({id:"core.error"});var $;(function(te){te[te.None=0]="None";const Ve=1;te[te.Active=Ve]="Active"})($||($={}));const L=(0,r.createApiRef)({id:"core.featureflags"}),M=(0,r.createApiRef)({id:"core.fetch"}),F=(0,r.createApiRef)({id:"core.identity"}),x=(0,r.createApiRef)({id:"core.oauthrequest"}),Y=(0,r.createApiRef)({id:"core.storage"})},27399:function(X,s,e){"use strict";e.d(s,{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},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.createApiRef},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_},oauthRequestApiRef:function(){return t.ZM},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},storageApiRef:function(){return t.E6},useApi:function(){return r.useApi},useApiHolder:function(){return r.useApiHolder}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(s,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(s,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(s,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(s,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(s,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(s,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(s,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"bitbucketAuthApiRef")&&e.d(s,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(s,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(s,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createReactExtension")&&e.d(s,{createReactExtension:function(){return r.createReactExtension}}),e.o(r,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(s,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(s,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(s,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(s,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(s,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(s,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(s,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(s,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(s,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(s,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(s,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(s,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(s,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(s,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(s,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(s,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(s,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(s,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(X,s,e){"use strict";e.d(s,{T:function(){return t}});class r{constructor(m){if(this.config=m,!m.id.split(".").flatMap(f=>f.split("-")).every(f=>f.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${m.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(c){return new r(c)}},25182:function(X,s,e){"use strict";e.d(s,{n:function(){return r}});function r(t,c){return"id"in t?{api:t,deps:{},factory:()=>c}:t}},86833:function(X,s,e){"use strict";e.d(s,{createApiFactory:function(){return A.n},createApiRef:function(){return t.T},useApi:function(){return r.h_},useApiHolder:function(){return r.I_}});var r=e(5761),t=e(90515),c=e(16362),m=e.n(c);e.o(c,"FeatureFlagState")&&e.d(s,{FeatureFlagState:function(){return c.FeatureFlagState}}),e.o(c,"SessionState")&&e.d(s,{SessionState:function(){return c.SessionState}}),e.o(c,"alertApiRef")&&e.d(s,{alertApiRef:function(){return c.alertApiRef}}),e.o(c,"analyticsApiRef")&&e.d(s,{analyticsApiRef:function(){return c.analyticsApiRef}}),e.o(c,"appThemeApiRef")&&e.d(s,{appThemeApiRef:function(){return c.appThemeApiRef}}),e.o(c,"atlassianAuthApiRef")&&e.d(s,{atlassianAuthApiRef:function(){return c.atlassianAuthApiRef}}),e.o(c,"attachComponentData")&&e.d(s,{attachComponentData:function(){return c.attachComponentData}}),e.o(c,"bitbucketAuthApiRef")&&e.d(s,{bitbucketAuthApiRef:function(){return c.bitbucketAuthApiRef}}),e.o(c,"configApiRef")&&e.d(s,{configApiRef:function(){return c.configApiRef}}),e.o(c,"createApiFactory")&&e.d(s,{createApiFactory:function(){return c.createApiFactory}}),e.o(c,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return c.createComponentExtension}}),e.o(c,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return c.createExternalRouteRef}}),e.o(c,"createPlugin")&&e.d(s,{createPlugin:function(){return c.createPlugin}}),e.o(c,"createReactExtension")&&e.d(s,{createReactExtension:function(){return c.createReactExtension}}),e.o(c,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return c.createRoutableExtension}}),e.o(c,"createRouteRef")&&e.d(s,{createRouteRef:function(){return c.createRouteRef}}),e.o(c,"discoveryApiRef")&&e.d(s,{discoveryApiRef:function(){return c.discoveryApiRef}}),e.o(c,"errorApiRef")&&e.d(s,{errorApiRef:function(){return c.errorApiRef}}),e.o(c,"featureFlagsApiRef")&&e.d(s,{featureFlagsApiRef:function(){return c.featureFlagsApiRef}}),e.o(c,"fetchApiRef")&&e.d(s,{fetchApiRef:function(){return c.fetchApiRef}}),e.o(c,"getComponentData")&&e.d(s,{getComponentData:function(){return c.getComponentData}}),e.o(c,"githubAuthApiRef")&&e.d(s,{githubAuthApiRef:function(){return c.githubAuthApiRef}}),e.o(c,"gitlabAuthApiRef")&&e.d(s,{gitlabAuthApiRef:function(){return c.gitlabAuthApiRef}}),e.o(c,"googleAuthApiRef")&&e.d(s,{googleAuthApiRef:function(){return c.googleAuthApiRef}}),e.o(c,"identityApiRef")&&e.d(s,{identityApiRef:function(){return c.identityApiRef}}),e.o(c,"microsoftAuthApiRef")&&e.d(s,{microsoftAuthApiRef:function(){return c.microsoftAuthApiRef}}),e.o(c,"oauthRequestApiRef")&&e.d(s,{oauthRequestApiRef:function(){return c.oauthRequestApiRef}}),e.o(c,"oktaAuthApiRef")&&e.d(s,{oktaAuthApiRef:function(){return c.oktaAuthApiRef}}),e.o(c,"oneloginAuthApiRef")&&e.d(s,{oneloginAuthApiRef:function(){return c.oneloginAuthApiRef}}),e.o(c,"storageApiRef")&&e.d(s,{storageApiRef:function(){return c.storageApiRef}}),e.o(c,"useApp")&&e.d(s,{useApp:function(){return c.useApp}}),e.o(c,"useElementFilter")&&e.d(s,{useElementFilter:function(){return c.useElementFilter}}),e.o(c,"useRouteRef")&&e.d(s,{useRouteRef:function(){return c.useRouteRef}}),e.o(c,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return c.useRouteRefParams}});var A=e(25182)},16362:function(){},5761:function(X,s,e){"use strict";e.d(s,{I_:function(){return c},h_:function(){return m}});var r=e(2784),t=e(76241);function c(){const f=(0,t.Vt)("api-context");if(!f)throw new Error("API context is not available");const a=f.atVersion(1);if(!a)throw new Error("ApiContext v1 not available");return a}function m(f){const i=c().get(f);if(!i)throw new Error(`No implementation available for ${f}`);return i}function A(f){return function(i){const d=p=>{const v=c(),T={};for(const I in f)if(f.hasOwnProperty(I)){const B=f[I],J=v.get(B);if(!J)throw new Error(`No implementation available for ${B}`);T[I]=J}return React.createElement(i,{...p,...T})},y=i.displayName||i.name||"Component";return d.displayName=`withApis(${y})`,d}}},31311:function(X,s,e){"use strict";e.d(s,{useApp:function(){return r.q}});var r=e(32483),t=e(67229),c=e.n(t);e.o(t,"attachComponentData")&&e.d(s,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(s,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(s,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(s,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createReactExtension")&&e.d(s,{createReactExtension:function(){return t.createReactExtension}}),e.o(t,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(s,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(s,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(s,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(s,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(s,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(s,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(X,s,e){"use strict";e.d(s,{q:function(){return t}});var r=e(76241);const t=()=>{const c=(0,r.Vt)("app-context");if(!c)throw new Error("App context is not available");const m=c.atVersion(1);if(!m)throw new Error("AppContext v1 not available");return m}},74181:function(X,s,e){"use strict";e.d(s,{R5:function(){return m},CO:function(){return v},YO:function(){return T},P4:function(){return p},IY:function(){return A},vJ:function(){return $}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),c="__backstage_data";function m(L,M,F){var te;const x=L;let Y=(te=x[c])!=null?te:t.get(L);if(Y||(Y={map:new Map},Object.defineProperty(x,c,{enumerable:!1,configurable:!0,writable:!1,value:Y}),t.set(L,Y)),Y.map.has(M)){const ge=L.displayName||L.name;throw new Error(`Attempted to attach duplicate data "${M}" to component "${ge}"`)}Y.map.set(M,F)}function A(L,M){var Y;if(!L)return;const F=L.type;if(!F)return;const x=(Y=F[c])!=null?Y:t.get(F);if(!!x)return x.map.get(M)}var f=e(2784),a=e(88609),i=e(31311),d=e(82772);class y extends f.Component{constructor(){super(...arguments);_(this,"state",{error:void 0});_(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(F){return{error:F}}render(){const{error:F}=this.state,{app:x,plugin:Y}=this.props,{ErrorBoundaryFallback:te}=x.getComponents();return F?f.createElement(te,{error:F,resetError:this.handleErrorReset,plugin:Y}):this.props.children}}function p(L){const{component:M,mountPoint:F,name:x}=L;return T({component:{lazy:()=>M().then(Y=>{const te=Ve=>{try{(0,d.tg)(F)}catch(He){if(typeof He=="object"&&He!==null){const{message:pe}=He;if(typeof pe=="string"&&pe.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 He}return f.createElement(Y,{...Ve})},ge=x||Y.displayName||Y.name||"LazyComponent";return te.displayName=`RoutableExtension(${ge})`,te},Y=>ge=>{const Ve=(0,i.useApp)(),{BootErrorPage:He}=Ve.getComponents();return f.createElement(He,{step:"load-chunk",error:Y})})},data:{"core.mountPoint":F},name:x})}function v(L){const{component:M,name:F}=L;return T({component:M,name:F})}function T(L){const{data:M={},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 x;if("lazy"in L.component){const te=L.component.lazy;x=(0,f.lazy)(()=>te().then(ge=>({default:ge})))}else x=L.component.sync;const Y=F||x.displayName||x.name||"Component";return{expose(te){const ge=Ve=>{const He=(0,i.useApp)(),{Progress:pe}=He.getComponents(),Ye=M==null?void 0:M["core.mountPoint"];return f.createElement(f.Suspense,{fallback:f.createElement(pe,null)},f.createElement(y,{app:He,plugin:te},f.createElement(a.fC,{attributes:{pluginId:te.getId(),...F&&{extension:F},...Ye&&{routeRef:Ye.id}}},f.createElement(x,{...Ve}))))};m(ge,"core.plugin",te);for(const[Ve,He]of Object.entries(M))m(ge,Ve,He);return ge.displayName=`Extension(${Y})`,ge}}}var I=e(27399);function B(L,M,F,x){return f.Children.toArray(L).flatMap(Y=>{if(!(0,f.isValidElement)(Y))return[];if(Y.type===f.Fragment)return B(Y.props.children,M,F,x);if(A(Y,"core.featureFlagged")){const te=Y.props;return("with"in te?M.isActive(te.with):!M.isActive(te.without))?B(Y.props.children,M,F,x):[]}if(F===void 0||F(Y))return[Y];if(x)throw new Error(x);return B(Y.props.children,M,F,x)})}class J{constructor(M,F){this.node=M,this.featureFlagsApi=F}selectByComponentData(M){const F=B(this.node,this.featureFlagsApi,x=>A(x,M.key)!==void 0,M.withStrictError);return new J(F,this.featureFlagsApi)}findComponentData(M){return B(this.node,this.featureFlagsApi,x=>A(x,M.key)!==void 0).map(x=>A(x,M.key)).filter(x=>x!==void 0)}getElements(){return B(this.node,this.featureFlagsApi)}}function $(L,M,F=[]){const x=(0,I.useApi)(I.featureFlagsApiRef),Y=new J(L,x);return(0,f.useMemo)(()=>M(Y),[L,...F])}},80274:function(){},36964:function(X,s,e){"use strict";e.d(s,{AnalyticsContext:function(){return r.f},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},attachComponentData:function(){return m.R5},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},createComponentExtension:function(){return m.CO},createExternalRouteRef:function(){return i.x8},createPlugin:function(){return a.r},createReactExtension:function(){return m.YO},createRoutableExtension:function(){return m.P4},createRouteRef:function(){return i.NT},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},getComponentData:function(){return m.IY},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},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},storageApiRef:function(){return t.storageApiRef},useAnalytics:function(){return r.z},useApp:function(){return c.useApp},useElementFilter:function(){return m.vJ},useRouteRef:function(){return i.tg},useRouteRefParams:function(){return i.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(s,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(s,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(s,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(s,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createReactExtension")&&e.d(s,{createReactExtension:function(){return t.createReactExtension}}),e.o(t,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(s,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(s,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(s,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(s,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(s,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(s,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(s,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return t.useRouteRefParams}});var c=e(31311);e.o(c,"attachComponentData")&&e.d(s,{attachComponentData:function(){return c.attachComponentData}}),e.o(c,"createApiFactory")&&e.d(s,{createApiFactory:function(){return c.createApiFactory}}),e.o(c,"createApiRef")&&e.d(s,{createApiRef:function(){return c.createApiRef}}),e.o(c,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return c.createComponentExtension}}),e.o(c,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return c.createExternalRouteRef}}),e.o(c,"createPlugin")&&e.d(s,{createPlugin:function(){return c.createPlugin}}),e.o(c,"createReactExtension")&&e.d(s,{createReactExtension:function(){return c.createReactExtension}}),e.o(c,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return c.createRoutableExtension}}),e.o(c,"createRouteRef")&&e.d(s,{createRouteRef:function(){return c.createRouteRef}}),e.o(c,"getComponentData")&&e.d(s,{getComponentData:function(){return c.getComponentData}}),e.o(c,"useApi")&&e.d(s,{useApi:function(){return c.useApi}}),e.o(c,"useApiHolder")&&e.d(s,{useApiHolder:function(){return c.useApiHolder}}),e.o(c,"useElementFilter")&&e.d(s,{useElementFilter:function(){return c.useElementFilter}}),e.o(c,"useRouteRef")&&e.d(s,{useRouteRef:function(){return c.useRouteRef}}),e.o(c,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return c.useRouteRefParams}});var m=e(74181),A=e(80274),f=e.n(A);e.o(A,"createApiFactory")&&e.d(s,{createApiFactory:function(){return A.createApiFactory}}),e.o(A,"createApiRef")&&e.d(s,{createApiRef:function(){return A.createApiRef}}),e.o(A,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return A.createExternalRouteRef}}),e.o(A,"createPlugin")&&e.d(s,{createPlugin:function(){return A.createPlugin}}),e.o(A,"createRouteRef")&&e.d(s,{createRouteRef:function(){return A.createRouteRef}}),e.o(A,"useApi")&&e.d(s,{useApi:function(){return A.useApi}}),e.o(A,"useApiHolder")&&e.d(s,{useApiHolder:function(){return A.useApiHolder}}),e.o(A,"useRouteRef")&&e.d(s,{useRouteRef:function(){return A.useRouteRef}}),e.o(A,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return A.useRouteRefParams}});var a=e(96896),i=e(82772)},96896:function(X,s,e){"use strict";e.d(s,{r:function(){return t}});class r{constructor(m){this.config=m}getId(){return this.config.id}getApis(){var m;return(m=this.config.apis)!=null?m:[]}getFeatureFlags(){var m,A;return(A=(m=this.config.featureFlags)==null?void 0:m.slice())!=null?A:[]}get routes(){var m;return(m=this.config.routes)!=null?m:{}}get externalRoutes(){var m;return(m=this.config.externalRoutes)!=null?m:{}}provide(m){return m.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(c){return new r(c)}},82772:function(X,s,e){var I,B,J;"use strict";e.d(s,{x8:function(){return d},NT:function(){return m},tg:function(){return v},Oi:function(){return T}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class c{constructor(L,M){_(this,I,"absolute");this.id=L,this.params=M}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}I=t;function m($){var L;return new c($.id,(L=$.params)!=null?L:[])}const A=/^\w+$/;class f{constructor(L,M,F,x){_(this,B,"sub");this.id=L,this.path=M,this.parent=F,this.params=x}toString(){return`routeRef{type=sub,id=${this.id}}`}}B=t;function a($){const{id:L,path:M,parent:F}=$,x=M.split("/").filter(ge=>ge.startsWith(":")).map(ge=>ge.substring(1)),Y=[...F.params,...x];if(F.params.some(ge=>x.includes(ge)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!M.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${M}'`);if(M.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${M}'`);for(const ge of x)if(!A.test(ge))throw new Error(`SubRouteRef path has invalid param, got '${ge}'`);return new f(L,M,F,Y)}class i{constructor(L,M,F){_(this,J,"external");this.id=L,this.params=M,this.optional=F}toString(){return`routeRef{type=external,id=${this.id}}`}}J=t;function d($){var L;return new i($.id,(L=$.params)!=null?L:[],Boolean($.optional))}var y=e(2784),p=e(10289);function v($){const L=(0,p.TH)(),M=(0,r.Vt)("routing-context");if(!M)throw new Error("Routing context is not available");const F=M.atVersion(1),x=(0,y.useMemo)(()=>F&&F.resolve($,L),[F,$,L]);if(!M)throw new Error("useRouteRef used outside of routing context");if(!F)throw new Error("RoutingContext v1 not available");const Y="optional"in $&&$.optional;if(!x&&!Y)throw new Error(`No path for ${$}`);return x}function T($){return(0,p.UO)()}},10179:function(X,s,e){"use strict";e.d(s,{SP:function(){return I},dR:function(){return p},VL:function(){return J},BD:function(){return t}});function r($){if(typeof $!="object"||$===null||Array.isArray($))return!1;const L=$;return!(typeof L.name!="string"||L.name===""||typeof L.message!="string")}function t($){if(typeof $!="object"||$===null||Array.isArray($))throw new Error(`Encountered invalid error, not an object, got '${$}'`);const L=$;if(typeof L.name!="string"||L.name==="")throw new Error(`Encountered error object without a name, got '${$}'`);if(typeof L.message!="string")throw new Error(`Encountered error object without a message, got '${$}'`)}var c=e(24852);function m($,L){const M=serializeErrorInternal($),F={name:"Unknown",message:"<no reason given>",...M};return L!=null&&L.includeStack||delete F.stack,F}function A($){const L=(0,c.deserializeError)($);return $.stack||(L.stack=void 0),L}function f($){if(r($)){const L=String($);return L!=="[object Object]"?L:`${$.name}: ${$.message}`}return`unknown error '${$}'`}class a extends Error{constructor(M,F){var Y;let x=M;if(F!==void 0){const te=f(F);x?x+=`; caused by ${te}`:x=`caused by ${te}`}super(x);_(this,"cause");(Y=Error.captureStackTrace)==null||Y.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(F)?F:void 0}}class i extends null{}class d extends null{}class y extends null{}class p extends a{}class v extends null{}class T extends null{}class I extends a{constructor(L,M){super(L,M),this.name=r(M)?M.name:"Error"}}async function B($){var L;try{const M=await $.text();if(M){if((L=$.headers.get("content-type"))!=null&&L.startsWith("application/json"))try{const F=JSON.parse(M);if(F.error&&F.response)return F}catch{}return{error:{name:"Error",message:`Request failed with status ${$.status} ${$.statusText}, ${M}`},response:{statusCode:$.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${$.status} ${$.statusText}`},response:{statusCode:$.status}}}class J extends Error{constructor(M){super(M.message);_(this,"response");_(this,"body");_(this,"cause");this.name="ResponseError",this.response=M.response,this.body=M.data,this.cause=M.cause}static async fromResponse(M){const F=await B(M),x=F.response.statusCode||M.status,Y=F.error.name||M.statusText,te=`Request failed with ${x} ${Y}`,ge=A(F.error);return new J({message:te,response:M,data:F,cause:ge})}}},36356:function(X,s,e){var p,v,T,I,B;"use strict";e.d(s,{nW:function(){return y},ae:function(){return f},q3:function(){return a}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class c{constructor(L){Sn(this,p,void 0);Ln(this,p,L)}async getCredentials(L){const M=new URL(L.url),F=Xe(this,p).find(x=>x.isUrlSupported(M));if(!F)throw new Error(`No auth provider available for '${L.url}', see https://backstage.io/link?scm-auth`);return F.getCredentials(L)}}p=new WeakMap;const J=class{constructor(L,M,F,x){Sn(this,v,void 0);Sn(this,T,void 0);Sn(this,I,void 0);Sn(this,B,void 0);Ln(this,v,M),Ln(this,T,F),Ln(this,I,x),Ln(this,B,L)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef,bitbucket:bitbucketAuthApiRef},factory:({github:L,gitlab:M,azure:F,bitbucket:x})=>J.merge(J.forGithub(L),J.forGitlab(M),J.forAzure(F),J.forBitbucket(x))})}static forAuthApi(L,M){return new J("generic",L,M.host,M.scopeMapping)}static forGithub(L,M){var x;const F=(x=M==null?void 0:M.host)!=null?x:"github.com";return new J("github",L,F,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(L,M){var x;const F=(x=M==null?void 0:M.host)!=null?x:"gitlab.com";return new J("gitlab",L,F,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(L,M){var x;const F=(x=M==null?void 0:M.host)!=null?x:"dev.azure.com";return new J("azure",L,F,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(L,M){var x;const F=(x=M==null?void 0:M.host)!=null?x:"bitbucket.org";return new J("bitbucket",L,F,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...L){return new c(L)}isUrlSupported(L){return L.host===Xe(this,T)}getAdditionalScopesForProvider(L){var M,F;return!(L!=null&&L.customScopes)||Xe(this,B)==="generic"?[]:(F=(M=L.customScopes)==null?void 0:M[Xe(this,B)])!=null?F:[]}async getCredentials(L){const{url:M,additionalScope:F,...x}=L,Y=Xe(this,I).default.slice();F!=null&&F.repoWrite&&Y.push(...Xe(this,I).repoWrite);const te=this.getAdditionalScopesForProvider(F);te.length&&Y.push(...te);const ge=[...new Set(Y)],Ve=await Xe(this,v).getAccessToken(ge,x);return{token:Ve,headers:{Authorization:`Bearer ${Ve}`}}}};let m=J;v=new WeakMap,T=new WeakMap,I=new WeakMap,B=new WeakMap;var A=e(68370);class f{static fromConfig(L){return A.Lx.fromConfig(L)}}const a=(0,r.createApiRef)({id:"integration.scmintegrations"});var i=e(73250),d=e(2784);const y=$=>{var Y;const{type:L}=$,M=(0,r.useApp)(),F=i.Z,x=L&&(Y=M.getSystemIcon(L))!=null?Y:F;return d.createElement(x,null)}},68370:function(X,s,e){var an,Zt,Kt,Jt,Qt,wt,tn;"use strict";e.d(s,{Lx:function(){return Ht},Pb:function(){return yt}});var r=e(82717),t=e.n(r),c=e(76635);function m(U){const h=new URL("http://example.com");return h.host=U,h.host===U}function A(U){try{return new URL(U),!0}catch{return!1}}function f(U,h){return{list(){return U},byUrl(C){try{const D=typeof C=="string"?new URL(C):C;return U.find(H=>h(H)===D.host)}catch{return}},byHost(C){return U.find(D=>h(D)===C)}}}function a(U){const{url:h,base:C,lineNumber:D}=U;try{return new URL(h),h}catch{}let H;if(h.startsWith("/")){const{filepath:he}=t()(C);H=new URL(C);const le=(0,c.trimEnd)(H.pathname.substring(0,H.pathname.length-he.length),"/");H.pathname=`${le}${h}`}else H=new URL(h,C);return H.search=new URL(C).search,D&&(H.hash=`L${D}`),H.toString()}const i="amazonaws.com";function d(U){var $t;const h=U.getOptionalString("endpoint"),C=($t=U.getOptionalBoolean("s3ForcePathStyle"))!=null?$t:!1;let D,H;if(h){try{const Lt=new URL(h);D=Lt.host,H=Lt.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${h}' is not a valid URL`)}if(H!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${h}'`)}else D=i;const he=U.getOptionalString("accessKeyId"),le=U.getOptionalString("secretAccessKey"),$e=U.getOptionalString("roleArn"),nt=U.getOptionalString("externalId");return{host:D,endpoint:h,s3ForcePathStyle:C,accessKeyId:he,secretAccessKey:le,roleArn:$e,externalId:nt}}function y(U){const h=U.map(d);return h.some(C=>C.host===i)||h.push({host:i}),h}const jt=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(h){this.integrationConfig=h}resolveUrl(h){return a(h)}resolveEditUrl(h){return h}};let p=jt;_(p,"factory",({config:h})=>{var D;const C=y((D=h.getOptionalConfigArray("integrations.awsS3"))!=null?D:[]);return f(C.map(H=>new jt(H)),H=>H.config.host)});const v="GB",Vn=class{constructor(h,C,D,H,he,le){Sn(this,an,void 0);Sn(this,Zt,void 0);Sn(this,Kt,void 0);Sn(this,Jt,void 0);Sn(this,Qt,void 0);Sn(this,wt,void 0);Sn(this,tn,(...h)=>{const C=new URL(Xe(this,an));return C.pathname=h.map(D=>encodeURIComponent(D)).join("/"),C});Ln(this,an,h),Ln(this,Zt,C),Ln(this,Kt,D),Ln(this,Jt,H),Ln(this,Qt,he),Ln(this,wt,le)}static fromRepoUrl(h){var Lt;const C=new URL(h);let D,H,he;const le=C.pathname.split("/").map(wn=>decodeURIComponent(wn));if(le[2]==="_git"?(D=le[1],H=he=le[3]):le[3]==="_git"&&(D=le[1],H=le[2],he=le[4]),!D||!H||!he)throw new Error("Azure URL must point to a git repository");const $e=(Lt=C.searchParams.get("path"))!=null?Lt:void 0;let nt;const $t=C.searchParams.get("version");if($t){if($t.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");nt=$t.slice(2)}return new Vn(C.origin,D,H,he,$e,nt)}toRepoUrl(){let h;return Xe(this,Kt)===Xe(this,Jt)?h=Xe(this,tn).call(this,Xe(this,Zt),"_git",Xe(this,Jt)):h=Xe(this,tn).call(this,Xe(this,Zt),Xe(this,Kt),"_git",Xe(this,Jt)),Xe(this,Qt)&&h.searchParams.set("path",Xe(this,Qt)),Xe(this,wt)&&h.searchParams.set("version",v+Xe(this,wt)),h.toString()}toFileUrl(){if(!Xe(this,Qt))throw new Error("Azure URL must point to a specific path to be able to download a file");const h=Xe(this,tn).call(this,Xe(this,Zt),Xe(this,Kt),"_apis","git","repositories",Xe(this,Jt),"items");return h.searchParams.set("api-version","6.0"),h.searchParams.set("path",Xe(this,Qt)),Xe(this,wt)&&h.searchParams.set("version",Xe(this,wt)),h.toString()}toArchiveUrl(){const h=Xe(this,tn).call(this,Xe(this,Zt),Xe(this,Kt),"_apis","git","repositories",Xe(this,Jt),"items");return h.searchParams.set("recursionLevel","full"),h.searchParams.set("download","true"),h.searchParams.set("api-version","6.0"),Xe(this,Qt)&&h.searchParams.set("scopePath",Xe(this,Qt)),Xe(this,wt)&&h.searchParams.set("version",Xe(this,wt)),h.toString()}toCommitsUrl(){const h=Xe(this,tn).call(this,Xe(this,Zt),Xe(this,Kt),"_apis","git","repositories",Xe(this,Jt),"commits");return h.searchParams.set("api-version","6.0"),Xe(this,wt)&&h.searchParams.set("searchCriteria.itemVersion.version",Xe(this,wt)),h.toString()}getOwner(){return Xe(this,Zt)}getProject(){return Xe(this,Kt)}getRepo(){return Xe(this,Jt)}getPath(){return Xe(this,Qt)}getRef(){return Xe(this,wt)}};let T=Vn;an=new WeakMap,Zt=new WeakMap,Kt=new WeakMap,Jt=new WeakMap,Qt=new WeakMap,wt=new WeakMap,tn=new WeakMap;const I="dev.azure.com";function B(U){var D;const h=(D=U.getOptionalString("host"))!=null?D:I,C=U.getOptionalString("token");if(!m(h))throw new Error(`Invalid Azure integration config, '${h}' is not a valid host`);return{host:h,token:C}}function J(U){const h=U.map(B);return h.some(C=>C.host===I)||h.push({host:I}),h}const On=class{constructor(h){this.integrationConfig=h}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){var H;const{url:C,base:D}=h;if(A(C))return C;try{const he=T.fromRepoUrl(D),le=new URL(D),$e=new URL(`https://a.com${(H=he.getPath())!=null?H:""}`),nt=new URL(C,$e).pathname;return le.searchParams.set("path",nt),h.lineNumber&&(le.searchParams.set("line",String(h.lineNumber)),le.searchParams.set("lineEnd",String(h.lineNumber+1)),le.searchParams.set("lineStartColumn","1"),le.searchParams.set("lineEndColumn","1")),le.toString()}catch{return new URL(C,D).toString()}}resolveEditUrl(h){return h}};let $=On;_($,"factory",({config:h})=>{var D;const C=J((D=h.getOptionalConfigArray("integrations.azure"))!=null?D:[]);return f(C.map(H=>new On(H)),H=>H.config.host)});var L=e(48834).Buffer;function M(U){return AzureUrl.fromRepoUrl(U).toFileUrl()}function F(U){return AzureUrl.fromRepoUrl(U).toArchiveUrl()}function x(U){return AzureUrl.fromRepoUrl(U).toCommitsUrl()}function Y(U,h){const C=h?{...h}:{};if(U.token){const D=L.from(`:${U.token}`,"utf8");C.Authorization=`Basic ${D.toString("base64")}`}return{headers:C}}const te="bitbucket.org",ge="https://api.bitbucket.org/2.0";function Ve(U){var le;const h=(le=U.getOptionalString("host"))!=null?le:te;let C=U.getOptionalString("apiBaseUrl");const D=U.getOptionalString("token"),H=U.getOptionalString("username"),he=U.getOptionalString("appPassword");if(!m(h))throw new Error(`Invalid Bitbucket integration config, '${h}' is not a valid host`);return C?C=(0,c.trimEnd)(C,"/"):h===te?C=ge:C=`https://${h}/rest/api/1.0`,{host:h,apiBaseUrl:C,token:D,username:H,appPassword:he}}function He(U){const h=U.map(Ve);return h.some(C=>C.host===te)||h.push({host:te,apiBaseUrl:ge}),h}const mn=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const C=a(h);if(!h.lineNumber)return C;const D=new URL(C);return this.integrationConfig.host==="bitbucket.org"?D.hash=`lines-${h.lineNumber}`:D.hash=`${h.lineNumber}`,D.toString()}resolveEditUrl(h){const C=t()(h),D=new URL(h);return D.searchParams.set("mode","edit"),D.searchParams.set("spa","0"),D.searchParams.set("at",C.ref),D.toString()}};let pe=mn;_(pe,"factory",({config:h})=>{var D,H,he;const C=He((he=h.getOptionalConfigArray("integrations.bitbucket"))!=null?he:[...(D=h.getOptionalConfigArray("integrations.bitbucketCloud"))!=null?D:[],...(H=h.getOptionalConfigArray("integrations.bitbucketServer"))!=null?H:[]]);return f(C.map(le=>new mn(le)),le=>le.config.host)});var Ye=e(96279),Ee=e(48834).Buffer;async function Le(U,h){const{name:C,owner:D,resource:H}=parseGitUrl(U),he=H==="bitbucket.org";let le=he?`${h.apiBaseUrl}/repositories/${D}/${C}`:`${h.apiBaseUrl}/projects/${D}/repos/${C}/default-branch`,$e=await fetch(le,Ke(h));if($e.status===404&&!he&&(le=`${h.apiBaseUrl}/projects/${D}/repos/${C}/branches/default`,$e=await fetch(le,Ke(h))),!$e.ok){const $t=`Failed to retrieve default branch from ${le}, ${$e.status} ${$e.statusText}`;throw new Error($t)}let nt;if(he)nt=(await $e.json()).mainbranch.name;else{const{displayId:$t}=await $e.json();nt=$t}if(!nt)throw new Error(`Failed to read default branch from ${le}. Response ${$e.status} ${$e.json()}`);return nt}async function Ge(U,h){const{name:C,owner:D,ref:H,protocol:he,resource:le,filepath:$e}=parseGitUrl(U),nt=le==="bitbucket.org";let $t=H;$t||($t=await Le(U,h));const Lt=$e?`&path=${encodeURIComponent($e)}`:"";return nt?`${he}://${le}/${D}/${C}/get/${$t}.tar.gz`:`${h.apiBaseUrl}/projects/${D}/repos/${C}/archive?format=tgz&at=${$t}&prefix=${D}-${C}${Lt}`}function qe(U,h){try{const{owner:C,name:D,ref:H,filepathtype:he,filepath:le}=parseGitUrl(U);if(!C||!D||he!=="browse"&&he!=="raw"&&he!=="src")throw new Error("Invalid Bitbucket URL or file path");const $e=le.replace(/^\//,"");if(h.host==="bitbucket.org"){if(!H)throw new Error("Invalid Bitbucket URL or file path");return`${h.apiBaseUrl}/repositories/${C}/${D}/src/${H}/${$e}`}return`${h.apiBaseUrl}/projects/${C}/repos/${D}/raw/${$e}?at=${H}`}catch(C){throw new Error(`Incorrect URL: ${U}, ${C}`)}}function Ke(U){const h={};if(U.token)h.Authorization=`Bearer ${U.token}`;else if(U.username&&U.appPassword){const C=Ee.from(`${U.username}:${U.appPassword}`,"utf8");h.Authorization=`Basic ${C.toString("base64")}`}return{headers:h}}const me="bitbucket.org",xe="https://api.bitbucket.org/2.0";function Me(U){const h=me,C=xe,D=U.getString("username"),H=U.getString("appPassword");return{host:h,apiBaseUrl:C,username:D,appPassword:H}}function We(U){const h=U.map(Me);return h.length===0&&h.push({host:me,apiBaseUrl:xe}),h}const Gn=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucketCloud"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const C=a(h);if(h.lineNumber){const D=new URL(C);return D.hash=`lines-${h.lineNumber}`,D.toString()}return C}resolveEditUrl(h){const C=t()(h),D=new URL(h);return D.searchParams.set("mode","edit"),D.searchParams.set("at",C.ref),D.toString()}};let rt=Gn;_(rt,"factory",({config:h})=>{var D;const C=We((D=h.getOptionalConfigArray("integrations.bitbucketCloud"))!=null?D:[]);return f(C.map(H=>new Gn(H)),H=>H.config.host)});var Et=e(48834).Buffer;async function at(U,h){const{name:C,owner:D}=parseGitUrl(U),H=`${h.apiBaseUrl}/repositories/${D}/${C}`,he=await fetch(H,ke(h));if(!he.ok){const nt=`Failed to retrieve default branch from ${H}, ${he.status} ${he.statusText}`;throw new Error(nt)}const $e=(await he.json()).mainbranch.name;if(!$e)throw new Error(`Failed to read default branch from ${H}. Response ${he.status} ${he.json()}`);return $e}async function _e(U,h){const{name:C,owner:D,ref:H,protocol:he,resource:le}=parseGitUrl(U);let $e=H;return $e||($e=await at(U,h)),`${he}://${le}/${D}/${C}/get/${$e}.tar.gz`}function ft(U,h){try{const{owner:C,name:D,ref:H,filepathtype:he,filepath:le}=parseGitUrl(U);if(!C||!D||he!=="src"&&he!=="raw")throw new Error("Invalid Bitbucket Cloud URL or file path");const $e=le.replace(/^\//,"");if(!H)throw new Error("Invalid Bitbucket Cloud URL or file path");return`${h.apiBaseUrl}/repositories/${C}/${D}/src/${H}/${$e}`}catch(C){throw new Error(`Incorrect URL: ${U}, ${C}`)}}function ke(U){const h={};if(U.username&&U.appPassword){const C=Et.from(`${U.username}:${U.appPassword}`,"utf8");h.Authorization=`Basic ${C.toString("base64")}`}return{headers:h}}function xt(U){const h=U.getString("host");let C=U.getOptionalString("apiBaseUrl");const D=U.getOptionalString("token");if(!m(h))throw new Error(`Invalid Bitbucket Server integration config, '${h}' is not a valid host`);return C?C=(0,c.trimEnd)(C,"/"):C=`https://${h}/rest/api/1.0`,{host:h,apiBaseUrl:C,token:D}}function bt(U){return U.map(xt)}const Nn=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucketServer"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const C=a(h);if(h.lineNumber){const D=new URL(C),H=D.pathname.split("/").slice(-1)[0];return D.hash=`${H}-${h.lineNumber}`,D.toString()}return C}resolveEditUrl(h){const C=t()(h),D=new URL(h);return D.searchParams.set("mode","edit"),D.searchParams.set("spa","0"),D.searchParams.set("at",C.ref),D.toString()}};let ct=Nn;_(ct,"factory",({config:h})=>{var D;const C=bt((D=h.getOptionalConfigArray("integrations.bitbucketServer"))!=null?D:[]);return f(C.map(H=>new Nn(H)),H=>H.config.host)});async function on(U,h){const{name:C,owner:D}=parseGitUrl(U);let H=`${h.apiBaseUrl}/projects/${D}/repos/${C}/default-branch`,he=await fetch(H,Yt(h));if(he.status===404&&(H=`${h.apiBaseUrl}/projects/${D}/repos/${C}/branches/default`,he=await fetch(H,Yt(h))),!he.ok){const nt=`Failed to retrieve default branch from ${H}, ${he.status} ${he.statusText}`;throw new Error(nt)}const{displayId:le}=await he.json(),$e=le;if(!$e)throw new Error(`Failed to read default branch from ${H}. Response ${he.status} ${he.json()}`);return $e}async function Nt(U,h){const{name:C,owner:D,ref:H,filepath:he}=parseGitUrl(U);let le=H;le||(le=await on(U,h));const $e=he?`&path=${encodeURIComponent(he)}`:"";return`${h.apiBaseUrl}/projects/${D}/repos/${C}/archive?format=tgz&at=${le}&prefix=${D}-${C}${$e}`}function gt(U,h){try{const{owner:C,name:D,ref:H,filepathtype:he,filepath:le}=parseGitUrl(U);if(!C||!D||he!=="browse"&&he!=="raw"&&he!=="src")throw new Error("Invalid Bitbucket Server URL or file path");const $e=le.replace(/^\//,"");return`${h.apiBaseUrl}/projects/${C}/repos/${D}/raw/${$e}?at=${H}`}catch(C){throw new Error(`Incorrect URL: ${U}, ${C}`)}}function Yt(U){const h={};return U.token&&(h.Authorization=`Bearer ${U.token}`),{headers:h}}function ae(U){const h=U.getString("host");let C=U.getOptionalString("baseUrl"),D=U.getOptionalString("cloneUrl"),H=U.getOptionalString("gitilesBaseUrl");const he=U.getOptionalString("username"),le=U.getOptionalString("password");if(m(h)){if(C&&!A(C))throw new Error(`Invalid Gerrit integration config, '${C}' is not a valid baseUrl`);if(D&&!A(D))throw new Error(`Invalid Gerrit integration config, '${D}' is not a valid cloneUrl`);if(H&&!A(H))throw new Error(`Invalid Gerrit integration config, '${H}' is not a valid gitilesBaseUrl`)}else throw new Error(`Invalid Gerrit integration config, '${h}' is not a valid host`);return C?C=(0,c.trimEnd)(C,"/"):C=`https://${h}`,H?H=(0,c.trimEnd)(H,"/"):H=`https://${h}`,D?D=(0,c.trimEnd)(D,"/"):D=C,{host:h,baseUrl:C,cloneUrl:D,gitilesBaseUrl:H,username:he,password:le}}function W(U){return U.map(ae)}const Kn=class{constructor(h){this.integrationConfig=h}get type(){return"gerrit"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const{url:C,base:D,lineNumber:H}=h;let he;return C?he=new URL(C,D):he=new URL(D),H&&(he.hash=H.toString()),he.toString()}resolveEditUrl(h){return h}};let re=Kn;_(re,"factory",({config:h})=>{var D;const C=W((D=h.getOptionalConfigArray("integrations.gerrit"))!=null?D:[]);return f(C.map(H=>new Kn(H)),H=>H.config.host)});var se=e(48834).Buffer;const fe=")]}'";function Ce(U,h){const D=h.replace(U.gitilesBaseUrl,"").split("/").filter($t=>!!$t),H=D.indexOf("+");if(H<=0)throw new Error(`Unable to parse project from url: ${h}`);const he=trimStart(D.slice(0,H).join("/"),"/"),le=D.indexOf("heads");if(le<=0)throw new Error(`Unable to parse branch from url: ${h}`);const $e=D[le+1],nt=D.slice(le+2).join("/");return{branch:$e,filePath:nt===""?"/":nt,project:he}}function De(U){return U.password?"/a/":"/"}function be(U,h){const{branch:C,project:D}=Ce(U,h);return`${U.baseUrl}${De(U)}projects/${encodeURIComponent(D)}/branches/${C}`}function et(U,h){const{project:C}=Ce(U,h);return`${U.cloneUrl}${De(U)}${C}`}function dt(U,h){const{branch:C,filePath:D,project:H}=Ce(U,h);return`${U.baseUrl}${De(U)}projects/${encodeURIComponent(H)}/branches/${C}/files/${encodeURIComponent(D)}/content`}function Ut(U){return`${U.baseUrl}${De(U)}projects/`}function Dt(U){const h={};if(!U.password)return h;const C=se.from(`${U.username}:${U.password}`,"utf8");return h.Authorization=`Basic ${C.toString("base64")}`,{headers:h}}async function ut(U){const h=await U.text();if(h.startsWith(fe))try{return JSON.parse(h.slice(fe.length))}catch(C){throw new Error(`Invalid response from Gerrit: ${h.slice(0,10)} - ${C}`)}throw new Error(`Gerrit JSON body prefix missing. Found: ${h.slice(0,10)}`)}const Pt="github.com",_t="https://api.github.com",ie="https://raw.githubusercontent.com";function ce(U){var le,$e;const h=(le=U.getOptionalString("host"))!=null?le:Pt;let C=U.getOptionalString("apiBaseUrl"),D=U.getOptionalString("rawBaseUrl");const H=U.getOptionalString("token"),he=($e=U.getOptionalConfigArray("apps"))==null?void 0:$e.map(nt=>({appId:nt.getNumber("appId"),clientId:nt.getString("clientId"),clientSecret:nt.getString("clientSecret"),webhookSecret:nt.getString("webhookSecret"),privateKey:nt.getString("privateKey"),allowedInstallationOwners:nt.getOptionalStringArray("allowedInstallationOwners")}));if(!m(h))throw new Error(`Invalid GitHub integration config, '${h}' is not a valid host`);return C?C=(0,c.trimEnd)(C,"/"):h===Pt&&(C=_t),D?D=(0,c.trimEnd)(D,"/"):h===Pt&&(D=ie),{host:h,apiBaseUrl:C,rawBaseUrl:D,token:H,apps:he}}function K(U){const h=U.map(ce);return h.some(C=>C.host===Pt)||h.push({host:Pt,apiBaseUrl:_t,rawBaseUrl:ie}),h}function ye(U,h,C){try{const{owner:D,name:H,ref:he,filepathtype:le,filepath:$e}=parseGitUrl(U);if(!D||!H||!he||le!=="blob"&&le!=="raw"&&le!=="tree")throw new Error("Invalid GitHub URL or file path");const nt=$e.replace(/^\//,"");return je(h,C)==="api"?`${h.apiBaseUrl}/repos/${D}/${H}/contents/${nt}?ref=${he}`:`${h.rawBaseUrl}/${D}/${H}/${he}/${nt}`}catch(D){throw new Error(`Incorrect URL: ${U}, ${D}`)}}function ee(U,h){const C={};return je(U,h)==="api"&&(C.Accept="application/vnd.github.v3.raw"),h.token&&(C.Authorization=`token ${h.token}`),{headers:C}}function je(U,h){return U.apiBaseUrl&&(h.token||!U.rawBaseUrl)?"api":"raw"}class k{constructor(){_(this,"tokenCache",new Map);_(this,"isNotExpired",h=>h.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(h,C){const D=this.tokenCache.get(h);if(D&&this.isNotExpired(D.expiresAt))return{accessToken:D.token};const H=await C();return this.tokenCache.set(h,H),{accessToken:H.token}}}const N={Accept:"application/vnd.github.machine-man-preview+json"};class ne{constructor(h,C){_(this,"appClient");_(this,"baseUrl");_(this,"baseAuthConfig");_(this,"cache",new k);_(this,"allowedInstallationOwners");this.allowedInstallationOwners=h.allowedInstallationOwners,this.baseUrl=C,this.baseAuthConfig={appId:h.appId,privateKey:h.privateKey.replace(/\\n/gm,`
|
|
31
|
-
`)},this.appClient=new Octokit({baseUrl:C,headers:N,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(h,C){var le;const{installationId:D,suspended:H}=await this.getInstallationData(h);if(this.allowedInstallationOwners&&!((le=this.allowedInstallationOwners)!=null&&le.includes(h)))return{accessToken:void 0};if(H)throw new Error(`The GitHub application for ${h} is suspended`);const he=C?`${h}/${C}`:h;return this.cache.getOrCreateToken(he,async()=>{const $e=await this.appClient.apps.createInstallationAccessToken({installation_id:D,headers:N});if(C&&$e.data.repository_selection==="selected"){const nt=new Octokit({baseUrl:this.baseUrl,auth:$e.data.token});if(!(await nt.paginate(nt.apps.listReposAccessibleToInstallation)).some(wn=>wn.name===C))throw new Error(`The Backstage GitHub application used in the ${h} organization does not have access to a repository with the name ${C}`)}return{token:$e.data.token,expiresAt:DateTime.fromISO($e.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(h){const D=(await this.getInstallations()).find(he=>{var le,$e;return(($e=(le=he.account)==null?void 0:le.login)==null?void 0:$e.toLocaleLowerCase("en-US"))===h.toLocaleLowerCase("en-US")});if(D)return{installationId:D.id,suspended:Boolean(D.suspended_by)};const H=new Error(`No app installation found for ${h} in ${this.baseAuthConfig.appId}`);throw H.name="NotFoundError",H}}class Pe{constructor(h){_(this,"apps");var C,D;this.apps=(D=(C=h.apps)==null?void 0:C.map(H=>new ne(H,h.apiBaseUrl)))!=null?D:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(C=>C.getInstallations()))).flat():[]}async getAppToken(h,C){if(this.apps.length===0)return;const D=await Promise.all(this.apps.map($e=>$e.getInstallationCredentials(h,C).then(nt=>({credentials:nt,error:void 0}),nt=>({credentials:void 0,error:nt})))),H=D.find($e=>$e.credentials);if(H)return H.credentials.accessToken;const le=D.map($e=>$e.error).find($e=>$e.name!=="NotFoundError");if(le)throw le}}class Fe{constructor(h,C){this.githubAppCredentialsMux=h,this.token=C}async getCredentials(h){const C=parseGitUrl(h.url),D=C.owner||C.name,H=C.owner?C.name:void 0;let he="app",le=await this.githubAppCredentialsMux.getAppToken(D,H);return le||(he="token",le=this.token),{headers:le?{Authorization:`Bearer ${le}`}:void 0,token:le,type:he}}}_(Fe,"create",null);class we{static fromIntegrations(h){const C=new Map;return h.github.list().forEach(D=>{const H=SingleInstanceGithubCredentialsProvider.create(D.config);C.set(D.config.host,H)}),new we(C)}constructor(h){this.providers=h}async getCredentials(h){const C=new URL(h.url),D=this.providers.get(C.host);if(!D)throw new Error(`There is no GitHub integration that matches ${h.url}. Please add a configuration for an integration.`);return D.getCredentials(h)}}const Zn=class{constructor(h){this.integrationConfig=h}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){return yt(a(h),"tree")}resolveEditUrl(h){return yt(h,"edit")}};let Ne=Zn;_(Ne,"factory",({config:h})=>{var D;const C=K((D=h.getOptionalConfigArray("integrations.github"))!=null?D:[]);return f(C.map(H=>new Zn(H)),H=>H.config.host)});function yt(U,h){return U.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(C,D,H,he)=>`//${D}/${H}/${he}/${h}/`)}const Ft="gitlab.com",Rt="https://gitlab.com/api/v4";function Wt(U){const h=U.getString("host");let C=U.getOptionalString("apiBaseUrl");const D=U.getOptionalString("token");let H=U.getOptionalString("baseUrl");if(C?C=(0,c.trimEnd)(C,"/"):h===Ft&&(C=Rt),H?H=(0,c.trimEnd)(H,"/"):H=`https://${h}`,m(h)){if(!C||!A(C))throw new Error(`Invalid GitLab integration config, '${C}' is not a valid apiBaseUrl`);if(!A(H))throw new Error(`Invalid GitLab integration config, '${H}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${h}' is not a valid host`);return{host:h,token:D,apiBaseUrl:C,baseUrl:H}}function st(U){const h=U.map(Wt);return h.some(C=>C.host===Ft)||h.push({host:Ft,apiBaseUrl:Rt,baseUrl:`https://${Ft}`}),h}async function It(U,h){if(U.includes("/-/blob/")){const C=await Mt(U,h);return en(U,C).toString()}return Bt(U).toString()}function tt(U){const{token:h=""}=U;return{headers:{"PRIVATE-TOKEN":h}}}function Bt(U){try{const h=new URL(U),[C,D,H,he,...le]=h.pathname.split("/");if(C!==""||D===""||H===""||he!=="blob"||!le.join("/").match(/\.(yaml|yml)$/))throw new Error("Wrong GitLab URL");return h.pathname=[C,D,H,"raw",...le].join("/"),h}catch(h){throw new Error(`Incorrect url: ${U}, ${h}`)}}function en(U,h){try{const C=new URL(U),D=C.pathname.split("/-/blob/")[1],[H,...he]=D.split("/");return C.pathname=["/api/v4/projects",h,"repository/files",encodeURIComponent(decodeURIComponent(he.join("/"))),"raw"].join("/"),C.search=`?ref=${H}`,C}catch(C){throw new Error(`Incorrect url: ${U}, ${C}`)}}async function Mt(U,h){const C=new URL(U);if(!C.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const D=C.pathname.split("/-/blob/")[0],H=new URL(`${C.origin}/api/v4/projects/${encodeURIComponent(D.replace(/^\//,""))}`),he=await fetch(H.toString(),tt(h)),le=await he.json();if(!he.ok)throw new Error(`GitLab Error '${le.error}', ${le.error_description}`);return Number(le.id)}catch(D){throw new Error(`Could not get GitLab project ID for: ${U}, ${D}`)}}const Mn=class{constructor(h){this.integrationConfig=h}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){return a(h)}resolveEditUrl(h){return vt(h,"edit")}};let it=Mn;_(it,"factory",({config:h})=>{var D;const C=st((D=h.getOptionalConfigArray("integrations.gitlab"))!=null?D:[]);return f(C.map(H=>new Mn(H)),H=>H.config.host)});function vt(U,h){return U.replace(/\/\-\/(blob|tree|edit)\//,`/-/${h}/`)}class Ht{constructor(h){_(this,"byType");this.byType=h}static fromConfig(h){return new Ht({awsS3:p.factory({config:h}),azure:$.factory({config:h}),bitbucket:pe.factory({config:h}),bitbucketCloud:rt.factory({config:h}),bitbucketServer:ct.factory({config:h}),gerrit:re.factory({config:h}),github:Ne.factory({config:h}),gitlab:it.factory({config:h})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get bitbucketCloud(){return this.byType.bitbucketCloud}get bitbucketServer(){return this.byType.bitbucketServer}get gerrit(){return this.byType.gerrit}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}list(){return Object.values(this.byType).flatMap(h=>h.list())}byUrl(h){return Object.values(this.byType).map(C=>C.byUrl(h)).find(Boolean)}byHost(h){return Object.values(this.byType).map(C=>C.byHost(h)).find(Boolean)}resolveUrl(h){const C=this.byUrl(h.base);return C?C.resolveUrl(h):a(h)}resolveEditUrl(h){const C=this.byUrl(h);return C?C.resolveEditUrl(h):h}}},46054:function(X,s,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return A.plugin}});var t=e(2784),c=e(47093),m=e(10289),A=e(82250),f=e(47955),a=e(49208),i=e(36964),d=e(68099);const y=[(0,i.createApiFactory)({api:i.discoveryApiRef,deps:{configApi:i.configApiRef},factory:({configApi:b})=>a.UrlPatternDiscovery.compile(`${b.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,i.createApiFactory)({api:i.alertApiRef,deps:{},factory:()=>new a.AlertApiForwarder}),(0,i.createApiFactory)({api:i.analyticsApiRef,deps:{},factory:()=>new a.NoOpAnalyticsApi}),(0,i.createApiFactory)({api:i.errorApiRef,deps:{alertApi:i.alertApiRef},factory:({alertApi:b})=>{const q=new a.ErrorAlerter(b,new a.ErrorApiForwarder);return a.UnhandledErrorForwarder.forward(q,{hidden:!1}),q}}),(0,i.createApiFactory)({api:i.storageApiRef,deps:{errorApi:i.errorApiRef},factory:({errorApi:b})=>a.WebStorage.create({errorApi:b})}),(0,i.createApiFactory)({api:i.fetchApiRef,deps:{configApi:i.configApiRef,identityApi:i.identityApiRef,discoveryApi:i.discoveryApiRef},factory:({configApi:b,identityApi:q,discoveryApi:de})=>(0,a.createFetchApi)({middleware:[a.FetchMiddlewares.resolvePluginProtocol({discoveryApi:de}),a.FetchMiddlewares.injectIdentityAuth({identityApi:q,config:b})]})}),(0,i.createApiFactory)({api:i.oauthRequestApiRef,deps:{},factory:()=>new a.OAuthRequestManager}),(0,i.createApiFactory)({api:i.googleAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.GoogleAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.microsoftAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.MicrosoftAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.githubAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.GithubAuth.create({discoveryApi:b,oauthRequestApi:q,defaultScopes:["read:user"],environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oktaAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.OktaAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.gitlabAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.GitlabAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oneloginAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.OneLoginAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.bitbucketAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.BitbucketAuth.create({discoveryApi:b,oauthRequestApi:q,defaultScopes:["team"],environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.atlassianAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:b,oauthRequestApi:q,configApi:de})=>a.AtlassianAuth.create({discoveryApi:b,oauthRequestApi:q,environment:de.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:d.RV,deps:{discovery:i.discoveryApiRef,identity:i.identityApiRef,config:i.configApiRef},factory:({config:b,discovery:q,identity:de})=>d.iM.create({config:b,discovery:q,identity:de})})];var p=e(77277),v=e(9118),T=e(62833);function I({children:b}){return(0,m.GV)()?t.createElement(t.Fragment,null,b):t.createElement(m.VA,null,b)}const B=()=>t.createElement(v.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),J=({step:b,error:q})=>{let de="";return b==="load-config"?de=`The configuration failed to load, someone should have a look at this error: ${q.message}`:b==="load-chunk"&&(de=`Lazy loaded chunk failed to load, try to reload the page: ${q.message}`),t.createElement(I,null,t.createElement(v.ErrorPage,{status:"501",statusMessage:de}))},$=({error:b,resetError:q,plugin:de})=>t.createElement(v.ErrorPanel,{title:`Error in ${de==null?void 0:de.getId()}`,defaultExpanded:!0,error:b},t.createElement(p.Z,{variant:"outlined",onClick:q},"Retry")),L={Progress:v.Progress,Router:T.VK,NotFoundErrorPage:B,BootErrorPage:J,ErrorBoundaryFallback:$};var M=e(43642),F=e(80079),x=e(90941),Y=e(32915),te=e(40562),ge=e(21853),Ve=e(60744),He=e(66569),pe=e(30254),Ye=e(13384),Ee=e(15933),Le=e(58838),Ge=e(86737),qe=e(4989),Ke=e(44407),me=e(18628),xe=e(84219),Me=e(98685),We=e(39781);const rt={brokenImage:F.Z,catalog:me.Z,scaffolder:Y.Z,techdocs:te.Z,search:ge.Z,chat:Ve.Z,dashboard:He.Z,docs:pe.Z,email:Ye.Z,github:Le.Z,group:xe.Z,help:Ge.Z,"kind:api":Ee.Z,"kind:component":Ke.Z,"kind:domain":M.Z,"kind:group":xe.Z,"kind:location":qe.Z,"kind:system":x.Z,"kind:user":Me.Z,user:Me.Z,warning:We.Z};var Et=e(73689),at=e(48032);const _e={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")`},ft={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 ke(b,q){const Oe=`linear-gradient(90deg, ${(b.length===1?[b[0],b[0]]:b).join(", ")})`,Je=`${q}, ${Oe}`;return{colors:b,shape:q,backgroundImage:Je}}const xt={home:ke(ft.teal,_e.wave),documentation:ke(ft.pinkSea,_e.wave2),tool:ke(ft.purpleSky,_e.round),service:ke(ft.marineBlue,_e.wave),website:ke(ft.veryBlue,_e.wave),library:ke(ft.rubyRed,_e.wave),other:ke(ft.darkGrey,_e.wave),app:ke(ft.toastyOrange,_e.wave),apis:ke(ft.teal,_e.wave2)},bt='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function ct(b){const{palette:q,fontFamily:de=bt,defaultPageTheme:Oe,pageTheme:Je=xt}=b;if(!Je[Oe])throw new Error(`${Oe} is not defined in pageTheme.`);return{palette:q,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:de,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:Je[Oe],getPageTheme:({themeId:mt})=>{var ht;return(ht=Je[mt])!=null?ht:Je[Oe]}}}function on(b){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:b.typography.fontFamily},body:{height:"100%",fontFamily:b.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:b.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:b.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:b.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:b.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:b.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,at.darken)(b.palette.link,.3),background:(0,at.lighten)(b.palette.link,.95)},[b.breakpoints.up("md")]:{minWidth:120,fontSize:b.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:b.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:b.spacing(1),marginBottom:b.spacing(1),color:b.palette.grey[900]},outlined:{color:b.palette.text.primary},label:{lineHeight:`${b.spacing(2.5)}px`,fontWeight:b.typography.fontWeightMedium,fontSize:`${b.spacing(1.75)}px`},labelSmall:{fontSize:`${b.spacing(1.5)}px`},deleteIcon:{color:b.palette.grey[500],width:`${b.spacing(3)}px`,height:`${b.spacing(3)}px`,margin:`0 ${b.spacing(.75)}px 0 -${b.spacing(.75)}px`},deleteIconSmall:{width:`${b.spacing(2)}px`,height:`${b.spacing(2)}px`,margin:`0 ${b.spacing(.5)}px 0 -${b.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 Nt(b){const q=ct(b),de=(0,Et.Z)(q),Oe=on(de);return{...de,overrides:Oe}}var gt=e(34505);const Yt=Nt({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:gt.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}),ae=Nt({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:gt.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 W=e(98192),re=e(15222),se=e(41547),fe=e(87561);const Ce=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(re.Z,null),Provider:({children:b})=>t.createElement(se.Z,{theme:Yt},t.createElement(fe.ZP,null,b))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(W.Z,null),Provider:({children:b})=>t.createElement(se.Z,{theme:ae},t.createElement(fe.ZP,null,b))}];function De(b){var q,de,Oe;return(0,a.createSpecializedApp)({...b,apis:(q=b==null?void 0:b.apis)!=null?q:[],bindRoutes:b==null?void 0:b.bindRoutes,components:{...L,...b==null?void 0:b.components},configLoader:b==null?void 0:b.configLoader,defaultApis:y,icons:{...rt,...b==null?void 0:b.icons},plugins:(de=b==null?void 0:b.plugins)!=null?de:[],themes:(Oe=b==null?void 0:b.themes)!=null?Oe:Ce})}var be=e(82394),et=e.n(be),dt=e(48023),Ut=e(76635);async function Dt({storageApi:b}){var mt;const q=b.forBucket("settings"),de=b.forBucket("starredEntities"),Oe=q.snapshot("starredEntities").value;if(!(0,Ut.isArray)(Oe))return;const Je=new Set((mt=de.snapshot("entityRefs").value)!=null?mt:[]);Oe.filter(Ut.isString).map(ht=>ht.split(":")).filter(ht=>ht.length===4&&ht[0]==="entity").map(([ht,R,S,O])=>(0,dt.eE)({kind:R,namespace:S,name:O})).forEach(ht=>Je.add(ht)),await de.set("entityRefs",Array.from(Je)),await q.remove("starredEntities")}class ut{constructor(q){_(this,"settingsStore");_(this,"starredEntities");_(this,"subscribers",new Set);_(this,"observable",new(et())(q=>(q.next(new Set(this.starredEntities)),this.subscribers.add(q),()=>{this.subscribers.delete(q)})));var de;Dt(q).then(),this.settingsStore=q.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((de=this.settingsStore.snapshot("entityRefs").value)!=null?de:[]),this.settingsStore.observe$("entityRefs").subscribe({next:Oe=>{var Je;this.starredEntities=new Set((Je=Oe.value)!=null?Je:[]),this.notifyChanges()}})}async toggleStarred(q){this.starredEntities.has(q)?this.starredEntities.delete(q):this.starredEntities.add(q),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}notifyChanges(){for(const q of this.subscribers)q.next(new Set(this.starredEntities))}}var Pt=e(39398),_t=e(49782),ie=e(79692);const ce=(0,ie.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}});function K(b){const q=b.result,de=ce();return React.createElement(Link,{to:q.location},React.createElement(ListItem,{alignItems:"flex-start",className:de.flexContainer},React.createElement(ListItemText,{className:de.itemText,primaryTypographyProps:{variant:"h6"},primary:q.title,secondary:q.text}),React.createElement(Box,null,q.kind&&React.createElement(Chip,{label:`Kind: ${q.kind}`,size:"small"}),q.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${q.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))}var ye=e(30097),ee=e(53479),je=e(95544),k=e(99688),N=e(12231),ne=e(86136),Pe=e(49378),Fe=e(85256),we=e(61837),Ne=e(79784),yt=e(50758),Ft=e(49166),Rt=e(31654),Wt=e(43054),st=e(40749);const It="catalog-entity",tt=(0,st.J$)({name:"catalog.entity.read",attributes:{action:"read"},resourceType:It}),Bt=(0,st.J$)({name:"catalog.entity.create",attributes:{action:"create"}}),en=(0,st.J$)({name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:It}),Mt=(0,st.J$)({name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:It}),it=(0,st.J$)({name:"catalog.location.read",attributes:{action:"read"}}),vt=(0,st.J$)({name:"catalog.location.create",attributes:{action:"create"}}),Ht=(0,st.J$)({name:"catalog.location.delete",attributes:{action:"delete"}}),jt=(0,ie.Z)({button:{color:"white"}});function an(b){var ue;const{UNSTABLE_extraContextMenuItems:q,UNSTABLE_contextMenuOptions:de,onUnregisterEntity:Oe,onInspectEntity:Je}=b,[mt,ht]=(0,t.useState)(),R=jt(),S=(0,ee.useEntityPermission)(en),O=ve=>{ht(ve.currentTarget)},Z=()=>{ht(void 0)},G=q&&[...q.map(ve=>t.createElement(N.Z,{key:ve.title,onClick:()=>{Z(),ve.onClick()}},t.createElement(ne.Z,null,t.createElement(ve.Icon,{fontSize:"small"})),t.createElement(Pe.Z,{primary:ve.title}))),t.createElement(Fe.Z,{key:"the divider is here!"})],V=(ue=!S.allowed||(de==null?void 0:de.disableUnregister))!=null?ue:!1;return t.createElement(t.Fragment,null,t.createElement(we.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true","aria-expanded":!!mt,role:"button",onClick:O,"data-testid":"menu-button",className:R.button,id:"long-menu"},t.createElement(Wt.Z,null)),t.createElement(Ne.ZP,{open:Boolean(mt),onClose:Z,anchorEl:mt,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},"aria-labelledby":"long-menu"},t.createElement(yt.Z,null,G,t.createElement(N.Z,{onClick:()=>{Z(),Oe()},disabled:V},t.createElement(ne.Z,null,t.createElement(Ft.Z,{fontSize:"small"})),t.createElement(Pe.Z,{primary:"Unregister entity"})),t.createElement(N.Z,{onClick:()=>{Z(),Je()}},t.createElement(ne.Z,null,t.createElement(Rt.Z,{fontSize:"small"})),t.createElement(Pe.Z,{primary:"Inspect entity"})))))}const Zt="plugin.catalog.entityLayoutRoute",Kt=()=>null;(0,i.attachComponentData)(Kt,Zt,!0),(0,i.attachComponentData)(Kt,"core.gatherMountPoints",!0);function Jt(b){const{entity:q,title:de}=b;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"},de),q&&t.createElement(ee.FavoriteEntity,{entity:q}))}function Qt(b,q,de,Oe){var R,S,O,Z,G;const Je=(R=b!=null?b:Oe==null?void 0:Oe.kind)!=null?R:"",mt=(S=q!=null?q:Oe==null?void 0:Oe.metadata.namespace)!=null?S:"";return{headerTitle:`${(G=(Z=(O=Oe==null?void 0:Oe.metadata.title)!=null?O:de)!=null?Z:Oe==null?void 0:Oe.metadata.name)!=null?G:""}${mt&&mt!==dt.zG?` in ${mt}`:""}`,headerType:(()=>{let V=Je.toLocaleLowerCase("en-US");return Oe&&Oe.spec&&"type"in Oe.spec&&(V+=" \u2014 ",V+=Oe.spec.type.toLocaleLowerCase("en-US")),V})()}}function wt(b){var Oe;const{entity:q}=b,de=(0,ee.getEntityRelations)(q,dt.S4);return t.createElement(t.Fragment,null,de.length>0&&t.createElement(v.HeaderLabel,{label:"Owner",value:t.createElement(ee.EntityRefLinks,{entityRefs:de,defaultKind:"Group",color:"inherit"})}),((Oe=q.spec)==null?void 0:Oe.lifecycle)&&t.createElement(v.HeaderLabel,{label:"Lifecycle",value:q.spec.lifecycle}))}const tn=b=>{var Qe,Ze,At;const{UNSTABLE_extraContextMenuItems:q,UNSTABLE_contextMenuOptions:de,children:Oe,NotFoundComponent:Je}=b,{kind:mt,namespace:ht,name:R}=(0,i.useRouteRefParams)(ee.entityRouteRef),{entity:S,loading:O,error:Z}=(0,ee.useAsyncEntity)(),G=(0,m.TH)(),V=(0,i.useElementFilter)(Oe,zt=>zt.selectByComponentData({key:Zt,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:fn})=>{if(S){if(fn.if&&!fn.if(S))return[]}else return[];return[{path:fn.path,title:fn.title,children:fn.children,tabProps:fn.tabProps}]}),[S]),{headerTitle:ue,headerType:ve}=Qt(mt,ht,R,S),[Ue,Te]=(0,t.useState)(!1),[Ie,Be]=(0,t.useState)(!1),ze=(0,m.s0)(),pt=async()=>{Te(!1),Be(!1),ze("/")};return(0,t.useEffect)(()=>{Te(!1),Be(!1)},[G.pathname]),t.createElement(v.Page,{themeId:(At=(Ze=(Qe=S==null?void 0:S.spec)==null?void 0:Qe.type)==null?void 0:Ze.toString())!=null?At:"home"},t.createElement(v.Header,{title:t.createElement(Jt,{title:ue,entity:S}),pageTitleOverride:ue,type:ve},S&&t.createElement(t.Fragment,null,t.createElement(wt,{entity:S}),t.createElement(an,{UNSTABLE_extraContextMenuItems:q,UNSTABLE_contextMenuOptions:de,onUnregisterEntity:()=>Te(!0),onInspectEntity:()=>Be(!0)}))),O&&t.createElement(v.Progress,null),S&&t.createElement(v.RoutedTabs,{routes:V}),Z&&t.createElement(v.Content,null,t.createElement(k.Z,{severity:"error"},Z.toString())),!O&&!Z&&!S&&t.createElement(v.Content,null,Je||t.createElement(v.WarningPanel,{title:"Entity not found"},"There is no ",mt," with the requested"," ",t.createElement(v.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(ee.UnregisterEntityDialog,{open:Ue,entity:S,onConfirm:pt,onClose:()=>Te(!1)}),t.createElement(ee.InspectEntityDialog,{open:Ie,entity:S,onClose:()=>Be(!1)}))};tn.Route=Kt;var Vn=e(10179);function On(b){const{open:q,onClose:de,onConfirm:Oe,entity:Je}=b,[mt,ht]=useState(!1),R=useApi(catalogApiRef),S=useApi(alertApiRef),O=async()=>{ht(!0);try{const Z=Je.metadata.uid;await R.removeEntityByUid(Z),Oe()}catch(Z){assertError(Z),S.post({message:Z.message})}finally{ht(!1)}};return React.createElement(Dialog,{open:q,onClose:de},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:mt,onClick:O},"Delete"),React.createElement(Button,{onClick:de,color:"primary"},"Cancel")))}var mn=e(47851);function Gn(b){var q,de;return((de=(q=b==null?void 0:b.metadata)==null?void 0:q.annotations)==null?void 0:de["backstage.io/orphan"])==="true"}function Nn(){const b=useNavigate(),q=useRouteRef(rootRouteRef),[de,Oe]=useState(!1),{entity:Je}=useEntity(),mt=async()=>{Oe(!1),b(q())};return React.createElement(React.Fragment,null,React.createElement(Alert,{severity:"warning",onClick:()=>Oe(!0)},"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."),React.createElement(DeleteEntityDialog,{open:de,entity:Je,onConfirm:mt,onClose:()=>Oe(!1)}))}var Kn=e(30001);const Zn=b=>b.error&&b.level==="error"&&b.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function Mn(b,q){return{items:(await q.getEntityAncestors({entityRef:b})).items.map(Je=>{var R,S;return{errors:((S=(R=Je.entity.status)==null?void 0:R.items)!=null?S:[]).filter(Zn).map(O=>O.error).filter(O=>Boolean(O)),entity:Je.entity}}).filter(Je=>Je.errors.length>0)}}async function U(b,q){const de=q.apis.get(catalogApiRef);if(!de)throw new Error(`No implementation available for ${catalogApiRef}`);return(await Mn(stringifyEntityRef(b),de)).items.length>0}function h(){const{entity:b}=useEntity(),q=stringifyEntityRef(b),de=useApi(catalogApiRef),{loading:Oe,error:Je,value:mt}=useAsync(async()=>Mn(q,de),[q,de]);return Je?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Je})):Oe||!mt?null:React.createElement(React.Fragment,null,mt.items.map((ht,R)=>React.createElement(Box,{key:R,mb:1},stringifyEntityRef(b)!==stringifyEntityRef(ht.entity)&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:ht.entity})),ht.errors.map((S,O)=>React.createElement(ResponseErrorPanel,{key:O,error:S})))))}var C=e(64279);const D="core.backstage.entitySwitch",H=b=>null;(0,i.attachComponentData)(H,D,!0);const he=b=>{var ht,R;const{entity:q,loading:de}=(0,ee.useAsyncEntity)(),Oe=(0,i.useApiHolder)(),Je=(0,i.useElementFilter)(b.children,S=>S.selectByComponentData({key:D,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(O=>{var V;if(de)return[];const{if:Z,children:G}=O.props;return q?[{if:(V=Z==null?void 0:Z(q,{apis:Oe}))!=null?V:!0,children:G}]:[{if:Z===void 0,children:G}]}),[Oe,q,de]);return Je.some(S=>typeof S.if=="object"&&"then"in S.if)?t.createElement(le,{results:Je}):(R=(ht=Je.find(S=>S.if))==null?void 0:ht.children)!=null?R:null};function le({results:b}){const{loading:q,value:de}=(0,C.default)(async()=>{var Je;const Oe=b.map(async({if:mt,children:ht})=>{try{if(await mt)return ht}catch{}return null});return(Je=(await Promise.all(Oe)).find(Boolean))!=null?Je:null},[b]);return q||!de?null:de}he.Case=H;const $e=null,nt=ee.CatalogFilterLayout.Filters,$t=ee.CatalogFilterLayout.Content,Lt=(0,i.createPlugin)({id:"catalog",apis:[(0,i.createApiFactory)({api:ee.catalogApiRef,deps:{discoveryApi:i.discoveryApiRef,fetchApi:i.fetchApiRef},factory:({discoveryApi:b,fetchApi:q})=>new Kn.MS({discoveryApi:b,fetchApi:q})}),(0,i.createApiFactory)({api:ee.starredEntitiesApiRef,deps:{storageApi:i.storageApiRef},factory:({storageApi:b})=>new ut({storageApi:b})})],routes:{catalogIndex:mn._Z,catalogEntity:ee.entityRouteRef},externalRoutes:{createComponent:mn.yw,viewTechDoc:mn.jU}}),wn=Lt.provide((0,i.createRoutableExtension)({name:"CatalogIndexPage",component:()=>e.e(7758).then(e.bind(e,7758)).then(b=>b.CatalogPage),mountPoint:mn._Z})),Ar=Lt.provide((0,i.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6583).then(e.bind(e,96583)).then(b=>b.CatalogEntityPage),mountPoint:ee.entityRouteRef})),Xn=Lt.provide((0,i.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(b=>b.AboutCard)}})),Nr=Lt.provide((0,i.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(b=>b.EntityLinksCard)}})),lr=Lt.provide((0,i.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(b=>b.HasSystemsCard)}})),Zr=Lt.provide((0,i.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(b=>b.HasComponentsCard)}})),zr=Lt.provide((0,i.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(b=>b.HasSubcomponentsCard)}})),$n=Lt.provide((0,i.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(b=>b.HasResourcesCard)}})),xn=Lt.provide((0,i.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(b=>b.DependsOnComponentsCard)}})),kn=Lt.provide((0,i.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(b=>b.DependencyOfComponentsCard)}})),cr=Lt.provide((0,i.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(b=>b.DependsOnResourcesCard)}})),Rr=Lt.provide((0,i.createComponentExtension)({name:"RelatedEntitiesCard",component:{lazy:()=>e.e(2426).then(e.bind(e,62426)).then(b=>b.RelatedEntitiesCard)}}));var ur=e(36356);class qn{constructor({configApi:q,discoveryApi:de,identityApi:Oe}){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");this.configApi=q,this.discoveryApi=de,this.identityApi=Oe}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(q,de){const Je=`${await this.getApiOrigin()}/${de}`,mt=await fetch(`${Je.endsWith("/")?Je:`${Je}/`}index.html`);if(mt.status===404)throw new Error("Page not found");return mt.text()}async syncEntityDocs(q){return"cached"}async getBaseUrl(q,de,Oe){const Je=await this.getApiOrigin();return new URL(q,`${Je}/${Oe}`).toString()}}class Sr{constructor({configApi:q,discoveryApi:de,identityApi:Oe}){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");this.configApi=q,this.discoveryApi=de,this.identityApi=Oe}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(q){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(q){return{site_name:"Live preview environment",site_description:""}}}const Wr=[(0,i.createApiFactory)({api:f.Dl,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:b,discoveryApi:q,identityApi:de})=>new qn({configApi:b,discoveryApi:q,identityApi:de})}),(0,i.createApiFactory)({api:f.gT,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:b,discoveryApi:q,identityApi:de})=>new Sr({configApi:b,discoveryApi:q,identityApi:de})}),(0,i.createApiFactory)({api:ur.q3,deps:{configApi:i.configApiRef},factory:({configApi:b})=>ur.ae.fromConfig(b)})],_n={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},pn={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function er(){const b=await fetch("/.detect");return b.ok?(await b.text()).trim()==="techdocs-cli-server":!1}async function tr(){const b=await(0,a.defaultConfigLoader)(),q=await er();return[...b,{context:"detected",data:q?_n:pn}]}var nr=e(86689),Cr=e(58845);const Tr=(0,ie.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var rr=()=>{const b=Tr();return t.createElement("svg",{className:b.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:b.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,ie.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var dr=()=>{const b=br();return t.createElement("svg",{className:b.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:b.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 Pr=(0,ie.Z)({root:{width:v.sidebarConfig.drawerWidthClosed,height:3*v.sidebarConfig.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:v.sidebarConfig.drawerWidthClosed,marginLeft:24}}),Ir=()=>{const b=Pr(),{isOpen:q}=(0,t.useContext)(v.SidebarContext);return t.createElement("div",{className:b.root},t.createElement(nr.Z,{component:T.OL,to:"/docs/default/component/local/",underline:"none",className:b.link},q?t.createElement(rr,null):t.createElement(dr,null)))},fr=({children:b})=>t.createElement(v.SidebarPage,null,t.createElement(v.Sidebar,null,t.createElement(Ir,null),t.createElement(v.SidebarDivider,null),t.createElement(v.SidebarItem,{icon:Cr.Z,to:"/docs/default/component/local",text:"Docs Preview"})),b);var Lr=e(80030),mr=e(32388),sn=e(4142);const Cn=(0,ie.Z)(b=>({headerIcon:{color:b.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:b.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}}));var Tn;(function(b){const q="light";b.LIGHT=q;const de="dark";b.DARK=de})(Tn||(Tn={}));const hr=()=>{const b=(0,i.useApi)(i.appThemeApiRef),q=Cn(),[de,Oe]=(0,t.useState)(b.getActiveThemeId()||Tn.LIGHT),Je={[Tn.LIGHT]:{icon:sn.Z,title:"Dark theme"},[Tn.DARK]:{icon:mr.Z,title:"Light theme"}},{title:mt,icon:ht}=Je[de],R=()=>{Oe(S=>{const O=S===Tn.LIGHT?Tn.DARK:Tn.LIGHT;return b.setActiveThemeId(O),O})};return t.createElement(je.Z,{display:"flex",alignItems:"center",mr:2},t.createElement(Lr.ZP,{title:mt,arrow:!0},t.createElement(we.Z,{size:"small",onClick:R},t.createElement(ht,{className:q.headerIcon}))))},zn=()=>t.createElement(A.TechDocsReaderPage,null,t.createElement(A.TechDocsReaderPageHeader,null),t.createElement(A.TechDocsReaderPageContent,{withSearch:!1})),Wn=t.createElement(zn,null),gr=De({apis:Wr,configLoader:tr,plugins:Object.values(r)}),Or=gr.getProvider(),xr=gr.getRouter(),or=A.techdocsPlugin.provide((0,f.KY)({name:"ThemeToggleAddon",component:hr,location:f.oZ.Header})),Yn=t.createElement(a.FlatRoutes,null,t.createElement(m.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(m.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(Ar,null)}),t.createElement(m.AW,{path:"/docs",element:t.createElement(A.TechDocsIndexPage,null)},t.createElement(A.DefaultTechDocsHome,null)),t.createElement(m.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(A.TechDocsReaderPage,null)},Wn,t.createElement(f.DR,null,t.createElement(or,null))));var Dr=()=>t.createElement(Or,null,t.createElement(xr,null,t.createElement(fr,null,Yn)));c.render(t.createElement(Dr,null),document.getElementById("root"))},76241:function(X,s,e){"use strict";e.d(s,{CT:function(){return f},EI:function(){return d},uW:function(){return m},Vt:function(){return a}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),c=y=>`__@backstage/${y}__`;function m(y,p){const v=c(y);let T=t[v];return T||(T=p(),t[v]=T,T)}var A=e(2784);function f(y){return m(y,()=>(0,A.createContext)(void 0))}function a(y){return(0,A.useContext)(f(y))}function i(y){return{set(p){globalThis[`__@backstage/${y}__`]=createContext(createVersionedValueMap(p))},reset(){delete globalThis[`__@backstage/${y}__`]}}}function d(y){return Object.freeze(y),{atVersion(p){return y[p]}}}},53479:function(X,s,e){"use strict";e.d(s,{AsyncEntityProvider:function(){return x},CATALOG_FILTER_EXISTS:function(){return r.n3},CatalogFilterLayout:function(){return L},EntityKindFilter:function(){return re},EntityLifecyclePicker:function(){return st},EntityListProvider:function(){return Et},EntityOwnerPicker:function(){return en},EntityRefLink:function(){return ae},EntityRefLinks:function(){return W},EntityTable:function(){return Zt},EntityTagPicker:function(){return wt},EntityTypePicker:function(){return On},FavoriteEntity:function(){return Mn},InspectEntityDialog:function(){return gr},UnregisterEntityDialog:function(){return Dr},UserListPicker:function(){return mt},catalogApiRef:function(){return c},entityRouteRef:function(){return ct},getEntityRelations:function(){return xe},getEntitySourceLocation:function(){return Me},humanizeEntityRef:function(){return Nt},starredEntitiesApiRef:function(){return m},useAsyncEntity:function(){return ge},useEntity:function(){return te},useEntityList:function(){return at},useEntityOwnership:function(){return K},useEntityPermission:function(){return ee},useRelatedEntities:function(){return Dt},useStarredEntities:function(){return _t}});var r=e(30001),t=e(36964);const c=(0,t.createApiRef)({id:"plugin.catalog.service"}),m=(0,t.createApiRef)({id:"catalog-react.starred-entities"});var A=e(82394);class f{constructor(){_(this,"starredEntities",new Set);_(this,"subscribers",new Set);_(this,"observable",new ObservableImpl(S=>(S.next(new Set(this.starredEntities)),this.subscribers.add(S),()=>{this.subscribers.delete(S)})))}async toggleStarred(S){this.starredEntities.delete(S)||this.starredEntities.add(S);for(const O of this.subscribers)O.next(new Set(this.starredEntities))}starredEntitie$(){return this.observable}}var a=e(2784),i=e(41156),d=e(60364),y=e(77277),p=e(4190),v=e(95544),T=e(90436),I=e(60905),B=e(36444);const J=R=>{const S=(0,i.Z)(V=>V.breakpoints.down("md")),O=(0,d.Z)(),[Z,G]=(0,a.useState)(!1);return S?a.createElement(a.Fragment,null,a.createElement(y.Z,{style:{marginTop:O.spacing(1),marginLeft:O.spacing(1)},onClick:()=>G(!0),startIcon:a.createElement(B.Z,null)},"Filters"),a.createElement(p.ZP,{open:Z,onClose:()=>G(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},a.createElement(v.Z,{m:2},a.createElement(T.Z,{variant:"h6",component:"h2",style:{marginBottom:O.spacing(1)}},"Filters"),R.children))):a.createElement(I.Z,{item:!0,lg:2},R.children)},$=R=>a.createElement(I.Z,{item:!0,xs:12,lg:10},R.children),L=R=>a.createElement(I.Z,{container:!0,style:{position:"relative"}},R.children);L.Filters=J,L.Content=$;var M=e(76241);const F=(0,M.CT)("entity-context"),x=({children:R,entity:S,loading:O,error:Z,refresh:G})=>{const V={entity:S,loading:O,error:Z,refresh:G};return a.createElement(F.Provider,{value:(0,M.EI)({1:V})},R)},Y=R=>React.createElement(x,{entity:R.entity,loading:!Boolean(R.entity),error:void 0,refresh:void 0,children:R.children});function te(){const R=(0,M.Vt)("entity-context");if(!R)throw new Error("Entity context is not available");const S=R.atVersion(1);if(!S)throw new Error("EntityContext v1 not available");if(!S.entity)throw new Error("useEntity hook is being called outside of an EntityLayout where the entity has not been loaded. If this is intentional, please use useAsyncEntity instead.");return{entity:S.entity}}function ge(){const R=(0,M.Vt)("entity-context");if(!R)throw new Error("Entity context is not available");const S=R.atVersion(1);if(!S)throw new Error("EntityContext v1 not available");const{entity:O,loading:Z,error:G,refresh:V}=S;return{entity:O,loading:Z,error:G,refresh:V}}var Ve=e(76635),He=e(19126),pe=e.n(He),Ye=e(10289),Ee=e(69294),Le=e(48760),Ge=e(90736);function qe(R){return R.reduce((S,O)=>({...S,...O.getCatalogFilters?O.getCatalogFilters():{}}),{})}function Ke(R){return S=>R.every(O=>!O.filterEntity||O.filterEntity(S))}var me=e(48023);function xe(R,S,O){var G;let Z=((G=R==null?void 0:R.relations)==null?void 0:G.filter(V=>V.type===S).map(V=>(0,me.of)(V.targetRef)))||[];return O!=null&&O.kind&&(Z=Z.filter(V=>V.kind.toLocaleLowerCase("en-US")===O.kind.toLocaleLowerCase("en-US"))),Z}function Me(R,S){var Z;const O=(Z=R.metadata.annotations)==null?void 0:Z[me.M6];if(!!O)try{const G=(0,me.Ou)(O),V=S.byUrl(G.target);return{locationTargetUrl:G.target,integrationType:V==null?void 0:V.type}}catch{return}}function We(R,S){const O=new Set([...getEntityRelations(R,RELATION_MEMBER_OF,{kind:"group"}),...R?[getCompoundEntityRef(R)]:[]].map(stringifyEntityRef)),Z=getEntityRelations(S,RELATION_OWNED_BY).map(stringifyEntityRef);for(const G of Z)if(O.has(G))return!0;return!1}const rt=(0,a.createContext)(void 0),Et=({children:R})=>{const S=(0,Ge.default)(),O=(0,t.useApi)(c),[Z,G]=(0,a.useState)({}),V=(0,Ye.TH)(),ue=(0,a.useMemo)(()=>{var Qe;return(Qe=pe().parse(V.search,{ignoreQueryPrefix:!0}).filters)!=null?Qe:{}},[V]),[ve,Ue]=(0,a.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[]})),[{loading:Te,error:Ie},Be]=(0,Ee.default)(async()=>{var yn;const Qe=(0,Ve.compact)(Object.values(Z)),Ze=Ke(Qe),At=qe(Qe),zt=qe((0,Ve.compact)(Object.values(ve.appliedFilters))),fn=Object.keys(Z).reduce((cn,hn)=>{const En=Z[hn];return En!=null&&En.toQueryValue&&(cn[hn]=En.toQueryValue()),cn},{});if((0,Ve.isEqual)(zt,At))Ue({appliedFilters:Z,backendEntities:ve.backendEntities,entities:ve.backendEntities.filter(Ze)});else{const cn=await O.getEntities({filter:At});Ue({appliedFilters:Z,backendEntities:cn.items,entities:cn.items.filter(Ze)})}if(S()){const cn=pe().parse(V.search,{ignoreQueryPrefix:!0}),hn=pe().stringify({...cn,filters:fn},{addQueryPrefix:!0,arrayFormat:"repeat"}),En=`${window.location.pathname}${hn}`;(yn=window.history)==null||yn.replaceState(null,document.title,En)}},[O,ue,Z,ve],{loading:!0});(0,Le.Z)(Be,10,[Z]);const ze=(0,a.useCallback)(Qe=>{G(Ze=>{const At=typeof Qe=="function"?Qe(Ze):Qe;return{...Ze,...At}})},[]),pt=(0,a.useMemo)(()=>({filters:ve.appliedFilters,entities:ve.entities,backendEntities:ve.backendEntities,updateFilters:ze,queryParameters:ue,loading:Te,error:Ie}),[ve,ze,ue,Te,Ie]);return a.createElement(rt.Provider,{value:pt},R)};function at(){const R=(0,a.useContext)(rt);if(!R)throw new Error("useEntityList must be used within EntityListProvider");return R}var _e=e(64279),ft=e(18149),ke=e.n(ft),xt=e(829),bt=e.n(xt);const ct=(0,M.uW)("catalog:entity-route-ref",()=>(0,t.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]}));function on(R){var S,O;return{kind:R.kind.toLocaleLowerCase("en-US"),namespace:(O=(S=R.metadata.namespace)==null?void 0:S.toLocaleLowerCase("en-US"))!=null?O:DEFAULT_NAMESPACE,name:R.metadata.name}}function Nt(R,S){const O=S==null?void 0:S.defaultKind;let Z,G,V;return"metadata"in R?(Z=R.kind,G=R.metadata.namespace,V=R.metadata.name):(Z=R.kind,G=R.namespace,V=R.name),G===me.zG&&(G=void 0),Z=Z.toLocaleLowerCase("en-US"),Z=O&&O.toLocaleLowerCase("en-US")===Z?void 0:Z,`${Z?`${Z}:`:""}${G?`${G}/`:""}${V}`}var gt=e(9118),Yt=e(80030);const ae=(0,a.forwardRef)((R,S)=>{var Qe;const{entityRef:O,defaultKind:Z,title:G,children:V,...ue}=R,ve=(0,t.useRouteRef)(ct);let Ue,Te,Ie;if(typeof O=="string"){const Ze=(0,me.of)(O);Ue=Ze.kind,Te=Ze.namespace,Ie=Ze.name}else"metadata"in O?(Ue=O.kind,Te=O.metadata.namespace,Ie=O.metadata.name):(Ue=O.kind,Te=O.namespace,Ie=O.name);Ue=Ue.toLocaleLowerCase("en-US"),Te=(Qe=Te==null?void 0:Te.toLocaleLowerCase("en-US"))!=null?Qe:me.zG;const Be={kind:Ue,namespace:Te,name:Ie},ze=Nt({kind:Ue,namespace:Te,name:Ie},{defaultKind:Z}),pt=a.createElement(gt.Link,{...ue,ref:S,to:ve(Be)},V,!V&&(G!=null?G:ze));return G?a.createElement(Yt.ZP,{title:ze},pt):pt});function W(R){const{entityRefs:S,defaultKind:O,...Z}=R;return a.createElement(a.Fragment,null,S.map((G,V)=>a.createElement(a.Fragment,{key:V},V>0&&", ",a.createElement(ae,{...Z,entityRef:G,defaultKind:O}))))}class re{constructor(S){this.value=S}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class se{constructor(S){this.value=S}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class fe{constructor(S){this.values=S}filterEntity(S){return this.values.every(O=>{var Z;return((Z=S.metadata.tags)!=null?Z:[]).includes(O)})}toQueryValue(){return this.values}}class Ce{constructor(S){this.value=S}filterEntity(S){var Z;const O=this.value.toLocaleUpperCase("en-US");return S.metadata.name.toLocaleUpperCase("en-US").includes(O)||`${S.metadata.title}`.toLocaleUpperCase("en-US").includes(O)||((Z=S.metadata.tags)==null?void 0:Z.join("").toLocaleUpperCase("en-US").indexOf(O))!==-1}}class De{constructor(S){this.values=S}filterEntity(S){return this.values.some(O=>xe(S,me.S4).some(Z=>Nt(Z,{defaultKind:"group"})===O))}toQueryValue(){return this.values}}class be{constructor(S){this.values=S}filterEntity(S){return this.values.some(O=>{var Z;return((Z=S.spec)==null?void 0:Z.lifecycle)===O})}toQueryValue(){return this.values}}class et{constructor(S,O,Z){this.value=S,this.isOwnedEntity=O,this.isStarredEntity=Z}filterEntity(S){switch(this.value){case"owned":return this.isOwnedEntity(S);case"starred":return this.isStarredEntity(S);default:return!0}}toQueryValue(){return this.value}}function dt(){var Ze;const R=(0,t.useApi)(c),{filters:{kind:S,type:O},queryParameters:{type:Z},updateFilters:G}=at(),V=(0,a.useMemo)(()=>[Z].flat().filter(Boolean),[Z]),[ue,ve]=(0,a.useState)(V.length?V:(Ze=O==null?void 0:O.getTypes())!=null?Ze:[]);(0,a.useEffect)(()=>{V.length&&ve(V)},[V]);const[Ue,Te]=(0,a.useState)([]),Ie=(0,a.useMemo)(()=>S==null?void 0:S.value,[S]),{error:Be,loading:ze,value:pt}=(0,_e.default)(async()=>Ie?await R.getEntityFacets({filter:{kind:Ie},facets:["spec.type"]}).then(zt=>zt.facets["spec.type"]||[]):[],[Ie,R]),Qe=(0,a.useRef)(pt);return(0,a.useEffect)(()=>{const At=Qe.current;if(Qe.current=pt,ze||!Ie||At===pt||!pt)return;const zt=bt()(pt,yn=>-yn.count).map(yn=>yn.value);Te(zt);const fn=ue.filter(yn=>zt.includes(yn));ke()(ue,fn)||ve(fn)},[ze,Ie,ue,ve,pt]),(0,a.useEffect)(()=>{G({type:ue.length?new se(ue):void 0})},[ue,G]),{loading:ze,error:Be,availableTypes:Ue,selectedTypes:ue,setSelectedTypes:ve}}const Ut=20;function Dt(R,S){var Ue,Te;const O=(Ue=S==null?void 0:S.type)==null?void 0:Ue.toLocaleLowerCase("en-US"),Z=(Te=S==null?void 0:S.kind)==null?void 0:Te.toLocaleLowerCase("en-US"),G=(0,t.useApi)(c),{loading:V,value:ue,error:ve}=(0,_e.default)(async()=>{var Qe;const Ie=(Qe=R.relations)==null?void 0:Qe.map(Ze=>({type:Ze.type,target:(0,me.of)(Ze.targetRef)})).filter(Ze=>(!O||Ze.type.toLocaleLowerCase("en-US")===O)&&(!Z||Ze.target.kind===Z));if(!Ie)return[];const Be=Object.values((0,Ve.groupBy)(Ie,({target:Ze})=>`${Ze.kind}:${Ze.namespace}`.toLocaleLowerCase("en-US"))),ze=[];for(const Ze of Be)ze.push({kind:Ze[0].target.kind,namespace:Ze[0].target.namespace,nameBatches:(0,Ve.chunk)(Ze.map(At=>At.target.name),Ut)});return(await Promise.all(ze.flatMap(Ze=>Ze.nameBatches.map(At=>G.getEntities({filter:{kind:Ze.kind,"metadata.namespace":Ze.namespace,"metadata.name":At}}))))).flatMap(Ze=>Ze.items)},[R,O,Z]);return{entities:ue,loading:V,error:ve}}var ut=e(72164);function Pt(R){return typeof R=="string"?R:(0,me.eE)(R)}function _t(){const R=(0,t.useApi)(m),S=(0,ut.Z)(R.starredEntitie$(),new Set),O=(0,a.useCallback)(G=>S.has(Pt(G)),[S]),Z=(0,a.useCallback)(G=>R.toggleStarred(Pt(G)).then(),[R]);return{starredEntities:S,toggleStarredEntity:Z,isStarredEntity:O}}function ie(R){return typeof R=="string"?R:(0,me.eE)(R)}function ce(R){const S=(0,t.useApi)(m),[O,Z]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{const V=S.starredEntitie$().subscribe({next(ue){Z(ue.has(ie(R)))}});return()=>{V.unsubscribe()}},[R,S]),{toggleStarredEntity:(0,a.useCallback)(()=>S.toggleStarred(ie(R)).then(),[R,S]),isStarredEntity:O}}function K(){const R=(0,t.useApi)(t.identityApiRef),{loading:S,value:O}=(0,_e.default)(async()=>{const{ownershipEntityRefs:G}=await R.getBackstageIdentity();return G},[]),Z=(0,a.useMemo)(()=>{const G=new Set(O!=null?O:[]);return V=>{const ue=xe(V,me.S4).map(me.eE);for(const ve of ue)if(G.has(ve))return!0;return!1}},[O]);return(0,a.useMemo)(()=>({loading:S,isOwnedEntity:Z}),[S,Z])}var ye=e(68099);function ee(R){const{entity:S,loading:O,error:Z}=ge(),{allowed:G,loading:V,error:ue}=(0,ye.gI)({permission:R,resourceRef:S?(0,me.eE)(S):void 0});return O||V?{loading:!0,allowed:!1}:Z?{loading:!1,allowed:!1,error:Z}:{loading:!1,allowed:G,error:ue}}const je=R=>{var ue;const{initialFilter:S,hidden:O}=R,{updateFilters:Z,queryParameters:{kind:G}}=useEntityList(),[V]=useState((ue=[G].flat()[0])!=null?ue:S);return useEffect(()=>{Z({kind:V?new EntityKindFilter(V):void 0})},[V,Z]),O?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var k=e(79692),N=e(5806),ne=e(21324),Pe=e(86619),Fe=e(19996),we=e(25505),Ne=e(38016),yt=e(88013);const Ft=(0,k.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),Rt=a.createElement(we.Z,{fontSize:"small"}),Wt=a.createElement(Fe.Z,{fontSize:"small"}),st=()=>{var Te,Ie;const R=Ft(),{updateFilters:S,backendEntities:O,filters:Z,queryParameters:{lifecycles:G}}=at(),V=(0,a.useMemo)(()=>[G].flat().filter(Boolean),[G]),[ue,ve]=(0,a.useState)(V.length?V:(Ie=(Te=Z.lifecycles)==null?void 0:Te.values)!=null?Ie:[]);(0,a.useEffect)(()=>{V.length&&ve(V)},[V]),(0,a.useEffect)(()=>{S({lifecycles:ue.length?new be(ue):void 0})},[ue,S]);const Ue=(0,a.useMemo)(()=>[...new Set(O.map(Be=>{var ze;return(ze=Be.spec)==null?void 0:ze.lifecycle}).filter(Boolean))].sort(),[O]);return Ue.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(T.Z,{variant:"button"},"Lifecycle"),a.createElement(yt.ZP,{"aria-label":"Lifecycle",multiple:!0,options:Ue,value:ue,onChange:(Be,ze)=>ve(ze),renderOption:(Be,{selected:ze})=>a.createElement(N.Z,{control:a.createElement(ne.Z,{icon:Rt,checkedIcon:Wt,checked:ze}),label:Be}),size:"small",popupIcon:a.createElement(Ne.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:Be=>a.createElement(Pe.Z,{...Be,className:R.input,variant:"outlined"})})):null},It=(0,k.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),tt=a.createElement(we.Z,{fontSize:"small"}),Bt=a.createElement(Fe.Z,{fontSize:"small"}),en=()=>{var Te,Ie;const R=It(),{updateFilters:S,backendEntities:O,filters:Z,queryParameters:{owners:G}}=at(),V=(0,a.useMemo)(()=>[G].flat().filter(Boolean),[G]),[ue,ve]=(0,a.useState)(V.length?V:(Ie=(Te=Z.owners)==null?void 0:Te.values)!=null?Ie:[]);(0,a.useEffect)(()=>{V.length&&ve(V)},[V]),(0,a.useEffect)(()=>{S({owners:ue.length?new De(ue):void 0})},[ue,S]);const Ue=(0,a.useMemo)(()=>[...new Set(O.flatMap(Be=>xe(Be,me.S4).map(ze=>Nt(ze,{defaultKind:"group"}))).filter(Boolean))].sort(),[O]);return Ue.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(T.Z,{variant:"button"},"Owner"),a.createElement(yt.ZP,{multiple:!0,"aria-label":"Owner",options:Ue,value:ue,onChange:(Be,ze)=>ve(ze),renderOption:(Be,{selected:ze})=>a.createElement(N.Z,{control:a.createElement(ne.Z,{icon:tt,checkedIcon:Bt,checked:ze}),label:Be}),size:"small",popupIcon:a.createElement(Ne.Z,{"data-testid":"owner-picker-expand"}),renderInput:Be=>a.createElement(Pe.Z,{...Be,className:R.input,variant:"outlined"})})):null},Mt=(0,k.Z)(R=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),it=()=>{var V,ue;const R=Mt(),{filters:S,updateFilters:O}=useEntityList(),[Z,G]=useState((ue=(V=S.text)==null?void 0:V.value)!=null?ue:"");return useDebounce(()=>{O({text:Z.length?new EntityTextFilter(Z):void 0})},250,[Z,O]),React.createElement(Toolbar,{className:R.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{"aria-label":"search",id:"input-with-icon-adornment",className:R.input,placeholder:"Search",autoComplete:"off",onChange:ve=>G(ve.target.value),value:Z,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>G(""),edge:"end",disabled:Z.length===0},React.createElement(Clear,null)))})))},vt=Object.freeze({createEntityRefColumn(R){const{defaultKind:S}=R;function O(Z){var G;return((G=Z.metadata)==null?void 0:G.title)||Nt(Z,{defaultKind:S})}return{title:"Name",highlight:!0,customFilterAndSearch(Z,G){return O(G).includes(Z)},customSort(Z,G){return O(Z).localeCompare(O(G))},render:Z=>{var G;return a.createElement(ae,{entityRef:Z,defaultKind:S,title:(G=Z.metadata)==null?void 0:G.title})}}},createEntityRelationColumn({title:R,relation:S,defaultKind:O,filter:Z}){function G(ue){return xe(ue,S,Z)}function V(ue){return G(ue).map(ve=>Nt(ve,{defaultKind:O})).join(", ")}return{title:R,customFilterAndSearch(ue,ve){return V(ve).includes(ue)},customSort(ue,ve){return V(ue).localeCompare(V(ve))},render:ue=>a.createElement(W,{entityRefs:G(ue),defaultKind:O})}},createOwnerColumn(){return this.createEntityRelationColumn({title:"Owner",relation:me.S4,defaultKind:"group"})},createDomainColumn(){return this.createEntityRelationColumn({title:"Domain",relation:me.cz,defaultKind:"domain",filter:{kind:"domain"}})},createSystemColumn(){return this.createEntityRelationColumn({title:"System",relation:me.cz,defaultKind:"system",filter:{kind:"system"}})},createMetadataDescriptionColumn(){return{title:"Description",field:"metadata.description",render:R=>a.createElement(gt.OverflowTooltip,{text:R.metadata.description,placement:"bottom-start",line:2}),width:"auto"}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"spec.lifecycle"}},createSpecTypeColumn(){return{title:"Type",field:"spec.type"}}}),Ht=[vt.createEntityRefColumn({defaultKind:"system"}),vt.createDomainColumn(),vt.createOwnerColumn(),vt.createMetadataDescriptionColumn()],jt=[vt.createEntityRefColumn({defaultKind:"component"}),vt.createSystemColumn(),vt.createOwnerColumn(),vt.createSpecTypeColumn(),vt.createSpecLifecycleColumn(),vt.createMetadataDescriptionColumn()],an=(0,k.Z)(R=>({empty:{padding:R.spacing(2),display:"flex",justifyContent:"center"}})),Zt=R=>{const{entities:S,title:O,emptyContent:Z,variant:G="gridItem",columns:V}=R,ue=an(),ve={minWidth:"0",width:"100%"};return G==="gridItem"&&(ve.height="calc(100% - 10px)"),a.createElement(gt.Table,{columns:V,title:O,style:ve,emptyContent:Z&&a.createElement("div",{className:ue.empty},Z),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:S})};Zt.columns=vt,Zt.systemEntityColumns=Ht,Zt.componentEntityColumns=jt;const Kt=(0,k.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),Jt=a.createElement(we.Z,{fontSize:"small"}),Qt=a.createElement(Fe.Z,{fontSize:"small"}),wt=()=>{var Te,Ie;const R=Kt(),{updateFilters:S,filters:O,queryParameters:{tags:Z}}=at(),G=(0,t.useApi)(c),{value:V}=(0,_e.default)(async()=>{var pt;const Be="metadata.tags",{facets:ze}=await G.getEntityFacets({facets:[Be],filter:(pt=O.kind)==null?void 0:pt.getCatalogFilters()});return ze[Be].map(({value:Qe})=>Qe)},[O.kind]),ue=(0,a.useMemo)(()=>[Z].flat().filter(Boolean),[Z]),[ve,Ue]=(0,a.useState)(ue.length?ue:(Ie=(Te=O.tags)==null?void 0:Te.values)!=null?Ie:[]);return(0,a.useEffect)(()=>{ue.length&&Ue(ue)},[ue]),(0,a.useEffect)(()=>{S({tags:ve.length?new fe(ve):void 0})},[ve,S]),V!=null&&V.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(T.Z,{variant:"button"},"Tags"),a.createElement(yt.ZP,{multiple:!0,"aria-label":"Tags",options:V,value:ve,onChange:(Be,ze)=>Ue(ze),renderOption:(Be,{selected:ze})=>a.createElement(N.Z,{control:a.createElement(ne.Z,{icon:Jt,checkedIcon:Qt,checked:ze}),label:Be}),size:"small",popupIcon:a.createElement(Ne.Z,{"data-testid":"tag-picker-expand"}),renderInput:Be=>a.createElement(Pe.Z,{...Be,className:R.input,variant:"outlined"})})):null};var tn=e(82108),Vn=e.n(tn);const On=R=>{var Te;const{hidden:S,initialFilter:O}=R,Z=(0,t.useApi)(t.alertApiRef),{error:G,availableTypes:V,selectedTypes:ue,setSelectedTypes:ve}=dt();if((0,a.useEffect)(()=>{G&&Z.post({message:"Failed to load entity types",severity:"error"}),O&&ve([O])},[G,Z,O,ve]),V.length===0||G)return null;const Ue=[{value:"all",label:"All"},...V.map(Ie=>({value:Ie,label:Vn()(Ie)}))];return S?null:a.createElement(v.Z,{pb:1,pt:1},a.createElement(gt.Select,{label:"Type",items:Ue,selected:(Te=Ue.length>1?ue[0]:void 0)!=null?Te:"all",onChange:Ie=>ve(Ie==="all"?[]:[String(Ie)])}))};var mn=e(15459),Gn=e(61837),Nn=e(11640),Kn=e(28347);const Zn=(0,mn.Z)({root:{color:"#f3ba37"}})(Nn.Z),Mn=R=>{const{toggleStarredEntity:S,isStarredEntity:O}=ce(R.entity);return a.createElement(Gn.Z,{"aria-label":"favorite",color:"inherit",...R,onClick:()=>S()},a.createElement(Yt.ZP,{title:O?"Remove from favorites":"Add to favorites"},O?a.createElement(Zn,null):a.createElement(Kn.Z,null)))};var U=e(8629),h=e(79249),C=e(38724),D=e(99152),H=e(6487),he=e(49429),le=e(55999),$e=e(72779),nt=e.n($e),$t=e(39412);const Lt=$t.Z;function wn(R,S){if(R)return R.toLocaleLowerCase("en-US");if(S)try{return(0,me.of)(S).kind.toLocaleLowerCase("en-US")}catch{return}}function Ar(R,S){const O=(0,t.useApp)(),Z=wn(R,S);return Z&&O.getSystemIcon(`kind:${Z}`)||Lt}function Xn(R){const{kind:S,entityRef:O,...Z}=R,G=Ar(S,O);return a.createElement(G,{...Z})}const Nr=(0,k.Z)(R=>({node:{fill:R.palette.grey[300],stroke:R.palette.grey[300],"&.primary":{fill:R.palette.primary.light,stroke:R.palette.primary.light},"&.secondary":{fill:R.palette.secondary.light,stroke:R.palette.secondary.light}},text:{fill:R.palette.getContrastText(R.palette.grey[300]),"&.primary":{fill:R.palette.primary.contrastText},"&.secondary":{fill:R.palette.secondary.contrastText},"&.focused":{fontWeight:"bold"}},clickable:{cursor:"pointer"}}));function lr(R){const S=(0,t.useApi)(c),O=(0,me.eE)(R),{loading:Z,error:G,value:V}=(0,_e.default)(async()=>{const ue=await S.getEntityAncestors({entityRef:O}),ve=new Array,Ue=new Array;for(const Te of ue.items){const Ie=(0,me.eE)(Te.entity),Be=Ie===ue.rootEntityRef;ve.push({id:Ie,root:Be,...Te.entity});for(const ze of Te.parentEntityRefs)Ue.push({from:Ie,to:ze})}return{nodes:ve,edges:Ue}},[O]);return{loading:Z,error:G,nodes:(V==null?void 0:V.nodes)||[],edges:(V==null?void 0:V.edges)||[]}}function Zr({node:R}){const S=Nr(),O=(0,Ye.s0)(),Z=(0,t.useRouteRef)(ct),[G,V]=(0,a.useState)(0),[ue,ve]=(0,a.useState)(0),Ue=(0,a.useRef)(null);(0,a.useLayoutEffect)(()=>{if(Ue.current){let{height:At,width:zt}=Ue.current.getBBox();At=Math.round(At),zt=Math.round(zt),(At!==ue||zt!==G)&&(V(zt),ve(At))}},[G,ue]);const Te=10,Ie=ue,Be=Ie+Te,ze=Be+G+Te*2,pt=ue+Te*2,Qe=R.metadata.title||(R.kind&&R.metadata.name&&R.metadata.namespace?Nt({kind:R.kind,name:R.metadata.name,namespace:R.metadata.namespace||""}):R.id),Ze=()=>{O(Z({kind:R.kind,namespace:R.metadata.namespace||me.zG,name:R.metadata.name}))};return a.createElement("g",{onClick:Ze,className:S.clickable},a.createElement("rect",{className:nt()(S.node,R.root?"secondary":"primary"),width:ze,height:pt,rx:10}),a.createElement(Xn,{kind:R.kind,y:Te,x:Te,width:Ie,height:Ie,className:nt()(S.text,R.root?"secondary":"primary")}),a.createElement("text",{ref:Ue,className:nt()(S.text,R.root?"secondary":"primary"),y:pt/2,x:Be+(G+Te*2)/2,textAnchor:"middle",alignmentBaseline:"middle"},Qe))}function zr(R){const{loading:S,error:O,nodes:Z,edges:G}=lr(R.entity);return S?a.createElement(gt.Progress,null):O?a.createElement(gt.ResponseErrorPanel,{error:O}):a.createElement(a.Fragment,null,a.createElement(le.Z,{variant:"h2"},"Ancestry"),a.createElement(le.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"," ",a.createElement(gt.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."),a.createElement(v.Z,{mt:4},a.createElement(gt.DependencyGraph,{nodes:Z,edges:G,renderNode:Zr,direction:gt.DependencyGraphTypes.Nm.BOTTOM_TOP,zoom:"enable-on-click"})))}var $n=e(11776),xn=e(38402),kn=e(86136),cr=e(99688),Rr=e(49378),ur=e(54506),qn=e(94339),Sr=e(24579),Wr=e(27685);const _n=(0,k.Z)(R=>({root:{display:"flex",flexDirection:"column"},marginTop:{marginTop:R.spacing(2)},helpIcon:{marginLeft:R.spacing(1),color:R.palette.text.disabled},monospace:{fontFamily:"monospace"}}));function pn(R){const S=_n();return a.createElement(Rr.Z,{...R,primaryTypographyProps:{className:S.monospace},secondaryTypographyProps:{className:S.monospace}})}function er(R){const S=_n();return a.createElement(ur.Z,{className:S.monospace},R.children)}function tr(R){return a.createElement(v.Z,{mt:2},a.createElement(qn.Z,{variant:"outlined"},a.createElement(Sr.Z,null,a.createElement(T.Z,{variant:"h6",gutterBottom:!0},R.title,R.helpLink&&a.createElement(Cr,{to:R.helpLink})),R.children)))}function nr(R){const[S,O]=R.entry;return a.createElement(xn.Z,null,R.indent&&a.createElement(kn.Z,null),a.createElement(pn,{primary:S,secondary:O.match(/^url:https?:\/\//)?a.createElement(a.Fragment,null,O.substring(0,4),a.createElement(gt.Link,{to:O.substring(4)},O.substring(4))):O}))}function Cr(R){const S=_n();return a.createElement(gt.Link,{to:R.to,className:S.helpIcon},a.createElement(Wr.Z,{fontSize:"inherit"}))}const Tr=(0,k.Z)({root:{display:"flex",flexDirection:"column"}});function Hr(R){var Ue,Te;const S=(0,t.useApi)(c),O=(0,me.eE)(R),Z=(Ue=R.metadata.annotations)==null?void 0:Ue[me.P1],G=(Te=R.metadata.annotations)==null?void 0:Te[me.q1],{loading:V,error:ue,value:ve}=(0,_e.default)(async()=>!Z&&!G?[]:(await S.getEntities({filter:[...Z?[{[`metadata.annotations.${me.P1}`]:Z}]:[],...G?[{[`metadata.annotations.${me.q1}`]:G}]:[]]})).items,[Z,G]);return{loading:V,error:ue,location:Z,originLocation:G,colocatedEntities:ve==null?void 0:ve.filter(Ie=>(0,me.eE)(Ie)!==O)}}function rr(R){return a.createElement($n.Z,{dense:!0},R.header&&a.createElement(nr,{key:"header",entry:R.header}),R.entities.map(S=>a.createElement(xn.Z,{key:(0,me.eE)(S)},a.createElement(kn.Z,null,a.createElement(Xn,{kind:S.kind})),a.createElement(pn,{primary:a.createElement(ae,{entityRef:S})}))))}function br(R){const{entity:S}=R,{loading:O,error:Z,location:G,originLocation:V,colocatedEntities:ue}=Hr(S);if(O)return a.createElement(gt.Progress,null);if(Z)return a.createElement(gt.ResponseErrorPanel,{error:Z});if(!G&&!V)return a.createElement(cr.Z,{severity:"warning"},"Entity had no location information.");if(!(ue!=null&&ue.length))return a.createElement(cr.Z,{severity:"info"},"There were no other entities on this location.");if(G===V)return a.createElement(rr,{entities:ue});const ve=ue.filter(Te=>{var Ie;return((Ie=Te.metadata.annotations)==null?void 0:Ie[me.P1])===G}),Ue=ue.filter(Te=>{var Ie;return((Ie=Te.metadata.annotations)==null?void 0:Ie[me.q1])===V});return a.createElement(a.Fragment,null,ve.length>0&&a.createElement(rr,{entities:ve,header:["At the same location",G]}),Ue.length>0&&a.createElement(rr,{entities:Ue,header:["At the same origin",V]}))}function jr(R){const S=Tr();return a.createElement(a.Fragment,null,a.createElement(le.Z,{variant:"h2"},"Colocated"),a.createElement(le.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)."),a.createElement("div",{className:S.root},a.createElement(br,{entity:R.entity})))}function dr(R){return Object.fromEntries([...Object.entries(R)].sort((S,O)=>S[0]<O[0]?-1:1))}function Pr(R){return a.createElement(a.Fragment,null,a.createElement(le.Z,{variant:"h2"},"Entity as JSON"),a.createElement(le.Z,null,"This is the raw entity data as received from the catalog, on JSON form."),a.createElement(le.Z,null,a.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},a.createElement(gt.CodeSnippet,{text:JSON.stringify(dr(R.entity),void 0,2),language:"json",showCopyCodeButton:!0}))))}var Ir=e(3440),fr=e.n(Ir);const Lr=(0,k.Z)({root:{display:"flex",flexDirection:"column"}});function mr(R){var Te,Ie;const S=Lr(),{apiVersion:O,kind:Z,metadata:G,spec:V,relations:ue=[],status:ve={}}=R.entity,Ue=fr()(bt()(ue,Be=>Be.targetRef),"type");return a.createElement(a.Fragment,null,a.createElement(le.Z,{variant:"h2"},"Overview"),a.createElement("div",{className:S.root},a.createElement(tr,{title:"Identity"},a.createElement($n.Z,{dense:!0},a.createElement(xn.Z,null,a.createElement(pn,{primary:"apiVersion",secondary:O})),a.createElement(xn.Z,null,a.createElement(pn,{primary:"kind",secondary:Z})),(V==null?void 0:V.type)&&a.createElement(xn.Z,null,a.createElement(pn,{primary:"spec.type",secondary:V.type})),G.uid&&a.createElement(xn.Z,null,a.createElement(pn,{primary:"uid",secondary:G.uid})),G.etag&&a.createElement(xn.Z,null,a.createElement(pn,{primary:"etag",secondary:G.etag})))),a.createElement(tr,{title:"Metadata"},!!Object.keys(G.annotations||{}).length&&a.createElement($n.Z,{dense:!0,subheader:a.createElement(er,null,"Annotations",a.createElement(Cr,{to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"}))},Object.entries(G.annotations).map(Be=>a.createElement(nr,{key:Be[0],indent:!0,entry:Be}))),!!Object.keys(G.labels||{}).length&&a.createElement($n.Z,{dense:!0,subheader:a.createElement(er,null,"Labels")},Object.entries(G.labels).map(Be=>a.createElement(nr,{key:Be[0],indent:!0,entry:Be}))),!!((Te=G.tags)!=null&&Te.length)&&a.createElement($n.Z,{dense:!0,subheader:a.createElement(er,null,"Tags")},G.tags.map((Be,ze)=>a.createElement(xn.Z,{key:`${Be}-${ze}`},a.createElement(kn.Z,null),a.createElement(pn,{primary:Be}))))),!!ue.length&&a.createElement(tr,{title:"Relations",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-relations"},Object.entries(Ue).map(([Be,ze],pt)=>a.createElement("div",{key:pt},a.createElement($n.Z,{dense:!0,subheader:a.createElement(er,null,Be)},ze.map(Qe=>a.createElement(xn.Z,{key:Qe.targetRef},a.createElement(kn.Z,null,a.createElement(Xn,{entityRef:Qe.targetRef})),a.createElement(pn,{primary:a.createElement(ae,{entityRef:Qe.targetRef})}))))))),!!((Ie=ve.items)!=null&&Ie.length)&&a.createElement(tr,{title:"Status",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-statuses"},ve.items.map((Be,ze)=>a.createElement("div",{key:ze},a.createElement(T.Z,null,Be.level,": ",Be.type),a.createElement(v.Z,{ml:2},Be.message))))))}var sn=e(60155),Cn=e.n(sn);function Tn(R){return a.createElement(a.Fragment,null,a.createElement(le.Z,{variant:"h2"},"Entity as YAML"),a.createElement(le.Z,null,"This is the raw entity data as received from the catalog, on YAML form."),a.createElement(le.Z,null,a.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},a.createElement(gt.CodeSnippet,{text:Cn().stringify(dr(R.entity)),language:"yaml",showCopyCodeButton:!0}))))}const hr=(0,k.Z)(R=>({fullHeightDialog:{height:"calc(100% - 64px)"},root:{display:"flex",flexGrow:1,width:"100%",backgroundColor:R.palette.background.paper},tabs:{borderRight:`1px solid ${R.palette.divider}`,flexShrink:0},tabContents:{flexGrow:1,overflowX:"auto"}}));function zn(R){const{children:S,value:O,index:Z,...G}=R,V=hr();return a.createElement("div",{role:"tabpanel",hidden:O!==Z,id:`vertical-tabpanel-${Z}`,"aria-labelledby":`vertical-tab-${Z}`,className:V.tabContents,...G},O===Z&&a.createElement(v.Z,{pl:3,pr:3},S))}function Wn(R){return{id:`vertical-tab-${R}`,"aria-controls":`vertical-tabpanel-${R}`}}function gr(R){const S=hr(),[O,Z]=a.useState(0);return(0,a.useEffect)(()=>{Z(0)},[R.open]),R.entity?a.createElement(U.Z,{fullWidth:!0,maxWidth:"xl",open:R.open,onClose:R.onClose,"aria-labelledby":"entity-inspector-dialog-title",PaperProps:{className:S.fullHeightDialog}},a.createElement(h.Z,{id:"entity-inspector-dialog-title"},"Entity Inspector"),a.createElement(C.Z,{dividers:!0},a.createElement("div",{className:S.root},a.createElement(D.Z,{orientation:"vertical",variant:"scrollable",value:O,onChange:(G,V)=>Z(V),"aria-label":"Inspector options",className:S.tabs},a.createElement(H.Z,{label:"Overview",...Wn(0)}),a.createElement(H.Z,{label:"Ancestry",...Wn(1)}),a.createElement(H.Z,{label:"Colocated",...Wn(2)}),a.createElement(H.Z,{label:"Raw JSON",...Wn(3)}),a.createElement(H.Z,{label:"Raw YAML",...Wn(4)})),a.createElement(zn,{value:O,index:0},a.createElement(mr,{entity:R.entity})),a.createElement(zn,{value:O,index:1},a.createElement(zr,{entity:R.entity})),a.createElement(zn,{value:O,index:2},a.createElement(jr,{entity:R.entity})),a.createElement(zn,{value:O,index:3},a.createElement(Pr,{entity:R.entity})),a.createElement(zn,{value:O,index:4},a.createElement(Tn,{entity:R.entity})))),a.createElement(he.Z,null,a.createElement(y.Z,{onClick:R.onClose,color:"primary"},"Close"))):null}var Or=e(85256);function xr(R){var pt;const S=(0,t.useApi)(c),O=(pt=R.metadata.annotations)==null?void 0:pt[me.q1],Z=R.metadata.uid,G=O==="bootstrap:bootstrap",V=(0,_e.default)(async()=>{const Qe=S.getLocationByRef(O);let Ze;if(!O)Ze=Promise.resolve([]);else{const At=`metadata.annotations.${me.q1}`;Ze=S.getEntities({filter:{[At]:O},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(zt=>zt.items)}return Promise.all([Qe,Ze]).then(([At,zt])=>({location:At,colocatedEntities:zt}))},[S,R]),ue=(0,a.useCallback)(async function(){const{location:Ze}=V.value;await S.removeLocationById(Ze.id)},[S,V]),ve=(0,a.useCallback)(async function(){await S.removeEntityByUid(Z)},[S,Z]);if(G)return{type:"bootstrap",location:O,deleteEntity:ve};const{loading:Ue,error:Te,value:Ie}=V;if(Ue)return{type:"loading"};if(Te)return{type:"error",error:Te};const{location:Be,colocatedEntities:ze}=Ie;return Be?{type:"unregister",location:O,colocatedEntities:ze.map(me.iB),unregisterLocation:ue,deleteEntity:ve}:{type:"only-delete",deleteEntity:ve}}var or=e(10179);const Yn=(0,k.Z)({advancedButton:{fontSize:"0.7em"}}),eo=({entity:R,onConfirm:S})=>{var pt;const O=(0,t.useApi)(t.alertApiRef),Z=(0,t.useApi)(t.configApiRef),G=Yn(),V=xr(R),[ue,ve]=(0,a.useState)(!1),[Ue,Te]=(0,a.useState)(!1),Ie=(pt=Z.getOptionalString("app.title"))!=null?pt:"Backstage",Be=(0,a.useCallback)(async function(){if("unregisterLocation"in V){Te(!0);try{await V.unregisterLocation(),S()}catch(Ze){(0,or.BD)(Ze),O.post({message:Ze.message})}finally{Te(!1)}}},[O,S,V]),ze=(0,a.useCallback)(async function(){if("deleteEntity"in V){Te(!0);try{await V.deleteEntity(),S()}catch(Ze){(0,or.BD)(Ze),O.post({message:Ze.message})}finally{Te(!1)}}},[O,S,V]);return V.type==="loading"?a.createElement(gt.Progress,null):V.type==="error"?a.createElement(gt.ResponseErrorPanel,{error:V.error}):V.type==="bootstrap"?a.createElement(a.Fragment,null,a.createElement(cr.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',V.location,'"). If you believe this is in error, please contact the ',Ie," ","integrator."),a.createElement(v.Z,{marginTop:2},!ue&&a.createElement(y.Z,{variant:"text",size:"small",color:"primary",className:G.advancedButton,onClick:()=>ve(!0)},"Advanced Options"),ue&&a.createElement(a.Fragment,null,a.createElement(le.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."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:Ue,onClick:ze},"Delete Entity")))):V.type==="only-delete"?a.createElement(a.Fragment,null,a.createElement(le.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."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:Ue,onClick:ze},"Delete Entity")):V.type==="unregister"?a.createElement(a.Fragment,null,a.createElement(le.Z,null,"This action will unregister the following entities:"),a.createElement(le.Z,{component:"ul"},V.colocatedEntities.map(Qe=>a.createElement("li",{key:`${Qe.kind}:${Qe.namespace}/${Qe.name}`},a.createElement(ae,{entityRef:Qe})))),a.createElement(le.Z,null,"Located at the following location:"),a.createElement(le.Z,{component:"ul"},a.createElement("li",null,V.location)),a.createElement(le.Z,null,"To undo, just re-register the entity in ",Ie,"."),a.createElement(v.Z,{marginTop:2},a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:Ue,onClick:Be},"Unregister Location"),!ue&&a.createElement(v.Z,{component:"span",marginLeft:2},a.createElement(y.Z,{variant:"text",size:"small",color:"primary",className:G.advancedButton,onClick:()=>ve(!0)},"Advanced Options"))),ue&&a.createElement(a.Fragment,null,a.createElement(v.Z,{paddingTop:4,paddingBottom:4},a.createElement(Or.Z,null)),a.createElement(le.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."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:Ue,onClick:ze},"Delete Entity"))):a.createElement(cr.Z,{severity:"error"},"Internal error: Unknown state")},Dr=R=>{const{open:S,onConfirm:O,onClose:Z,entity:G}=R;return a.createElement(U.Z,{open:S,onClose:Z},a.createElement(h.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),a.createElement(C.Z,null,a.createElement(eo,{entity:G,onConfirm:O})),a.createElement(he.Z,null,a.createElement(y.Z,{onClick:Z,color:"primary"},"Cancel")))};var b=e(12231),q=e(9520),de=e(47603);const Oe=(0,k.Z)(R=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:R.spacing(1,0,1,0)},title:{margin:R.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:R.palette.text.primary},menuItem:{minHeight:R.spacing(6)},groupWrapper:{margin:R.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function Je(R){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:de.Z},{id:"starred",label:"Starred",icon:Nn.Z}]},{name:R!=null?R:"Company",items:[{id:"all",label:"All"}]}]}const mt=R=>{var to;const{initialFilter:S,availableFilters:O}=R,Z=Oe(),V=(to=(0,t.useApi)(t.configApiRef).getOptionalString("organization.name"))!=null?to:"Company",{filters:ue,updateFilters:ve,backendEntities:Ue,queryParameters:{kind:Te,user:Ie},loading:Be}=at(),ze=["starred","all"],pt=Je(V).map(Xt=>({...Xt,items:Xt.items.filter(({id:vn})=>["group","user"].some(Br=>Br===Te)?ze.includes(vn):!O||O.includes(vn))})).filter(({items:Xt})=>!!Xt.length),{isStarredEntity:Qe}=_t(),{isOwnedEntity:Ze,loading:At}=K(),zt=Be||At,fn=(0,a.useMemo)(()=>new et("owned",Ze,Qe),[Ze,Qe]),yn=(0,a.useMemo)(()=>new et("starred",Ze,Qe),[Ze,Qe]),cn=(0,a.useMemo)(()=>[Ie].flat()[0],[Ie]),[hn,En]=(0,a.useState)(cn!=null?cn:S),Fr=(0,a.useMemo)(()=>Ue.filter(Ke((0,Ve.compact)(Object.values({...ue,user:void 0})))),[ue,Ue]),pr=(0,a.useMemo)(()=>({all:Fr.length,starred:Fr.filter(Xt=>yn.filterEntity(Xt)).length,owned:Fr.filter(Xt=>fn.filterEntity(Xt)).length}),[Fr,yn,fn]);return(0,a.useEffect)(()=>{cn&&En(cn)},[cn]),(0,a.useEffect)(()=>{!zt&&!!hn&&hn!=="all"&&pr[hn]===0&&En("all")},[zt,pr,hn,En]),(0,a.useEffect)(()=>{ve({user:hn?new et(hn,Ze,Qe):void 0})},[hn,Ze,Qe,ve]),a.createElement(qn.Z,{className:Z.root},pt.map(Xt=>a.createElement(a.Fragment,{key:Xt.name},a.createElement(T.Z,{variant:"subtitle2",className:Z.title},Xt.name),a.createElement(qn.Z,{className:Z.groupWrapper},a.createElement($n.Z,{disablePadding:!0,dense:!0,role:"menu"},Xt.items.map(vn=>{var Br,no;return a.createElement(b.Z,{key:vn.id,button:!0,divider:!0,onClick:()=>En(vn.id),selected:vn.id===((Br=ue.user)==null?void 0:Br.value),className:Z.menuItem,disabled:pr[vn.id]===0,"data-testid":`user-picker-${vn.id}`},vn.icon&&a.createElement(kn.Z,{className:Z.listIcon},a.createElement(vn.icon,{fontSize:"small"})),a.createElement(Rr.Z,null,a.createElement(T.Z,{variant:"body1"},vn.label)),a.createElement(q.Z,null,(no=pr[vn.id])!=null?no:"-"))}))))))},ht=({children:R,value:S})=>{var ve;const[O,Z]=useState((ve=S==null?void 0:S.filters)!=null?ve:{}),G=useCallback(Ue=>{Z(Te=>{const Ie=typeof Ue=="function"?Ue(Te):Ue;return{...Te,...Ie}})},[]),V=useMemo(()=>({entities:[],backendEntities:[],queryParameters:{}}),[]),ue=useMemo(()=>{var Ue,Te,Ie,Be,ze;return{entities:(Ue=S==null?void 0:S.entities)!=null?Ue:V.entities,backendEntities:(Te=S==null?void 0:S.backendEntities)!=null?Te:V.backendEntities,updateFilters:(Ie=S==null?void 0:S.updateFilters)!=null?Ie:G,filters:O,loading:(Be=S==null?void 0:S.loading)!=null?Be:!1,queryParameters:(ze=S==null?void 0:S.queryParameters)!=null?ze:V.queryParameters,error:S==null?void 0:S.error}},[S,V,O,G]);return React.createElement(EntityListContext.Provider,{value:ue},R)}},39398:function(X,s,e){"use strict";e.r(s),e.d(s,{AboutCard:function(){return Ve},AboutContent:function(){return te},AboutField:function(){return x}});var r=e(48023),t=e(9118),c=e(36964),m=e(36356),A=e(53479),f=e(79692),a=e(94339),i=e(32552),d=e(61837),y=e(85256),p=e(24579),v=e(52866),T=e(30254),I=e(27604),B=e(2784),J=e(47851),$=e(60905),L=e(90436),M=e(7089);const F=(0,f.Z)(He=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:He.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}}));function x(He){const{label:pe,value:Ye,gridSizes:Ee,children:Le}=He,Ge=F(),qe=(0,c.useElementFilter)(Le,me=>me.getElements()),Ke=qe.length>0?qe:B.createElement(L.Z,{variant:"body2",className:Ge.value},Ye||"unknown");return B.createElement($.Z,{item:!0,...Ee},B.createElement(L.Z,{variant:"subtitle2",className:Ge.label},pe),Ke)}const Y=(0,f.Z)({description:{wordBreak:"break-word"}});function te(He){var at,_e,ft,ke,xt,bt;const{entity:pe}=He,Ye=Y(),Ee=pe.kind.toLocaleLowerCase("en-US")==="system",Le=pe.kind.toLocaleLowerCase("en-US")==="resource",Ge=pe.kind.toLocaleLowerCase("en-US")==="component",qe=pe.kind.toLocaleLowerCase("en-US")==="api",Ke=pe.kind.toLocaleLowerCase("en-US")==="template",me=pe.kind.toLocaleLowerCase("en-US")==="location",xe=pe.kind.toLocaleLowerCase("en-US")==="group",Me=(0,A.getEntityRelations)(pe,r.cz,{kind:"system"}),We=(0,A.getEntityRelations)(pe,r.cz,{kind:"component"}),rt=(0,A.getEntityRelations)(pe,r.cz,{kind:"domain"}),Et=(0,A.getEntityRelations)(pe,r.S4);return B.createElement($.Z,{container:!0},B.createElement(x,{label:"Description",gridSizes:{xs:12}},B.createElement(L.Z,{variant:"body2",paragraph:!0,className:Ye.description},((at=pe==null?void 0:pe.metadata)==null?void 0:at.description)||"No description")),B.createElement(x,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},Et.length>0&&B.createElement(A.EntityRefLinks,{entityRefs:Et,defaultKind:"group"})),(Ee||rt.length>0)&&B.createElement(x,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},rt.length>0&&B.createElement(A.EntityRefLinks,{entityRefs:rt,defaultKind:"domain"})),(qe||Ge||Le||Me.length>0)&&B.createElement(x,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},Me.length>0&&B.createElement(A.EntityRefLinks,{entityRefs:Me,defaultKind:"system"})),Ge&&We.length>0&&B.createElement(x,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},B.createElement(A.EntityRefLinks,{entityRefs:We,defaultKind:"component"})),(qe||Ge||Le||Ke||xe||me||typeof((_e=pe==null?void 0:pe.spec)==null?void 0:_e.type)=="string")&&B.createElement(x,{label:"Type",value:(ft=pe==null?void 0:pe.spec)==null?void 0:ft.type,gridSizes:{xs:12,sm:6,lg:4}}),(qe||Ge||typeof((ke=pe==null?void 0:pe.spec)==null?void 0:ke.lifecycle)=="string")&&B.createElement(x,{label:"Lifecycle",value:(xt=pe==null?void 0:pe.spec)==null?void 0:xt.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),B.createElement(x,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((bt=pe==null?void 0:pe.metadata)==null?void 0:bt.tags)||[]).map(ct=>B.createElement(M.Z,{key:ct,size:"small",label:ct}))))}const ge=(0,f.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 Ve(He){var ke,xt,bt;const{variant:pe}=He,Ye=ge(),{entity:Ee}=(0,A.useEntity)(),Le=(0,c.useApi)(m.q3),Ge=(0,c.useApi)(A.catalogApiRef),qe=(0,c.useApi)(c.alertApiRef),Ke=(0,c.useRouteRef)(J.jU),me=(0,A.getEntitySourceLocation)(Ee,Le),xe=(ke=Ee.metadata.annotations)==null?void 0:ke[r.Tf],Me={label:"View Source",disabled:!me,icon:B.createElement(m.nW,{type:me==null?void 0:me.integrationType}),href:me==null?void 0:me.locationTargetUrl},We={label:"View TechDocs",disabled:!((xt=Ee.metadata.annotations)!=null&&xt["backstage.io/techdocs-ref"])||!Ke,icon:B.createElement(T.Z,null),href:Ke&&Ke({namespace:Ee.metadata.namespace||r.zG,kind:Ee.kind,name:Ee.metadata.name})};let rt="";pe==="gridItem"?rt=Ye.gridItemCard:pe==="fullHeight"&&(rt=Ye.fullHeightCard);let Et="";pe==="gridItem"?Et=Ye.gridItemCardContent:pe==="fullHeight"&&(Et=Ye.fullHeightCardContent);const at=(bt=Ee.metadata.annotations)==null?void 0:bt[r.P1],_e=(at==null?void 0:at.startsWith("url:"))||(at==null?void 0:at.startsWith("file:")),ft=(0,B.useCallback)(async()=>{await Ge.refreshEntity((0,r.eE)(Ee)),qe.post({message:"Refresh scheduled",severity:"info"})},[Ge,qe,Ee]);return B.createElement(a.Z,{className:rt},B.createElement(i.Z,{title:"About",action:B.createElement(B.Fragment,null,_e&&B.createElement(d.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:ft},B.createElement(v.Z,null)),B.createElement(d.Z,{component:t.Link,"aria-label":"Edit",disabled:!xe,title:"Edit Metadata",to:xe!=null?xe:"#"},B.createElement(I.Z,null))),subheader:B.createElement(t.HeaderIconLinkRow,{links:[Me,We]})}),B.createElement(y.Z,null),B.createElement(p.Z,{className:Et},B.createElement(te,{entity:Ee})))}},49782:function(X,s,e){"use strict";e.d(s,{K:function(){return v}});var r=e(2784),t=e(79692),c=e(12420),m=e(97580),A=e(73698),f=e(74603),a=e(12231),i=e(53479),d=e(64279),y=e(36964);const p=(0,t.Z)(T=>(0,c.Z)({root:{...T.typography.h4}}));function v(T){var He;const{initialFilter:I="component",allowedKinds:B}=T,J=p(),$=(0,y.useApi)(i.catalogApiRef),{value:L}=(0,d.default)(async()=>await $.getEntityFacets({facets:["kind"]}).then(pe=>{var Ye;return((Ye=pe.facets.kind)==null?void 0:Ye.map(Ee=>Ee.value).sort())||[]})),{updateFilters:M,queryParameters:{kind:F}}=(0,i.useEntityList)(),x=(0,r.useMemo)(()=>{var pe;return(pe=[F].flat()[0])==null?void 0:pe.toLocaleLowerCase("en-US")},[F]),[Y,te]=(0,r.useState)(x!=null?x:I);(0,r.useEffect)(()=>{M({kind:Y?new i.EntityKindFilter(Y):void 0})},[Y,M]),(0,r.useEffect)(()=>{x&&te(x)},[x]);const Ve=[(0,m.Z)(Y)].concat((He=L==null?void 0:L.filter(pe=>B?B.some(Ye=>Ye.toLocaleLowerCase("en-US")===pe.toLocaleLowerCase("en-US")):!0))!=null?He:[]).sort().reduce((pe,Ye)=>(pe[Ye.toLocaleLowerCase("en-US")]=Ye,pe),{});return r.createElement(A.Z,{input:r.createElement(f.Z,{value:Y}),value:Y,onChange:pe=>te(pe.target.value),classes:J},Object.keys(Ve).map(pe=>r.createElement(a.Z,{value:pe,key:pe},`${Ve[pe]}s`)))}},30097:function(X,s,e){"use strict";e.d(s,{E:function(){return I}});var r=e(48023),t=e(53479),c=e(27604),m=e(2997),A=e(76635),f=e(2784),a=e(7089),i=e(9118);const d=Object.freeze({createNameColumn(B){function J($){var L;return((L=$.metadata)==null?void 0:L.title)||(0,t.humanizeEntityRef)($,{defaultKind:B==null?void 0:B.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:$},{entity:L}){return J($).localeCompare(J(L))},render:({entity:$})=>{var L;return f.createElement(t.EntityRefLink,{entityRef:$,defaultKind:(B==null?void 0:B.defaultKind)||"Component",title:(L=$.metadata)==null?void 0:L.title})}}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:B})=>f.createElement(t.EntityRefLinks,{entityRefs:B.partOfSystemRelations,defaultKind:"system"})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:B})=>f.createElement(t.EntityRefLinks,{entityRefs:B.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:B})=>f.createElement(i.OverflowTooltip,{text:B.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:B})=>f.createElement(f.Fragment,null,B.metadata.tags&&B.metadata.tags.map(J=>f.createElement(a.Z,{key:J,label:J,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}});var y=e(28347),p=e(15459),v=e(11640);const T=(0,p.Z)({root:{color:"#f3ba37"}})(v.Z),I=B=>{var qe,Ke,me;const{columns:J,actions:$,tableOptions:L}=B,{isStarredEntity:M,toggleStarredEntity:F}=(0,t.useStarredEntities)(),{loading:x,error:Y,entities:te,filters:ge}=(0,t.useEntityList)(),Ve=(0,f.useMemo)(()=>{var Me;return[d.createNameColumn({defaultKind:(Me=ge.kind)==null?void 0:Me.value}),...xe(),d.createMetadataDescriptionColumn(),d.createTagsColumn()];function xe(){var We;switch((We=ge.kind)==null?void 0:We.value){case"user":return[];case"domain":case"system":return[d.createOwnerColumn()];case"group":case"location":case"template":return[d.createSpecTypeColumn()];default:return[d.createSystemColumn(),d.createOwnerColumn(),d.createSpecTypeColumn(),d.createSpecLifecycleColumn()]}}},[(qe=ge.kind)==null?void 0:qe.value]),He=ge.type===void 0,pe=(0,A.capitalize)((me=(Ke=ge.user)==null?void 0:Ke.value)!=null?me:"all");if(Y)return f.createElement("div",null,f.createElement(i.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},f.createElement(i.CodeSnippet,{language:"text",text:Y.toString()})));const Ye=[({entity:xe})=>{var We;const Me=(We=xe.metadata.annotations)==null?void 0:We[r.l2];return{icon:()=>f.createElement(m.Z,{"aria-label":"View",fontSize:"small"}),tooltip:"View",disabled:!Me,onClick:()=>{!Me||window.open(Me,"_blank")}}},({entity:xe})=>{var We;const Me=(We=xe.metadata.annotations)==null?void 0:We[r.Tf];return{icon:()=>f.createElement(c.Z,{"aria-label":"Edit",fontSize:"small"}),tooltip:"Edit",disabled:!Me,onClick:()=>{!Me||window.open(Me,"_blank")}}},({entity:xe})=>{const Me=M(xe);return{cellStyle:{paddingLeft:"1em"},icon:()=>Me?f.createElement(T,null):f.createElement(y.Z,null),tooltip:Me?"Remove from favorites":"Add to favorites",onClick:()=>F(xe)}}],Ee=te.map(xe=>{const Me=(0,t.getEntityRelations)(xe,r.cz,{kind:"system"}),We=(0,t.getEntityRelations)(xe,r.S4);return{entity:xe,resolved:{name:(0,t.humanizeEntityRef)(xe,{defaultKind:"Component"}),ownedByRelationsTitle:We.map(rt=>(0,t.humanizeEntityRef)(rt,{defaultKind:"group"})).join(", "),ownedByRelations:We,partOfSystemRelationTitle:Me.map(rt=>(0,t.humanizeEntityRef)(rt,{defaultKind:"system"})).join(", "),partOfSystemRelations:Me}}}),Le=(J||Ve).find(xe=>xe.title==="Type");Le&&(Le.hidden=!He);const Ge=Ee.length>20;return f.createElement(i.Table,{isLoading:x,columns:J||Ve,options:{paging:Ge,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!x,padding:"dense",pageSizeOptions:[20,50,100],...L},title:`${pe} (${te.length})`,data:Ee,actions:$||Ye})};I.columns=d},47851:function(X,s,e){"use strict";e.d(s,{_Z:function(){return m},jU:function(){return c},yw:function(){return t}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),c=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]}),m=(0,r.createRouteRef)({id:"catalog"})},40749:function(X,s,e){"use strict";e.d(s,{rG:function(){return r},Y2:function(){return M},J$:function(){return d},g2:function(){return c}});var r;(function(F){const x="DENY";F.DENY=x;const Y="ALLOW";F.ALLOW=Y;const te="CONDITIONAL";F.CONDITIONAL=te})(r||(r={}));function t(F,x){return F.name===x.name}function c(F,x){return"resourceType"in F?!x||F.resourceType===x:!1}function m(F){return F.attributes.action==="create"}function A(F){return F.attributes.action==="read"}function f(F){return F.attributes.action==="update"}function a(F){return F.attributes.action==="delete"}function i(F){return{authorize:async(x,Y)=>await F.authorize(x,Y),authorizeConditional(x,Y){const te=x;return F.authorize(te,Y)}}}function d({name:F,attributes:x,resourceType:Y}){return Y?{type:"resource",name:F,attributes:x,resourceType:Y}:{type:"basic",name:F,attributes:x}}var y=e(10179),p=e(96279),v=e.n(p),T=e(9571),I=e(30195);const B=I.z.lazy(()=>I.z.object({rule:I.z.string(),resourceType:I.z.string(),params:I.z.array(I.z.unknown())}).or(I.z.object({anyOf:I.z.array(B).nonempty()})).or(I.z.object({allOf:I.z.array(B).nonempty()})).or(I.z.object({not:B}))),J=I.z.object({result:I.z.literal(r.ALLOW).or(I.z.literal(r.DENY))}),$=I.z.union([I.z.object({result:I.z.literal(r.ALLOW).or(I.z.literal(r.DENY))}),I.z.object({result:I.z.literal(r.CONDITIONAL),pluginId:I.z.string(),resourceType:I.z.string(),conditions:B})]),L=(F,x)=>I.z.object({items:I.z.array(I.z.intersection(I.z.object({id:I.z.string()}),F)).refine(Y=>Y.length===x.size&&Y.every(({id:te})=>x.has(te)),{message:"Items in response do not match request"})});class M{constructor(x){_(this,"enabled");_(this,"discovery");var Y;this.discovery=x.discovery,this.enabled=(Y=x.config.getOptionalBoolean("permission.enabled"))!=null?Y:!1}async authorize(x,Y){return this.makeRequest(x,J,Y)}async authorizeConditional(x,Y){return this.makeRequest(x,$,Y)}async makeRequest(x,Y,te){if(!this.enabled)return x.map(Le=>({result:r.ALLOW}));const ge={items:x.map(Le=>({id:T.Z(),...Le}))},Ve=await this.discovery.getBaseUrl("permission"),He=await v()(`${Ve}/authorize`,{method:"POST",body:JSON.stringify(ge),headers:{...this.getAuthorizationHeader(te==null?void 0:te.token),"content-type":"application/json"}});if(!He.ok)throw await y.VL.fromResponse(He);const pe=await He.json(),Ee=L(Y,new Set(ge.items.map(({id:Le})=>Le))).parse(pe).items.reduce((Le,Ge)=>(Le[Ge.id]=Ge,Le),{});return ge.items.map(Le=>Ee[Le.id])}getAuthorizationHeader(x){return x?{Authorization:`Bearer ${x}`}:{}}}},68099:function(X,s,e){"use strict";e.d(s,{iM:function(){return A},RV:function(){return c},gI:function(){return a}});var r=e(2784),t=e(36964);const c=(0,t.createApiRef)({id:"plugin.permission.api"});var m=e(40749);class A{constructor(y,p){this.permissionClient=y,this.identityApi=p}static create(y){const{config:p,discovery:v,identity:T}=y,I=new m.Y2({discovery:v,config:p});return new A(I,T)}async authorize(y){return(await this.permissionClient.authorize([y],await this.identityApi.getCredentials()))[0]}}var f=e(49857);function a(d){const y=(0,t.useApi)(c),{data:p,error:v}=(0,f.ZP)(d,async T=>{if((0,m.g2)(T.permission)&&!T.resourceRef)return m.rG.DENY;const{result:I}=await y.authorize(T);return I});return v?{error:v,loading:!1,allowed:!1}:p===void 0?{loading:!0,allowed:!1}:{loading:!1,allowed:p===m.rG.ALLOW}}const i=d=>{const{permission:y,resourceRef:p,errorComponent:v,...T}=d,I=usePermission(isResourcePermission(y)?{permission:y,resourceRef:p}:{permission:y}),B=useApp(),{NotFoundErrorPage:J}=B.getComponents();let $=v===void 0?React.createElement(J,null):v;return I.loading?$=null:I.allowed&&($=d.element),React.createElement(Route,{...T,element:$})}},47955:function(X,s,e){"use strict";e.d(s,{Zz:function(){return A},oZ:function(){return Ye},DR:function(){return f},ZS:function(){return x},KY:function(){return i},gT:function(){return T},Dl:function(){return I},$L:function(){return v},x1:function(){return Y}});var r=e(2784),t=e(10289),c=e(36964);const m="techdocs.addons.addon.v1",A="techdocs.addons.wrapper.v1",f=()=>null;(0,c.attachComponentData)(f,A,!0);const a=Ee=>`${m}.${Ee.toLocaleLowerCase("en-US")}`;function i(Ee){const{name:Le,component:Ge}=Ee;return(0,c.createReactExtension)({name:Le,component:{sync:qe=>r.createElement(Ge,{...qe})},data:{[m]:Ee,[a(Le)]:!0}})}const d=(Ee,Le)=>Ee.selectByComponentData({key:Le}).getElements()[0],y=Ee=>Ee.selectByComponentData({key:A}).selectByComponentData({key:m}),p=Ee=>Ee.selectByComponentData({key:A}).findComponentData({key:m}),v=()=>{const Ee=(0,t.pC)(),Le=(0,c.useElementFilter)(Ee,y),Ge=(0,c.useElementFilter)(Ee,p),qe=(0,r.useCallback)(xe=>{var We;if(!Le||!xe)return null;const Me=a(xe.name);return(We=d(Le,Me))!=null?We:null},[Le]),Ke=(0,r.useCallback)(xe=>{const Me=Ge.find(We=>We.name===xe);return Me?qe(Me):null},[Ge,qe]),me=(0,r.useCallback)(xe=>{const Me=Ge.filter(We=>We.location===xe);return Me.length?Me.map(qe):null},[Ge,qe]);return{renderComponentByName:Ke,renderComponentsByLocation:me}},T=(0,c.createApiRef)({id:"plugin.techdocs.service"}),I=(0,c.createApiRef)({id:"plugin.techdocs.storageservice"});var B=e(64279),J=e(48023),$=e(76241);const L=(Ee,Le)=>(0,J.eE)(Ee)===(0,J.eE)(Le),M={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},F=(0,$.CT)("techdocs-reader-page-context"),x=(0,r.memo)(({entityRef:Ee,children:Le})=>{const Ge=(0,c.useApi)(T),qe=(0,B.default)(async()=>Ge.getTechDocsMetadata(Ee),[Ee]),Ke=(0,B.default)(async()=>Ge.getEntityMetadata(Ee),[Ee]),[me,xe]=(0,r.useState)(M.title),[Me,We]=(0,r.useState)(M.subtitle),[rt,Et]=(0,r.useState)(M.shadowRoot),at={metadata:qe,entityRef:Ee,entityMetadata:Ke,shadowRoot:rt,setShadowRoot:Et,title:me,setTitle:xe,subtitle:Me,setSubtitle:We},_e=(0,$.EI)({1:at});return r.createElement(F.Provider,{value:_e},Le instanceof Function?Le(at):Le)},(Ee,Le)=>L(Ee.entityRef,Le.entityRef)),Y=()=>{const Ee=(0,r.useContext)(F);if(Ee===void 0)return M;const Le=Ee.atVersion(1);if(Le===void 0)throw new Error("No context found for version 1.");return Le};var te=e(54073);const ge=()=>{const{shadowRoot:Ee}=useTechDocsReaderPage();return Ee},Ve=Ee=>{const Le=ge();return Le?Ee.map(Ge=>Le==null?void 0:Le.querySelectorAll(Ge)).filter(Ge=>Ge.length).map(Ge=>Array.from(Ge)).flat():[]},He=Ee=>Ee.toString()&&Ee.rangeCount&&Ee.getRangeAt(0).getBoundingClientRect().top,pe=(Ee=0)=>{const Le=ge(),[Ge,qe]=useState(null),Ke=useMemo(()=>debounce(()=>{const me=Le,xe=me.getSelection?me.getSelection():document.getSelection();xe&&He(xe)?qe(xe):qe(null)},Ee),[Le,qe,Ee]);return useEffect(()=>(window.document.addEventListener("selectionchange",Ke),()=>window.document.removeEventListener("selectionchange",Ke)),[Ke]),Ge},Ye=Object.freeze({Header:"Header",Subheader:"Subheader",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},94067:function(X,s,e){"use strict";e.r(s),e.d(s,{EmbeddedDocsRouter:function(){return B},Router:function(){return I},isTechDocsAvailable:function(){return T}});var r=e(2784),t=e(10289),c=e(53479),m=e(9118),A=e(48023),f=e(20961),a=e(16172),i=e(28626);const d=({entity:J})=>{const $=(0,A.iB)(J);return r.createElement(f.I6,{entityRef:$},r.createElement(a.b,null),r.createElement(i.Fq,{withSearch:!1}))};var y=e(50021),p=e(26220);const v="backstage.io/techdocs-ref",T=J=>{var $,L;return Boolean((L=($=J==null?void 0:J.metadata)==null?void 0:$.annotations)==null?void 0:L[v])},I=()=>r.createElement(t.Z5,null,r.createElement(t.AW,{path:"/",element:r.createElement(y.TechDocsIndexPage,null)}),r.createElement(t.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(p.TechDocsReaderPage,null)})),B=J=>{var F;const{children:$}=J,{entity:L}=(0,c.useEntity)();return((F=L.metadata.annotations)==null?void 0:F[v])?r.createElement(t.Z5,null,r.createElement(t.AW,{element:r.createElement(d,{entity:L})},$)):r.createElement(m.MissingAnnotationEmptyState,{annotation:v})}},3337:function(X,s,e){"use strict";var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),c=(0,r.createApiRef)({id:"plugin.techdocs.service"})},42723:function(X,s,e){"use strict";e.d(s,{k:function(){return A},p:function(){return m}});var r=e(10179),t=e(76372),c=e.n(t);class m{constructor(a){_(this,"configApi");_(this,"discoveryApi");_(this,"fetchApi");this.configApi=a.configApi,this.discoveryApi=a.discoveryApi,this.fetchApi=a.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(a){const{kind:i,namespace:d,name:y}=a,v=`${await this.getApiOrigin()}/metadata/techdocs/${d}/${i}/${y}`,T=await this.fetchApi.fetch(`${v}`);if(!T.ok)throw await r.VL.fromResponse(T);return await T.json()}async getEntityMetadata(a){const{kind:i,namespace:d,name:y}=a,v=`${await this.getApiOrigin()}/metadata/entity/${d}/${i}/${y}`,T=await this.fetchApi.fetch(`${v}`);if(!T.ok)throw await r.VL.fromResponse(T);return await T.json()}}class A{constructor(a){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");_(this,"fetchApi");this.configApi=a.configApi,this.discoveryApi=a.discoveryApi,this.identityApi=a.identityApi,this.fetchApi=a.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var a;return(a=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?a:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(a,i){const{kind:d,namespace:y,name:p}=a,T=`${await this.getStorageUrl()}/${y}/${d}/${p}/${i}`,I=await this.fetchApi.fetch(`${T.endsWith("/")?T:`${T}/`}index.html`);let B="";switch(I.status){case 404:throw B="Page not found. ",i||(B+="This could be because there is no index.md file in the root of the docs directory of this repository."),new r.dR(B);case 500:throw B="Could not generate documentation or an error in the TechDocs backend. ",new Error(B);default:break}return I.text()}async syncEntityDocs(a,i=()=>{}){const{kind:d,namespace:y,name:p}=a,T=`${await this.getApiOrigin()}/sync/${y}/${d}/${p}`,{token:I}=await this.identityApi.getCredentials();return new Promise((B,J)=>{const $=new t.EventSourcePolyfill(T,{withCredentials:!0,headers:I?{Authorization:`Bearer ${I}`}:{}});$.addEventListener("log",L=>{L.data&&i(JSON.parse(L.data))}),$.addEventListener("finish",L=>{let M=!1;L.data&&({updated:M}=JSON.parse(L.data)),B(M?"updated":"cached")}),$.onerror=L=>{switch($.close(),L.status){case 404:J(new r.dR(L.message));return;default:J(new Error(L.data));return}}})}async getBaseUrl(a,i,d){const{kind:y,namespace:p,name:v}=i,I=`${await this.getApiOrigin()}/static/docs/${p}/${y}/${v}/${d}`;return new URL(a,I.endsWith("/")?I:`${I}/`).toString()}}},97589:function(X,s,e){"use strict";e.d(s,{D:function(){return r}});function r(t,c){return c.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},2546:function(X,s,e){"use strict";e.d(s,{u:function(){return a}});var r=e(2784),t=e(9118),c=e(53479),m=e(1114),A=e(70335),f=e(21956);const a=i=>{const{initialFilter:d="all",columns:y,actions:p}=i;return r.createElement(m.j,null,r.createElement(t.Content,null,r.createElement(t.ContentHeader,{title:""},r.createElement(t.SupportButton,null,"Discover documentation in your ecosystem.")),r.createElement(c.EntityListProvider,null,r.createElement(c.CatalogFilterLayout,null,r.createElement(c.CatalogFilterLayout.Filters,null,r.createElement(A.f,null),r.createElement(c.UserListPicker,{initialFilter:d}),r.createElement(c.EntityOwnerPicker,null),r.createElement(c.EntityTagPicker,null)),r.createElement(c.CatalogFilterLayout.Content,null,r.createElement(f.EntityListDocsTable,{actions:p,columns:y}))))))}},51016:function(X,s,e){"use strict";e.d(s,{f:function(){return y}});var r=e(68725),t=e(97589),c=e(36964),m=e(9118),A=e(94339),f=e(16111),a=e(24579),i=e(14503),d=e(2784);const y=T=>{const{entities:I}=T,B=(0,c.useRouteRef)(r.Fw),J=(0,c.useApi)(c.configApiRef);return I?d.createElement(m.ItemCardGrid,{"data-testid":"docs-explore"},I!=null&&I.length?I.map(($,L)=>{var M,F;return d.createElement(A.Z,{key:L},d.createElement(f.Z,null,d.createElement(m.ItemCardHeader,{title:(M=$.metadata.title)!=null?M:$.metadata.name})),d.createElement(a.Z,null,$.metadata.description),d.createElement(i.Z,null,d.createElement(m.Button,{to:B({namespace:(0,t.D)((F=$.metadata.namespace)!=null?F:"default",J),kind:(0,t.D)($.kind,J),name:(0,t.D)($.metadata.name,J)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null};var p=e(53479);const v=()=>{const{loading:T,error:I,entities:B}=useEntityList();return I?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:I.toString()})):T||!B?React.createElement(Progress,null):(B.sort((J,$)=>{var L,M;return((L=J.metadata.title)!=null?L:J.metadata.name).localeCompare((M=$.metadata.title)!=null?M:$.metadata.name)}),React.createElement(DocsCardGrid,{entities:B}))}},38634:function(X,s,e){"use strict";e.d(s,{H:function(){return p}});var r=e(2784),t=e(95074),c=e(36964),m=e(48023),A=e(53479),f=e(68725),a=e(9118),i=e(98095),d=e(3792),y=e(97589);const p=v=>{const{entities:T,title:I,loading:B,columns:J,actions:$}=v,[,L]=(0,t.Z)(),M=(0,c.useRouteRef)(f.Fw),F=(0,c.useApi)(c.configApiRef);if(!T)return null;const x=T.map(ge=>{var He;const Ve=(0,A.getEntityRelations)(ge,m.S4);return{entity:ge,resolved:{docsUrl:M({namespace:(0,y.D)((He=ge.metadata.namespace)!=null?He:"default",F),kind:(0,y.D)(ge.kind,F),name:(0,y.D)(ge.metadata.name,F)}),ownedByRelations:Ve,ownedByRelationsTitle:Ve.map(pe=>(0,A.humanizeEntityRef)(pe,{defaultKind:"group"})).join(", ")}}}),Y=[d.N.createNameColumn(),d.N.createOwnerColumn(),d.N.createTypeColumn()],te=[i.n.createCopyDocsUrlAction(L)];return r.createElement(r.Fragment,null,B||x&&x.length>0?r.createElement(a.Table,{isLoading:B,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:x,columns:J||Y,actions:$||te,title:I?`${I} (${x.length})`:`All (${x.length})`}):r.createElement(a.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(a.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))};p.columns=d.N,p.actions=i.n},12481:function(X,s,e){"use strict";e.d(s,{n:function(){return y}});var r=e(2784),t=e(95074),c=e(76635),m=e.n(c),A=e(9118),f=e(53479),a=e(38634),i=e(98095),d=e(3792);const y=p=>{var te,ge;const{columns:v,actions:T}=p,{loading:I,error:B,entities:J,filters:$}=(0,f.useEntityList)(),{isStarredEntity:L,toggleStarredEntity:M}=(0,f.useStarredEntities)(),[,F]=(0,t.Z)(),x=(0,c.capitalize)((ge=(te=$.user)==null?void 0:te.value)!=null?ge:"all"),Y=[i.n.createCopyDocsUrlAction(F),i.n.createStarEntityAction(L,M)];return B?r.createElement(A.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(A.CodeSnippet,{language:"text",text:B.toString()})):r.createElement(a.H,{title:x,entities:J,loading:I,actions:T||Y,columns:v})};y.columns=d.N,y.actions=i.n},98095:function(X,s,e){"use strict";e.d(s,{n:function(){return a}});var r=e(2784),t=e(39981),c=e(2337),m=e(11640),A=e(28347);const f=(0,c.Z)({root:{color:"#f3ba37"}})(m.Z),a={createCopyDocsUrlAction(i){return d=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>i(`${window.location.origin}${d.resolved.docsUrl}`)})},createStarEntityAction(i,d){return({entity:y})=>{const p=i(y);return{cellStyle:{paddingLeft:"1em"},icon:()=>p?r.createElement(f,null):r.createElement(A.Z,null),tooltip:p?"Remove from favorites":"Add to favorites",onClick:()=>d(y)}}}}},3792:function(X,s,e){"use strict";e.d(s,{N:function(){return A}});var r=e(2784),t=e(9118),c=e(53479);function m(f){return f.metadata.title||f.metadata.name}const A={createNameColumn(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:f=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:f.resolved.docsUrl},m(f.entity)),subvalue:f.entity.metadata.description})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:f})=>r.createElement(c.EntityRefLinks,{entityRefs:f.ownedByRelations,defaultKind:"group"})}},createTypeColumn(){return{title:"Type",field:"entity.spec.type"}}}},21956:function(X,s,e){"use strict";e.d(s,{DocsTable:function(){return t.H},EntityListDocsTable:function(){return r.n}});var r=e(12481),t=e(38634),c=e(72580),m=e.n(c);e.o(c,"DefaultTechDocsHome")&&e.d(s,{DefaultTechDocsHome:function(){return c.DefaultTechDocsHome}})},72580:function(){},50021:function(X,s,e){"use strict";e.r(s),e.d(s,{TechDocsIndexPage:function(){return m}});var r=e(2784),t=e(10289),c=e(2546);const m=()=>(0,t.pC)()||r.createElement(c.u,null)},1114:function(X,s,e){"use strict";e.d(s,{j:function(){return m}});var r=e(2784),t=e(9118),c=e(36964);const m=A=>{var d;const{children:f}=A,i=`Documentation available in ${(d=(0,c.useApi)(c.configApiRef).getOptionalString("organization.name"))!=null?d:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:i,themeId:"documentation"},f)}},70335:function(X,s,e){"use strict";e.d(s,{f:function(){return m}});var r=e(2784),t=e(53479);class c{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":t.CATALOG_FILTER_EXISTS}}}const m=()=>{const{updateFilters:A}=(0,t.useEntityList)();return(0,r.useEffect)(()=>{A({techdocs:new c})},[A]),null}},19192:function(X,s,e){"use strict";e.d(s,{DefaultTechDocsHome:function(){return c.u}});var r=e(51016),t=e(21956),c=e(2546),m=e(1114),A=e(70335)},82250:function(X,s,e){"use strict";e.d(s,{DefaultTechDocsHome:function(){return a.DefaultTechDocsHome},TechDocsIndexPage:function(){return i.Jl},TechDocsReaderPage:function(){return i.I6},TechDocsReaderPageContent:function(){return A.Fq},TechDocsReaderPageHeader:function(){return A.SE},plugin:function(){return i.s4},techdocsPlugin:function(){return i.s4}});var r=e(98157),t=e.n(r);e.o(r,"DefaultTechDocsHome")&&e.d(s,{DefaultTechDocsHome:function(){return r.DefaultTechDocsHome}}),e.o(r,"TechDocsReaderPageContent")&&e.d(s,{TechDocsReaderPageContent:function(){return r.TechDocsReaderPageContent}}),e.o(r,"TechDocsReaderPageHeader")&&e.d(s,{TechDocsReaderPageHeader:function(){return r.TechDocsReaderPageHeader}});var c=e(3337),m=e(42723),A=e(96393),f=e(56400),a=e(19192),i=e(20961),d=e(94067)},20961:function(X,s,e){"use strict";e.d(s,{I6:function(){return y},Jl:function(){return d},s4:function(){return A}});var r=e(47955),t=e(42723),c=e(68725),m=e(36964);const A=(0,m.createPlugin)({id:"techdocs",apis:[(0,m.createApiFactory)({api:r.Dl,deps:{configApi:m.configApiRef,discoveryApi:m.discoveryApiRef,identityApi:m.identityApiRef,fetchApi:m.fetchApiRef},factory:({configApi:p,discoveryApi:v,identityApi:T,fetchApi:I})=>new t.k({configApi:p,discoveryApi:v,identityApi:T,fetchApi:I})}),(0,m.createApiFactory)({api:r.gT,deps:{configApi:m.configApiRef,discoveryApi:m.discoveryApiRef,fetchApi:m.fetchApiRef},factory:({configApi:p,discoveryApi:v,fetchApi:T})=>new t.p({configApi:p,discoveryApi:v,fetchApi:T})})],routes:{root:c._Z,docRoot:c.Fw,entityContent:c.pd}}),f=A.provide((0,m.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(p=>p.Router),mountPoint:c._Z})),a=A.provide((0,m.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(p=>p.EmbeddedDocsRouter),mountPoint:c.pd})),i=A.provide((0,m.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>e.e(7110).then(e.bind(e,57110)).then(p=>p.TechDocsCustomHome),mountPoint:c._Z})),d=A.provide((0,m.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,50021)).then(p=>p.TechDocsIndexPage),mountPoint:c._Z})),y=A.provide((0,m.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,26220)).then(p=>p.TechDocsReaderPage),mountPoint:c.Fw}))},26220:function(X,s,e){"use strict";e.r(s),e.d(s,{TechDocsReaderLayout:function(){return i},TechDocsReaderPage:function(){return d}});var r=e(2784),t=e(10289),c=e(9118),m=e(47955),A=e(28626),f=e(99954),a=e(16172);const i=({withSearch:y,withHeader:p=!0})=>r.createElement(c.Page,{themeId:"documentation"},p&&r.createElement(f.S,null),r.createElement(a.b,null),r.createElement(A.Fq,{withSearch:y})),d=y=>{const{kind:p,name:v,namespace:T}=(0,t.UO)(),{children:I,entityRef:B={kind:p,name:v,namespace:T}}=y,J=(0,t.pC)();if(!I){const L=(J?r.Children.toArray(J.props.children):[]).find(M=>{var x,Y;const{type:F}=M;return!((Y=(x=F==null?void 0:F.__backstage_data)==null?void 0:x.map)!=null&&Y.get(m.Zz))});return r.createElement(m.ZS,{entityRef:B},L||r.createElement(i,null))}return r.createElement(m.ZS,{entityRef:B},({metadata:$,entityMetadata:L,onReady:M})=>r.createElement(c.Page,{themeId:"documentation"},I instanceof Function?I({entityRef:B,techdocsMetadataValue:$.value,entityMetadataValue:L.value,onReady:M}):I))}},28626:function(X,s,e){"use strict";e.d(s,{Fq:function(){return Pt},DK:function(){return te}});var r=e(2784),t=e(36617),c=e(79692),m=e(60905),A=e(8560),f=e(50236),a=e(19219),i=e(47955),d=e(9118),y=e(56400),p=e(23738),v=e(10289),T=e(60364),I=e(41128),B=e(36964),J=e(36356),$=e(64279),L=e(77446);function M({contentLoading:ie,content:ce,activeSyncState:K}){return ie||K==="BUILD_READY_RELOAD"||!ce&&K==="CHECKING"?"CHECKING":!ce&&K==="BUILDING"?"INITIAL_BUILD":ce?K==="BUILDING"?"CONTENT_STALE_REFRESHING":K==="BUILD_READY"?"CONTENT_STALE_READY":K==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function F(ie,ce){const K={...ie};switch(ce.type){case"sync":ce.state==="CHECKING"&&(K.buildLog=[]),K.activeSyncState=ce.state,K.syncError=ce.syncError;break;case"contentLoading":K.contentLoading=!0,K.contentError=void 0;break;case"content":typeof ce.path=="string"&&(K.path=ce.path),K.contentLoading=!1,K.content=ce.content,K.contentError=ce.contentError;break;case"buildLog":K.buildLog=K.buildLog.concat(ce.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(K.activeSyncState)&&["contentLoading","content"].includes(ce.type)&&(K.activeSyncState="UP_TO_DATE",K.buildLog=[]),K}function x(ie,ce,K,ye){var Fe,we;const[ee,je]=(0,r.useReducer)(F,{activeSyncState:"CHECKING",path:ye,contentLoading:!0,buildLog:[]}),k=(0,B.useApi)(i.Dl),{retry:N}=(0,L.Z)(async()=>{je({type:"contentLoading"});try{const Ne=await k.getEntityDocs({kind:ie,namespace:ce,name:K},ye);return je({type:"content",content:Ne,path:ye}),Ne}catch(Ne){je({type:"content",contentError:Ne,path:ye})}},[k,ie,ce,K,ye]),ne=(0,r.useRef)({content:void 0,reload:()=>{}});return ne.current={content:ee.content,reload:N},(0,$.default)(async()=>{je({type:"sync",state:"CHECKING"});const Ne=setTimeout(()=>{je({type:"sync",state:"BUILDING"})},1e3);try{switch(await k.syncEntityDocs({kind:ie,namespace:ce,name:K},Ft=>{je({type:"buildLog",log:Ft})})){case"updated":ne.current.content?je({type:"sync",state:"BUILD_READY"}):(ne.current.reload(),je({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":je({type:"sync",state:"UP_TO_DATE"});break;default:je({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(yt){je({type:"sync",state:"ERROR",syncError:yt})}finally{clearTimeout(Ne)}},[ie,K,ce,k,je,ne]),{state:(0,r.useMemo)(()=>M({activeSyncState:ee.activeSyncState,contentLoading:ee.contentLoading,content:ee.content}),[ee.activeSyncState,ee.content,ee.contentLoading]),contentReload:N,path:ee.path,content:ee.content,contentErrorMessage:(Fe=ee.contentError)==null?void 0:Fe.toString(),syncErrorMessage:(we=ee.syncError)==null?void 0:we.toString(),buildLog:ee.buildLog}}const Y=(0,r.createContext)({}),te=()=>(0,r.useContext)(Y),ge=({children:ie})=>{const{"*":ce=""}=(0,v.UO)(),{entityRef:K}=(0,i.x1)(),{kind:ye,namespace:ee,name:je}=K,k=x(ye,ee,je,ce);return r.createElement(Y.Provider,{value:k},ie instanceof Function?ie(k):ie)},Ve=ie=>ce=>r.createElement(ge,null,r.createElement(ie,{...ce})),He=(ie,ce,K)=>{const ye=ie==="src"&&ce.endsWith(".svg"),ee=!ce.match(/^([a-z]*:)?\/\//i),je=ce.startsWith(K);return ye&&(ee||je)},pe=({techdocsStorageApi:ie,entityId:ce,path:K})=>async ye=>{const ee=await ie.getApiOrigin(),je=async(k,N)=>{for(const ne of k)if(ne.hasAttribute(N)){const Pe=ne.getAttribute(N);if(!Pe)return;const Fe=await ie.getBaseUrl(Pe,ce,K);if(He(N,Pe,ee))try{const Ne=await(await fetch(Fe,{credentials:"include"})).text();ne.setAttribute(N,`data:image/svg+xml;base64,${btoa(Ne)}`)}catch{ne.setAttribute("alt",`Error: ${Pe}`)}else ne.setAttribute(N,Fe)}};return await Promise.all([je(ye.querySelectorAll("img"),"src"),je(ye.querySelectorAll("script"),"src"),je(ye.querySelectorAll("source"),"src"),je(ye.querySelectorAll("link"),"href"),je(ye.querySelectorAll("a[download]"),"href")]),ye};var Ye=e(68370),Ee=e(67097),Le=e(47093),Ge=e(82717),qe=e.n(Ge);const Ke=ie=>ce=>{var Ne;const K=ce.querySelector('[title="Edit this page"]');if(!K||!K.href)return ce;const ye=new URL(K.href),ee=ie.byUrl(ye);if((ee==null?void 0:ee.type)!=="github"&&(ee==null?void 0:ee.type)!=="gitlab")return ce;const je=((Ne=ce.querySelector("article>h1"))==null?void 0:Ne.childNodes[0].textContent)||"",k=encodeURIComponent(`Documentation Feedback: ${je}`),N=encodeURIComponent(`Page source:
|
|
32
|
-
${K.href}
|
|
33
|
-
|
|
34
|
-
Feedback:`),ne=(ee==null?void 0:ee.type)==="github"?(0,Ye.Pb)(ye.href,"blob"):ye.href,Pe=qe()(ne),Fe=`/${Pe.organization}/${Pe.name}`,we=K.cloneNode();switch(ee==null?void 0:ee.type){case"gitlab":we.href=`${ye.origin}${Fe}/issues/new?issue[title]=${k}&issue[description]=${N}`;break;case"github":we.href=`${ye.origin}${Fe}/issues/new?title=${k}&body=${N}`;break;default:return ce}return Le.render(r.createElement(Ee.Z),we),we.style.paddingLeft="5px",we.title="Leave feedback for this page",we.id="git-feedback-link",K==null||K.insertAdjacentElement("beforebegin",we),ce};var me=e(44882);const xe=()=>ie=>{const ce=ie.querySelector('.md-header label[for="__drawer"]'),K=ie.querySelector("article");if(!ce||!K)return ie;const ye=ce.cloneNode();return Le.render(r.createElement(me.Z),ye),ye.id="toggle-sidebar",ye.title="Toggle Sidebar",ye.classList.add("md-content__button"),ye.style.setProperty("padding","0 0 0 5px"),ye.style.setProperty("margin","0.4rem 0 0.4rem 0.4rem"),K==null||K.prepend(ye),ie},Me=()=>ie=>(((K,ye)=>{Array.from(K).filter(ee=>ee.hasAttribute(ye)).forEach(ee=>{const je=ee.getAttribute(ye);if(je){je.match(/^https?:\/\//i)&&ee.setAttribute("target","_blank");try{const k=We(window.location.href);ee.setAttribute(ye,new URL(je,k).toString())}catch{ee.replaceWith(ee.textContent||je)}}})})(Array.from(ie.getElementsByTagName("a")),"href"),ie);function We(ie){const ce=new URL(ie);return!ce.pathname.endsWith("/")&&!ce.pathname.endsWith(".html")&&(ce.pathname+="/"),ce.toString()}const rt=({baseUrl:ie,onClick:ce})=>K=>(Array.from(K.getElementsByTagName("a")).forEach(ye=>{ye.addEventListener("click",ee=>{const k=ye.getAttribute("href");!k||k.startsWith(ie)&&!ye.hasAttribute("download")&&(ee.preventDefault(),ce(ee,k))})}),K);var Et=e(15459),at=e(80030),_e=e(72379),ft=e(41547);const ke=(0,Et.Z)(ie=>({tooltip:{fontSize:"inherit",color:ie.palette.text.primary,margin:0,padding:ie.spacing(.5),backgroundColor:"transparent",boxShadow:"none"}}))(at.ZP),xt=()=>r.createElement(_e.Z,null,r.createElement("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})),bt=({text:ie})=>{const[ce,K]=(0,r.useState)(!1),ye=(0,r.useCallback)(()=>{navigator.clipboard.writeText(ie),K(!0)},[ie]),ee=(0,r.useCallback)(()=>{K(!1)},[K]);return r.createElement(ke,{title:"Copied to clipboard",placement:"left",open:ce,onClose:ee,leaveDelay:1e3},r.createElement("button",{className:"md-clipboard md-icon",onClick:ye},r.createElement(xt,null)))},ct=ie=>ce=>{var ye;const K=ce.querySelectorAll("pre > code");for(const ee of K){const je=ee.textContent||"",k=document.createElement("div");(ye=ee==null?void 0:ee.parentElement)==null||ye.prepend(k),Le.render(r.createElement(ft.Z,{theme:ie},r.createElement(bt,{text:je})),k)}return ce},on=()=>ie=>{var ce;return(ce=ie.querySelector(".md-header"))==null||ce.remove(),ie},Nt=()=>ie=>{var ce,K;return(ce=ie.querySelector(".md-footer .md-copyright"))==null||ce.remove(),(K=ie.querySelector(".md-footer-copyright"))==null||K.remove(),ie},gt=({docStorageUrl:ie,onLoading:ce,onLoaded:K})=>ye=>{const ee=Array.from(ye.querySelectorAll('head > link[rel="stylesheet"]')).filter(k=>{var N;return(N=k.getAttribute("href"))==null?void 0:N.startsWith(ie)});let je=ee.length;return je>0&&ce(ye),ee.forEach(k=>k.addEventListener("load",()=>{je-=1,je===0&&K(ye)})),ye};var Yt=e(35368),ae=e.n(Yt);const W=/main\.[A-Fa-f0-9]{8}\.min\.css$/,re=/^https:\/\/fonts\.googleapis\.com/,se=/^https:\/\/fonts\.gstatic\.com/,fe=ie=>{if(ie.nodeName&&ie.nodeName==="LINK"){const ce=ie.getAttribute("href")||"";ce.match(W)&&ie.setAttribute("rel","stylesheet"),ce.match(re)&&ie.setAttribute("rel","stylesheet"),ce.match(se)&&ie.setAttribute("rel","preconnect")}return ie},Ce=ie=>ce=>{if(ce.nodeName==="IFRAME"){const K=ce.getAttribute("src");if(!K)return ce.remove(),ce;try{const ye=new URL(K);ie.some(je=>ye.host===je)||ce.remove()}catch(ye){console.warn(`Invalid iframe src, ${ye}`),ce.remove()}}return ce},De=ie=>{const ce=(ie==null?void 0:ie.getOptionalStringArray("allowedIframeHosts"))||[];return K=>{ae().addHook("afterSanitizeAttributes",fe);const ye=["link"];return ce.length>0&&(ae().addHook("beforeSanitizeElements",Ce(ce)),ye.push("iframe")),ae().sanitize(K.innerHTML,{ADD_TAGS:ye,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})}},be=({css:ie})=>ce=>(ce.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${ie}</style>`),ce),et=()=>ie=>(setTimeout(()=>{var ce;if(window.location.hash){const K=window.location.hash.slice(1);(ce=ie==null?void 0:ie.querySelector(`[id="${K}"]`))==null||ce.scrollIntoView()}},200),ie),dt=async(ie,ce)=>{let K;if(typeof ie=="string")K=new DOMParser().parseFromString(ie,"text/html").documentElement;else if(ie instanceof Element)K=ie;else throw new Error("dom is not a recognized type");for(const ye of ce)K=await ye(K);return K},Ut=["h1","h2","h3","h4","h5","h6"],Dt=ie=>{const ce=(0,v.s0)(),K=(0,T.Z)(),ye=(0,B.useApi)(i.Dl),ee=(0,B.useApi)(J.q3),je=(0,B.useApi)(B.configApiRef),{namespace:k,kind:N,name:ne}=ie,{state:Pe,path:Fe,content:we}=te(),Ne=K.palette.type==="dark",[yt,Ft]=(0,r.useState)(),[Rt,Wt]=(0,r.useState)(null),{isPinned:st}=(0,r.useContext)(d.SidebarPinStateContext),It=(0,r.useCallback)(()=>{if(!Rt||!yt)return;const Mt=Rt.querySelector(".md-container > .md-tabs"),it=window.matchMedia("screen and (max-width: 76.1875em)").matches,vt=Math.max(Rt.getBoundingClientRect().top,0);yt.forEach(Ht=>{it?Ht.style.top="0px":Mt?Ht.style.top=`${vt+Mt.getBoundingClientRect().height}px`:Ht.style.top=`${vt}px`})},[Rt,yt]);(0,r.useEffect)(()=>(It(),window.addEventListener("scroll",It,!0),window.addEventListener("resize",It),()=>{window.removeEventListener("scroll",It,!0),window.removeEventListener("resize",It)}),[It,Pe]);const tt=(0,r.useCallback)(()=>{if(!Rt)return;const Mt=Rt.querySelector(".md-footer");Mt&&(Mt.style.width=`${Rt.getBoundingClientRect().width}px`)},[Rt]);(0,r.useEffect)(()=>(tt(),window.addEventListener("resize",tt),()=>{window.removeEventListener("resize",tt)}));const Bt=(0,r.useCallback)((Mt,it)=>dt(Mt,[De(je.getOptionalConfig("techdocs.sanitizer")),pe({techdocsStorageApi:ye,entityId:{kind:N,name:ne,namespace:k},path:it}),Me(),xe(),on(),Nt(),Ke(ee),be({css:`
|
|
35
|
-
/*
|
|
36
|
-
As the MkDocs output is rendered in shadow DOM, the CSS variable definitions on the root selector are not applied. Instead, they have to be applied on :host.
|
|
37
|
-
As there is no way to transform the served main*.css yet (for example in the backend), we have to copy from main*.css and modify them.
|
|
38
|
-
*/
|
|
39
|
-
:host {
|
|
40
|
-
/* FONT */
|
|
41
|
-
--md-default-fg-color: ${K.palette.text.primary};
|
|
42
|
-
--md-default-fg-color--light: ${K.palette.text.secondary};
|
|
43
|
-
--md-default-fg-color--lighter: ${(0,I.$n)(K.palette.text.secondary,.7)};
|
|
44
|
-
--md-default-fg-color--lightest: ${(0,I.$n)(K.palette.text.secondary,.3)};
|
|
45
|
-
|
|
46
|
-
/* BACKGROUND */
|
|
47
|
-
--md-default-bg-color:${K.palette.background.default};
|
|
48
|
-
--md-default-bg-color--light: ${K.palette.background.paper};
|
|
49
|
-
--md-default-bg-color--lighter: ${(0,I.$n)(K.palette.background.paper,.7)};
|
|
50
|
-
--md-default-bg-color--lightest: ${(0,I.$n)(K.palette.background.paper,.3)};
|
|
51
|
-
|
|
52
|
-
/* PRIMARY */
|
|
53
|
-
--md-primary-fg-color: ${K.palette.primary.main};
|
|
54
|
-
--md-primary-fg-color--light: ${K.palette.primary.light};
|
|
55
|
-
--md-primary-fg-color--dark: ${K.palette.primary.dark};
|
|
56
|
-
--md-primary-bg-color: ${K.palette.primary.contrastText};
|
|
57
|
-
--md-primary-bg-color--light: ${(0,I.$n)(K.palette.primary.contrastText,.7)};
|
|
58
|
-
|
|
59
|
-
/* ACCENT */
|
|
60
|
-
--md-accent-fg-color: var(--md-primary-fg-color);
|
|
61
|
-
|
|
62
|
-
/* SHADOW */
|
|
63
|
-
--md-shadow-z1: ${K.shadows[1]};
|
|
64
|
-
--md-shadow-z2: ${K.shadows[2]};
|
|
65
|
-
--md-shadow-z3: ${K.shadows[3]};
|
|
66
|
-
|
|
67
|
-
/* EXTENSIONS */
|
|
68
|
-
--md-admonition-fg-color: var(--md-default-fg-color);
|
|
69
|
-
--md-admonition-bg-color: var(--md-default-bg-color);
|
|
70
|
-
/* Admonitions and others are using SVG masks to define icons. These masks are defined as CSS variables. */
|
|
71
|
-
--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>');
|
|
72
|
-
--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>');
|
|
73
|
-
--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>');
|
|
74
|
-
--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>');
|
|
75
|
-
--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>');
|
|
76
|
-
--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>');
|
|
77
|
-
--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>');
|
|
78
|
-
--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>');
|
|
79
|
-
--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>');
|
|
80
|
-
--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>');
|
|
81
|
-
--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>');
|
|
82
|
-
--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>');
|
|
83
|
-
--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>');
|
|
84
|
-
--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
85
|
-
--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>');
|
|
86
|
-
--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>');
|
|
87
|
-
--md-nav-icon--prev: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>');
|
|
88
|
-
--md-nav-icon--next: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
89
|
-
--md-toc-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>');
|
|
90
|
-
--md-clipboard-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1z"/></svg>');
|
|
91
|
-
--md-search-result-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5z"/></svg>');
|
|
92
|
-
--md-source-forks-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 2.122a2.25 2.25 0 1 0-1.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878zm3.75 7.378a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/></svg>');
|
|
93
|
-
--md-source-repositories-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 1 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 0 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 0 1 1-1h8zM5 12.25v3.25a.25.25 0 0 0 .4.2l1.45-1.087a.25.25 0 0 1 .3 0L8.6 15.7a.25.25 0 0 0 .4-.2v-3.25a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25z"/></svg>');
|
|
94
|
-
--md-source-stars-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.75.75 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694v.001z"/></svg>');
|
|
95
|
-
--md-source-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 0 1 .25-.25h5.025a.25.25 0 0 1 .177.073l6.25 6.25a.25.25 0 0 1 0 .354l-5.025 5.025a.25.25 0 0 1-.354 0l-6.25-6.25a.25.25 0 0 1-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775zM6 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>');
|
|
96
|
-
--md-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m310.6 246.6-127.1 128c-7.1 6.3-15.3 9.4-23.5 9.4s-16.38-3.125-22.63-9.375l-127.1-128C.224 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75s3.12 25.75-6.08 34.85z"/></svg>');
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
:host > * {
|
|
100
|
-
/* CODE */
|
|
101
|
-
--md-code-fg-color: ${K.palette.text.primary};
|
|
102
|
-
--md-code-bg-color: ${K.palette.background.paper};
|
|
103
|
-
--md-code-hl-color: ${(0,I.Fq)(K.palette.warning.main,.5)};
|
|
104
|
-
--md-code-hl-keyword-color: ${Ne?K.palette.primary.light:K.palette.primary.dark};
|
|
105
|
-
--md-code-hl-function-color: ${Ne?K.palette.secondary.light:K.palette.secondary.dark};
|
|
106
|
-
--md-code-hl-string-color: ${Ne?K.palette.success.light:K.palette.success.dark};
|
|
107
|
-
--md-code-hl-number-color: ${Ne?K.palette.error.light:K.palette.error.dark};
|
|
108
|
-
--md-code-hl-constant-color: var(--md-code-hl-function-color);
|
|
109
|
-
--md-code-hl-special-color: var(--md-code-hl-function-color);
|
|
110
|
-
--md-code-hl-name-color: var(--md-code-fg-color);
|
|
111
|
-
--md-code-hl-comment-color: var(--md-default-fg-color--light);
|
|
112
|
-
--md-code-hl-generic-color: var(--md-default-fg-color--light);
|
|
113
|
-
--md-code-hl-variable-color: var(--md-default-fg-color--light);
|
|
114
|
-
--md-code-hl-operator-color: var(--md-default-fg-color--light);
|
|
115
|
-
--md-code-hl-punctuation-color: var(--md-default-fg-color--light);
|
|
116
|
-
|
|
117
|
-
/* TYPESET */
|
|
118
|
-
--md-typeset-font-size: 1rem;
|
|
119
|
-
--md-typeset-color: var(--md-default-fg-color);
|
|
120
|
-
--md-typeset-a-color: var(--md-accent-fg-color);
|
|
121
|
-
--md-typeset-table-color: ${K.palette.text.primary};
|
|
122
|
-
--md-typeset-del-color: ${Ne?(0,I.Fq)(K.palette.error.dark,.5):(0,I.Fq)(K.palette.error.light,.5)};
|
|
123
|
-
--md-typeset-ins-color: ${Ne?(0,I.Fq)(K.palette.success.dark,.5):(0,I.Fq)(K.palette.success.light,.5)};
|
|
124
|
-
--md-typeset-mark-color: ${Ne?(0,I.Fq)(K.palette.warning.dark,.5):(0,I.Fq)(K.palette.warning.light,.5)};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
@media screen and (max-width: 76.1875em) {
|
|
128
|
-
:host > * {
|
|
129
|
-
/* TYPESET */
|
|
130
|
-
--md-typeset-font-size: .9rem;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@media screen and (max-width: 600px) {
|
|
135
|
-
:host > * {
|
|
136
|
-
/* TYPESET */
|
|
137
|
-
--md-typeset-font-size: .7rem;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
`}),be({css:`
|
|
141
|
-
body {
|
|
142
|
-
--md-text-color: var(--md-default-fg-color);
|
|
143
|
-
--md-text-link-color: var(--md-accent-fg-color);
|
|
144
|
-
--md-text-font-family: ${K.typography.fontFamily};
|
|
145
|
-
font-family: var(--md-text-font-family);
|
|
146
|
-
background-color: unset;
|
|
147
|
-
}
|
|
148
|
-
`}),be({css:`
|
|
149
|
-
.md-grid {
|
|
150
|
-
max-width: 100%;
|
|
151
|
-
margin: 0;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.md-nav {
|
|
155
|
-
font-size: calc(var(--md-typeset-font-size) * 0.9);
|
|
156
|
-
}
|
|
157
|
-
.md-nav__link {
|
|
158
|
-
display: flex;
|
|
159
|
-
align-items: center;
|
|
160
|
-
justify-content: space-between;
|
|
161
|
-
}
|
|
162
|
-
.md-nav__icon {
|
|
163
|
-
height: 20px !important;
|
|
164
|
-
width: 20px !important;
|
|
165
|
-
margin-left:${K.spacing(1)}px;
|
|
166
|
-
}
|
|
167
|
-
.md-nav__icon svg {
|
|
168
|
-
margin: 0;
|
|
169
|
-
width: 20px !important;
|
|
170
|
-
height: 20px !important;
|
|
171
|
-
}
|
|
172
|
-
.md-nav__icon:after {
|
|
173
|
-
width: 20px !important;
|
|
174
|
-
height: 20px !important;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.md-main__inner {
|
|
178
|
-
margin-top: 0;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
.md-sidebar {
|
|
182
|
-
bottom: 75px;
|
|
183
|
-
position: fixed;
|
|
184
|
-
width: 16rem;
|
|
185
|
-
overflow-y: auto;
|
|
186
|
-
overflow-x: hidden;
|
|
187
|
-
scrollbar-color: rgb(193, 193, 193) #eee;
|
|
188
|
-
scrollbar-width: thin;
|
|
189
|
-
}
|
|
190
|
-
.md-sidebar .md-sidebar__scrollwrap {
|
|
191
|
-
width: calc(16rem - 10px);
|
|
192
|
-
}
|
|
193
|
-
.md-sidebar--secondary {
|
|
194
|
-
right: ${K.spacing(3)}px;
|
|
195
|
-
}
|
|
196
|
-
.md-sidebar::-webkit-scrollbar {
|
|
197
|
-
width: 5px;
|
|
198
|
-
}
|
|
199
|
-
.md-sidebar::-webkit-scrollbar-button {
|
|
200
|
-
width: 5px;
|
|
201
|
-
height: 5px;
|
|
202
|
-
}
|
|
203
|
-
.md-sidebar::-webkit-scrollbar-track {
|
|
204
|
-
background: #eee;
|
|
205
|
-
border: 1 px solid rgb(250, 250, 250);
|
|
206
|
-
box-shadow: 0px 0px 3px #dfdfdf inset;
|
|
207
|
-
border-radius: 3px;
|
|
208
|
-
}
|
|
209
|
-
.md-sidebar::-webkit-scrollbar-thumb {
|
|
210
|
-
width: 5px;
|
|
211
|
-
background: rgb(193, 193, 193);
|
|
212
|
-
border: transparent;
|
|
213
|
-
border-radius: 3px;
|
|
214
|
-
}
|
|
215
|
-
.md-sidebar::-webkit-scrollbar-thumb:hover {
|
|
216
|
-
background: rgb(125, 125, 125);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.md-content {
|
|
220
|
-
max-width: calc(100% - 16rem * 2);
|
|
221
|
-
margin-left: 16rem;
|
|
222
|
-
margin-bottom: 50px;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.md-footer {
|
|
226
|
-
position: fixed;
|
|
227
|
-
bottom: 0px;
|
|
228
|
-
}
|
|
229
|
-
.md-footer__title {
|
|
230
|
-
background-color: unset;
|
|
231
|
-
}
|
|
232
|
-
.md-footer-nav__link {
|
|
233
|
-
width: 16rem;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
.md-dialog {
|
|
237
|
-
background-color: unset;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
@media screen and (min-width: 76.25em) {
|
|
241
|
-
.md-sidebar {
|
|
242
|
-
height: auto;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
@media screen and (max-width: 76.1875em) {
|
|
247
|
-
.md-nav {
|
|
248
|
-
transition: none !important;
|
|
249
|
-
background-color: var(--md-default-bg-color)
|
|
250
|
-
}
|
|
251
|
-
.md-nav--primary .md-nav__title {
|
|
252
|
-
cursor: auto;
|
|
253
|
-
color: var(--md-default-fg-color);
|
|
254
|
-
font-weight: 700;
|
|
255
|
-
white-space: normal;
|
|
256
|
-
line-height: 1rem;
|
|
257
|
-
height: auto;
|
|
258
|
-
display: flex;
|
|
259
|
-
flex-flow: column;
|
|
260
|
-
row-gap: 1.6rem;
|
|
261
|
-
padding: 1.2rem .8rem .8rem;
|
|
262
|
-
background-color: var(--md-default-bg-color);
|
|
263
|
-
}
|
|
264
|
-
.md-nav--primary .md-nav__title~.md-nav__list {
|
|
265
|
-
box-shadow: none;
|
|
266
|
-
}
|
|
267
|
-
.md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {
|
|
268
|
-
border-top: none;
|
|
269
|
-
}
|
|
270
|
-
.md-nav--primary .md-nav__title .md-nav__button {
|
|
271
|
-
display: none;
|
|
272
|
-
}
|
|
273
|
-
.md-nav--primary .md-nav__title .md-nav__icon {
|
|
274
|
-
color: var(--md-default-fg-color);
|
|
275
|
-
position: static;
|
|
276
|
-
height: auto;
|
|
277
|
-
margin: 0 0 0 -0.2rem;
|
|
278
|
-
}
|
|
279
|
-
.md-nav--primary > .md-nav__title [for="none"] {
|
|
280
|
-
padding-top: 0;
|
|
281
|
-
}
|
|
282
|
-
.md-nav--primary .md-nav__item {
|
|
283
|
-
border-top: none;
|
|
284
|
-
}
|
|
285
|
-
.md-nav--primary :is(.md-nav__title,.md-nav__item) {
|
|
286
|
-
font-size : var(--md-typeset-font-size);
|
|
287
|
-
}
|
|
288
|
-
.md-nav .md-source {
|
|
289
|
-
display: none;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
.md-sidebar {
|
|
293
|
-
height: 100%;
|
|
294
|
-
}
|
|
295
|
-
.md-sidebar--primary {
|
|
296
|
-
width: 12.1rem !important;
|
|
297
|
-
z-index: 200;
|
|
298
|
-
left: ${st?"calc(-12.1rem + 242px)":"calc(-12.1rem + 72px)"} !important;
|
|
299
|
-
}
|
|
300
|
-
.md-sidebar--secondary:not([hidden]) {
|
|
301
|
-
display: none;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
.md-content {
|
|
305
|
-
max-width: 100%;
|
|
306
|
-
margin-left: 0;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
.md-header__button {
|
|
310
|
-
margin: 0.4rem 0;
|
|
311
|
-
margin-left: 0.4rem;
|
|
312
|
-
padding: 0;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
.md-overlay {
|
|
316
|
-
left: 0;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
.md-footer {
|
|
320
|
-
position: static;
|
|
321
|
-
padding-left: 0;
|
|
322
|
-
}
|
|
323
|
-
.md-footer-nav__link {
|
|
324
|
-
/* footer links begin to overlap at small sizes without setting width */
|
|
325
|
-
width: 50%;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
@media screen and (max-width: 600px) {
|
|
330
|
-
.md-sidebar--primary {
|
|
331
|
-
left: -12.1rem !important;
|
|
332
|
-
width: 12.1rem;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
`}),be({css:`
|
|
336
|
-
.md-typeset {
|
|
337
|
-
font-size: var(--md-typeset-font-size);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
${Ut.reduce((vt,Ht)=>{const jt=K.typography[Ht],{lineHeight:an,fontFamily:Zt,fontWeight:Kt,fontSize:Jt}=jt,Qt=wt=>{let tn=1;return typeof wt=="number"&&(tn=wt/16*.6),typeof wt=="string"&&(tn=wt.replace("rem","")),`calc(${tn} * var(--md-typeset-font-size))`};return vt.concat(`
|
|
341
|
-
.md-typeset ${Ht} {
|
|
342
|
-
color: var(--md-default-fg-color);
|
|
343
|
-
line-height: ${an};
|
|
344
|
-
font-family: ${Zt};
|
|
345
|
-
font-weight: ${Kt};
|
|
346
|
-
font-size: ${Qt(Jt)};
|
|
347
|
-
}
|
|
348
|
-
`)},"")}
|
|
349
|
-
|
|
350
|
-
.md-typeset .md-content__button {
|
|
351
|
-
color: var(--md-default-fg-color);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
.md-typeset hr {
|
|
355
|
-
border-bottom: 0.05rem dotted ${K.palette.divider};
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
.md-typeset details {
|
|
359
|
-
font-size: var(--md-typeset-font-size) !important;
|
|
360
|
-
}
|
|
361
|
-
.md-typeset details summary {
|
|
362
|
-
padding-left: 2.5rem !important;
|
|
363
|
-
}
|
|
364
|
-
.md-typeset details summary:before,
|
|
365
|
-
.md-typeset details summary:after {
|
|
366
|
-
top: 50% !important;
|
|
367
|
-
width: 20px !important;
|
|
368
|
-
height: 20px !important;
|
|
369
|
-
transform: rotate(0deg) translateY(-50%) !important;
|
|
370
|
-
}
|
|
371
|
-
.md-typeset details[open] > summary:after {
|
|
372
|
-
transform: rotate(90deg) translateX(-50%) !important;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
.md-typeset blockquote {
|
|
376
|
-
color: var(--md-default-fg-color--light);
|
|
377
|
-
border-left: 0.2rem solid var(--md-default-fg-color--light);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
.md-typeset table:not([class]) {
|
|
381
|
-
font-size: var(--md-typeset-font-size);
|
|
382
|
-
border: 1px solid var(--md-default-fg-color);
|
|
383
|
-
border-bottom: none;
|
|
384
|
-
border-collapse: collapse;
|
|
385
|
-
}
|
|
386
|
-
.md-typeset table:not([class]) th {
|
|
387
|
-
font-weight: bold;
|
|
388
|
-
}
|
|
389
|
-
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
390
|
-
border-bottom: 1px solid var(--md-default-fg-color);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
394
|
-
background-color: hsla(0, 0%, 0%, 0.32);
|
|
395
|
-
}
|
|
396
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
397
|
-
background-color: hsla(0, 0%, 0%, 0.87);
|
|
398
|
-
}
|
|
399
|
-
`}),be({css:`
|
|
400
|
-
/*
|
|
401
|
-
Disable CSS animations on link colors as they lead to issues in dark mode.
|
|
402
|
-
The dark mode color theme is applied later and theirfore there is always an animation from light to dark mode when navigation between pages.
|
|
403
|
-
*/
|
|
404
|
-
.md-dialog, .md-nav__link, .md-footer__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
405
|
-
transition: none;
|
|
406
|
-
}
|
|
407
|
-
`}),be({css:`
|
|
408
|
-
/* HIGHLIGHT */
|
|
409
|
-
.highlight .md-clipboard:after {
|
|
410
|
-
content: unset;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
.highlight .nx {
|
|
414
|
-
color: ${Ne?"#ff53a3":"#ec407a"};
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
/* CODE HILITE */
|
|
418
|
-
.codehilite .gd {
|
|
419
|
-
background-color: ${Ne?"rgba(248,81,73,0.65)":"#fdd"};
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
.codehilite .gi {
|
|
423
|
-
background-color: ${Ne?"rgba(46,160,67,0.65)":"#dfd"};
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/* TABBED */
|
|
427
|
-
.tabbed-set>input:nth-child(1):checked~.tabbed-labels>:nth-child(1),
|
|
428
|
-
.tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),
|
|
429
|
-
.tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),
|
|
430
|
-
.tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),
|
|
431
|
-
.tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),
|
|
432
|
-
.tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),
|
|
433
|
-
.tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),
|
|
434
|
-
.tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),
|
|
435
|
-
.tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),
|
|
436
|
-
.tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),
|
|
437
|
-
.tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),
|
|
438
|
-
.tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),
|
|
439
|
-
.tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),
|
|
440
|
-
.tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),
|
|
441
|
-
.tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),
|
|
442
|
-
.tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),
|
|
443
|
-
.tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),
|
|
444
|
-
.tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),
|
|
445
|
-
.tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),
|
|
446
|
-
.tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) {
|
|
447
|
-
color: var(--md-accent-fg-color);
|
|
448
|
-
border-color: var(--md-accent-fg-color);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
/* TASK-LIST */
|
|
452
|
-
.task-list-control .task-list-indicator::before {
|
|
453
|
-
background-color: ${K.palette.action.disabledBackground};
|
|
454
|
-
}
|
|
455
|
-
.task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
456
|
-
background-color: ${K.palette.success.main};
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
/* ADMONITION */
|
|
460
|
-
.admonition {
|
|
461
|
-
font-size: var(--md-typeset-font-size) !important;
|
|
462
|
-
}
|
|
463
|
-
.admonition .admonition-title {
|
|
464
|
-
padding-left: 2.5rem !important;
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
.admonition .admonition-title:before {
|
|
468
|
-
top: 50% !important;
|
|
469
|
-
width: 20px !important;
|
|
470
|
-
height: 20px !important;
|
|
471
|
-
transform: translateY(-50%) !important;
|
|
472
|
-
}
|
|
473
|
-
`})]),[N,ne,k,ee,je,ye,K,Ne,st]),en=(0,r.useCallback)(async Mt=>dt(Mt,[et(),ct(K),rt({baseUrl:window.location.origin,onClick:(it,vt)=>{var an;const Ht=it.ctrlKey||it.metaKey,jt=new URL(vt);jt.hash?Ht?window.open(`${jt.pathname}${jt.hash}`,"_blank"):(ce(`${jt.pathname}${jt.hash}`),(an=Mt==null?void 0:Mt.querySelector(`#${jt.hash.slice(1)}`))==null||an.scrollIntoView()):Ht?window.open(jt.pathname,"_blank"):ce(jt.pathname)}}),gt({docStorageUrl:await ye.getApiOrigin(),onLoading:it=>{it.style.setProperty("opacity","0")},onLoaded:it=>{var vt;it.style.removeProperty("opacity"),(vt=it.querySelector(".md-nav__title"))==null||vt.removeAttribute("for"),Ft(Array.from(it.querySelectorAll(".md-sidebar")))}})]),[K,ce,ye]);return(0,r.useEffect)(()=>{if(!we)return()=>{};let Mt=!0;return Bt(we,Fe).then(async it=>{if(!(it!=null&&it.innerHTML)||!Mt)return;window.scroll({top:0});const vt=await en(it);Wt(vt)}),()=>{Mt=!1}},[we,Fe,Bt,en]),Rt},ut=(0,c.Z)({search:{width:"100%","@media (min-width: 76.1875em)":{width:"calc(100% - 34.4rem)",margin:"0 auto"}}}),Pt=Ve(ie=>{const{withSearch:ce=!0,onReady:K}=ie,ye=ut(),ee=(0,i.$L)(),{entityMetadata:{value:je,loading:k},entityRef:N,shadowRoot:ne,setShadowRoot:Pe}=(0,i.x1)(),Fe=Dt(N),[we,Ne]=(0,r.useState)((0,t.Ue)({...(0,f.Z)(),insertionPoint:void 0})),yt=(0,r.useCallback)(tt=>{var en;if(!Fe||!tt)return;Ne((0,t.Ue)({...(0,f.Z)(),insertionPoint:Fe.querySelector("head")||void 0}));const Bt=(en=tt.shadowRoot)!=null?en:tt.attachShadow({mode:"open"});Bt.innerHTML="",Bt.appendChild(Fe),Pe(Bt),K instanceof Function&&K()},[Fe,Pe,K]),Ft=ne==null?void 0:ne.querySelector('[data-md-component="content"]'),Rt=ne==null?void 0:ne.querySelector('div[data-md-component="sidebar"][data-md-type="navigation"], div[data-md-component="navigation"]'),Wt=ne==null?void 0:ne.querySelector('div[data-md-component="sidebar"][data-md-type="toc"], div[data-md-component="toc"]'),st=document.createElement("div");Rt==null||Rt.prepend(st);const It=document.createElement("div");return Wt==null||Wt.prepend(It),k===!1&&!je?r.createElement(d.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}):Fe?r.createElement(d.Content,null,r.createElement(m.Z,{container:!0},r.createElement(m.Z,{xs:12,item:!0},r.createElement(p.N,null)),ce&&r.createElement(m.Z,{className:ye.search,xs:"auto",item:!0},r.createElement(y.S,{entityId:N})),r.createElement(m.Z,{xs:12,item:!0},r.createElement(a.ZP,{jss:we,sheetsManager:new Map},r.createElement("div",{ref:yt,"data-testid":"techdocs-native-shadowroot"}),r.createElement(A.Z,{container:st},ee.renderComponentsByLocation(i.oZ.PrimarySidebar)),r.createElement(A.Z,{container:Ft},ee.renderComponentsByLocation(i.oZ.Content)),r.createElement(A.Z,{container:It},ee.renderComponentsByLocation(i.oZ.SecondarySidebar)))))):r.createElement(d.Content,null,r.createElement(m.Z,{container:!0},r.createElement(m.Z,{xs:12,item:!0},r.createElement(p.N,null))))}),_t=null},99954:function(X,s,e){"use strict";e.d(s,{S:function(){return v}});var r=e(2784),t=e(18671),c=e(98069),m=e(73250),A=e(47955),f=e(53479),a=e(48023),i=e(9118),d=e(36964),y=e(68725);const p=r.createElement(c.Z,{animation:"wave",variant:"text",height:40}),v=T=>{const{children:I}=T,B=(0,A.$L)(),J=(0,d.useApi)(d.configApiRef),{title:$,setTitle:L,subtitle:M,setSubtitle:F,entityRef:x,metadata:{value:Y,loading:te},entityMetadata:{value:ge,loading:Ve}}=(0,A.x1)();(0,r.useEffect)(()=>{!Y||(L(Me=>{const{site_name:We}=Y;return Me||We}),F(Me=>{let{site_description:We}=Y;return(!We||We==="None")&&(We="Home"),Me||We}))},[Y,L,F]);const He=J.getOptional("app.title")||"Backstage",pe=[M,$,He].filter(Boolean).join(" | "),{locationMetadata:Ye,spec:Ee}=ge||{},Le=Ee==null?void 0:Ee.lifecycle,Ge=ge?(0,f.getEntityRelations)(ge,a.S4):[],qe=(0,d.useRouteRef)(y._Z)(),Ke=r.createElement(r.Fragment,null,r.createElement(i.HeaderLabel,{label:"Component",value:r.createElement(f.EntityRefLink,{color:"inherit",entityRef:x,defaultKind:"Component"})}),Ge.length>0&&r.createElement(i.HeaderLabel,{label:"Owner",value:r.createElement(f.EntityRefLinks,{color:"inherit",entityRefs:Ge,defaultKind:"group"})}),Le?r.createElement(i.HeaderLabel,{label:"Lifecycle",value:Le}):null,Ye&&Ye.type!=="dir"&&Ye.type!=="file"?r.createElement(i.HeaderLabel,{label:"",value:r.createElement("a",{href:Ye.target,target:"_blank",rel:"noopener noreferrer"},r.createElement(m.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return!Ve&&ge===void 0||!te&&Y===void 0?null:r.createElement(i.Header,{type:"Documentation",typeLink:qe,title:$||p,subtitle:M||p},r.createElement(t.Z,{titleTemplate:"%s"},r.createElement("title",null,pe)),Ke,I,B.renderComponentsByLocation(A.oZ.Header))}},16172:function(X,s,e){"use strict";e.d(s,{b:function(){return a}});var r=e(2784),t=e(79692),c=e(15223),m=e(95544),A=e(47955);const f=(0,t.Z)(i=>({root:{gridArea:"pageSubheader",flexDirection:"column",minHeight:"auto",padding:i.spacing(3,3,0)}})),a=({toolbarProps:i})=>{const d=f(),{entityMetadata:{value:y,loading:p}}=(0,A.x1)(),T=(0,A.$L)().renderComponentsByLocation(A.oZ.Subheader);return!T||p===!1&&!y?null:r.createElement(c.Z,{classes:d,...i},T&&r.createElement(m.Z,{display:"flex",justifyContent:"flex-end",width:"100%",flexWrap:"wrap"},T))}},23738:function(X,s,e){"use strict";e.d(s,{N:function(){return F}});var r=e(2784),t=e(9118),c=e(79692),m=e(4614),A=e(77277),f=e(99688),a=e(12420),i=e(60905),d=e(90436),y=e(61837),p=e(4190),v=e(87685);const T=(0,c.Z)(x=>(0,a.Z)({paper:{width:"100%",[x.breakpoints.up("sm")]:{width:"75%"},[x.breakpoints.up("md")]:{width:"50%"},padding:x.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:x.palette.background.default}})),I=({buildLog:x,onClose:Y})=>{const te=T(),ge=x.length===0?"Waiting for logs...":x.join(`
|
|
474
|
-
`);return r.createElement(i.Z,{container:!0,direction:"column",className:te.root,spacing:0,wrap:"nowrap"},r.createElement(i.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(d.Z,{variant:"h5"},"Build Details"),r.createElement(y.Z,{key:"dismiss",title:"Close the drawer",onClick:Y,color:"inherit"},r.createElement(v.Z,null))),r.createElement(t.LogViewer,{text:ge,classes:{root:te.logs}}))},B=({buildLog:x})=>{const Y=T(),[te,ge]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(A.Z,{color:"inherit",onClick:()=>ge(!0)},"Show Build Logs"),r.createElement(p.ZP,{classes:{paper:Y.paper},anchor:"right",open:te,onClose:()=>ge(!1)},r.createElement(I,{buildLog:x,onClose:()=>ge(!1)})))};var J=e(36964);const $=({errorMessage:x})=>{const Y=(0,J.useApi)(J.configApiRef).getOptionalString("techdocs.builder");let te="";return Y!=="local"&&(te="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(t.ErrorPage,{status:"404",statusMessage:x||"Documentation not found",additionalInfo:te})};var L=e(28626);const M=(0,c.Z)(x=>({root:{marginBottom:x.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),F=()=>{let x=null;const Y=M(),{state:te,contentReload:ge,contentErrorMessage:Ve,syncErrorMessage:He,buildLog:pe}=(0,L.DK)(),Ye=te==="CHECKING"?r.createElement(t.Progress,null):null;return te==="INITIAL_BUILD"&&(x=r.createElement(f.Z,{classes:{root:Y.root},variant:"outlined",severity:"info",icon:r.createElement(m.Z,{size:"24px"}),action:r.createElement(B,{buildLog:pe})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),te==="CONTENT_STALE_REFRESHING"&&(x=r.createElement(f.Z,{variant:"outlined",severity:"info",icon:r.createElement(m.Z,{size:"24px"}),action:r.createElement(B,{buildLog:pe}),classes:{root:Y.root}},"A newer version of this documentation is being prepared and will be available shortly.")),te==="CONTENT_STALE_READY"&&(x=r.createElement(f.Z,{variant:"outlined",severity:"success",action:r.createElement(A.Z,{color:"inherit",onClick:()=>ge()},"Refresh"),classes:{root:Y.root}},"A newer version of this documentation is now available, please refresh to view.")),te==="CONTENT_STALE_ERROR"&&(x=r.createElement(f.Z,{variant:"outlined",severity:"error",action:r.createElement(B,{buildLog:pe}),classes:{root:Y.root,message:Y.message}},"Building a newer version of this documentation failed."," ",He)),te==="CONTENT_NOT_FOUND"&&(x=r.createElement(r.Fragment,null,He&&r.createElement(f.Z,{variant:"outlined",severity:"error",action:r.createElement(B,{buildLog:pe}),classes:{root:Y.root,message:Y.message}},"Building a newer version of this documentation failed."," ",He),r.createElement($,{errorMessage:Ve}))),r.createElement(r.Fragment,null,Ye,x)}},96393:function(X,s,e){"use strict";e.d(s,{Fq:function(){return c.Fq},SE:function(){return t.S}});var r=e(26220),t=e(99954),c=e(28626),m=e(16172),A=e(23738)},68725:function(X,s,e){"use strict";e.d(s,{Fw:function(){return c},_Z:function(){return t},pd:function(){return m}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),c=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),m=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},56400:function(X,s,e){"use strict";e.d(s,{S:function(){return qe}});var r=e(2784),t=e(79692),c=e(49378),m=e(38402),A=e(85256),f=e(9118),a=e(15277),i=e.n(a);const d=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),y=Ke=>{const{result:me,lineClamp:xe=5,asListItem:Me=!0,asLink:We=!0,title:rt}=Ke,Et=d(),at=()=>{var ke;return r.createElement(c.Z,{className:Et.itemText,primaryTypographyProps:{variant:"h6"},primary:rt||`${me.title} | ${(ke=me.entityTitle)!=null?ke:me.name} docs`,secondary:r.createElement(i(),{line:xe,truncateText:"\u2026",text:me.text,element:"span"})})},_e=({children:ke})=>We?r.createElement(f.Link,{to:me.location},ke):r.createElement(r.Fragment,null,ke),ft=({children:ke})=>Me?r.createElement(r.Fragment,null,r.createElement(m.Z,{alignItems:"flex-start",className:Et.flexContainer},ke),r.createElement(A.Z,{component:"li"})):r.createElement(r.Fragment,null,ke);return r.createElement(_e,null,r.createElement(ft,null,r.createElement(at,null)))};var p=e(36964);const v=(0,p.createApiRef)({id:"plugin.search.queryservice"});class T{constructor(me){this.mockedResults=me}query(){return Promise.resolve(this.mockedResults||{results:[]})}}var I=e(76241),B=e(64279),J=e(1849);const $=(0,I.CT)("search-context"),L=()=>{const Ke=(0,r.useContext)($);if(!Ke)throw new Error("useSearch must be used within a SearchContextProvider");const me=Ke.atVersion(1);if(!me)throw new Error("No SearchContext v1 found");return me},M=()=>useContext($)!==void 0,F={term:"",pageCursor:void 0,filters:{},types:[]},x=Ke=>{var re,se,fe,Ce;const{initialState:me=F,children:xe}=Ke,Me=(0,p.useApi)(v),[We,rt]=(0,r.useState)(me.pageCursor),[Et,at]=(0,r.useState)(me.filters),[_e,ft]=(0,r.useState)(me.term),[ke,xt]=(0,r.useState)(me.types),bt=(0,J.Z)(_e),ct=(0,B.default)(()=>Me.query({term:_e,filters:Et,pageCursor:We,types:ke}),[_e,Et,ke,We]),on=!ct.loading&&!ct.error&&((re=ct.value)==null?void 0:re.nextPageCursor),Nt=!ct.loading&&!ct.error&&((se=ct.value)==null?void 0:se.previousPageCursor),gt=(0,r.useCallback)(()=>{var De;rt((De=ct.value)==null?void 0:De.nextPageCursor)},[(fe=ct.value)==null?void 0:fe.nextPageCursor]),Yt=(0,r.useCallback)(()=>{var De;rt((De=ct.value)==null?void 0:De.previousPageCursor)},[(Ce=ct.value)==null?void 0:Ce.previousPageCursor]);(0,r.useEffect)(()=>{_e&&bt&&_e!==bt&&rt(void 0)},[_e,bt,me.pageCursor]);const ae={result:ct,filters:Et,setFilters:at,term:_e,setTerm:ft,types:ke,setTypes:xt,pageCursor:We,setPageCursor:rt,fetchNextPage:on?gt:void 0,fetchPreviousPage:Nt?Yt:void 0},W=(0,I.EI)({1:ae});return r.createElement(p.AnalyticsContext,{attributes:{searchTypes:ke.sort().join(",")}},r.createElement($.Provider,{value:W,children:xe}))};var Y=e(86619),te=e(50581),ge=e(61837),Ve=e(4614),He=e(21853),pe=e(88013),Ye=e(10289),Ee=e(48760);const Le=(0,t.Z)({root:{width:"100%"}}),Ge=Ke=>{const{entityId:me,debounceTime:xe=150}=Ke,[Me,We]=(0,r.useState)(!1),rt=(0,Ye.s0)(),{term:Et,setTerm:at,setFilters:_e,result:{loading:ft,value:ke}}=L(),xt=Le(),[bt,ct]=(0,r.useState)([]);(0,r.useEffect)(()=>{let se=!0;if(se&&ke){const fe=ke.results.slice(0,10);ct(fe)}return()=>{se=!1}},[ft,ke]);const[on,Nt]=(0,r.useState)(Et);(0,Ee.Z)(()=>at(on),xe,[on]);const{kind:gt,name:Yt,namespace:ae}=me;(0,r.useEffect)(()=>{_e(se=>({...se,kind:gt,namespace:ae,name:Yt}))},[gt,ae,Yt,_e]);const W=se=>{Me||We(!0),Nt(se.target.value)},re=(se,fe)=>{if(fe!=null&&fe.document){const{location:Ce}=fe.document;rt(Ce)}};return r.createElement(pe.ZP,{classes:{root:xt.root},"data-testid":"techdocs-search-bar",size:"small",open:Me,getOptionLabel:()=>"",filterOptions:se=>se,onClose:()=>{We(!1)},onFocus:()=>{We(!0)},onChange:re,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:bt,renderOption:({document:se})=>r.createElement(y,{result:se,lineClamp:3,asListItem:!1,asLink:!1,title:se.title}),loading:ft,renderInput:se=>r.createElement(Y.Z,{...se,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${me.name} docs`,value:on,onChange:W,InputProps:{...se.InputProps,startAdornment:r.createElement(te.Z,{position:"start"},r.createElement(ge.Z,{"aria-label":"Query",disabled:!0},r.createElement(He.Z,null))),endAdornment:r.createElement(r.Fragment,null,ft?r.createElement(Ve.Z,{color:"inherit",size:20}):null,se.InputProps.endAdornment)}})})},qe=Ke=>{const me={term:"",types:["techdocs"],pageCursor:"",filters:Ke.entityId};return r.createElement(x,{initialState:me},r.createElement(Ge,{...Ke}))}},98157:function(){},19133:function(X,s,e){"use strict";X.exports=e.p+"static/createComponent.975d1e1e..svg"},86284:function(X,s,e){"use strict";X.exports=e.p+"static/missingAnnotation.67f79e98..svg"},3871:function(X,s,e){"use strict";X.exports=e.p+"static/noBuild.1715fa71..svg"},96465:function(X,s,e){"use strict";X.exports=e.p+"static/noInformation.4b426325..svg"},29788:function(X,s,e){"use strict";X.exports=e.p+"static/mic-drop.fe3ef4d0..svg"},53260:function(){}},function(X){var s=function(r){return X(X.s=r)};X.O(0,[2370,6202,9284,2126,7012,9035,4983,3222,5218,4736],function(){return s(88649),s(46054)});var e=X.O()}]);})();
|
|
475
|
-
|
|
476
|
-
//# sourceMappingURL=main.2c1a3dd5.js.map
|