@techdocs/cli 0.8.10 → 0.8.11-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.
Files changed (869) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/techdocs-preview-bundle/.config-schema.json +21 -20
  4. package/dist/techdocs-preview-bundle/index.html +1 -1
  5. package/dist/techdocs-preview-bundle/static/1110.fad0cc94.chunk.js +3 -0
  6. package/dist/techdocs-preview-bundle/static/1110.fad0cc94.chunk.js.map +1 -0
  7. package/dist/techdocs-preview-bundle/static/1553.7cf96a24.chunk.js +3 -0
  8. package/dist/techdocs-preview-bundle/static/1553.7cf96a24.chunk.js.map +1 -0
  9. package/dist/techdocs-preview-bundle/static/1959.e4e37559.chunk.js +8 -0
  10. package/dist/techdocs-preview-bundle/static/1959.e4e37559.chunk.js.map +1 -0
  11. package/dist/techdocs-preview-bundle/static/3825.a9a691f4.chunk.js +3 -0
  12. package/dist/techdocs-preview-bundle/static/3825.a9a691f4.chunk.js.map +1 -0
  13. package/dist/techdocs-preview-bundle/static/390.0ac36f38.chunk.js +3 -0
  14. package/dist/techdocs-preview-bundle/static/390.0ac36f38.chunk.js.map +1 -0
  15. package/dist/techdocs-preview-bundle/static/4022.2a4c3ef2.chunk.js +3 -0
  16. package/dist/techdocs-preview-bundle/static/4022.2a4c3ef2.chunk.js.map +1 -0
  17. package/dist/techdocs-preview-bundle/static/4960.f6567d97.chunk.js +3 -0
  18. package/dist/techdocs-preview-bundle/static/4960.f6567d97.chunk.js.map +1 -0
  19. package/dist/techdocs-preview-bundle/static/6105.79b1fabf.chunk.js +3 -0
  20. package/dist/techdocs-preview-bundle/static/6105.79b1fabf.chunk.js.map +1 -0
  21. package/dist/techdocs-preview-bundle/static/6235.17d44e1e.chunk.js +3 -0
  22. package/dist/techdocs-preview-bundle/static/6235.17d44e1e.chunk.js.map +1 -0
  23. package/dist/techdocs-preview-bundle/static/6650.33bcd57d.chunk.js +3 -0
  24. package/dist/techdocs-preview-bundle/static/6650.33bcd57d.chunk.js.map +1 -0
  25. package/dist/techdocs-preview-bundle/static/8061.b7c32996.chunk.js +3 -0
  26. package/dist/techdocs-preview-bundle/static/8061.b7c32996.chunk.js.map +1 -0
  27. package/dist/techdocs-preview-bundle/static/8718.94a54656.chunk.js +4 -0
  28. package/dist/techdocs-preview-bundle/static/8718.94a54656.chunk.js.map +1 -0
  29. package/dist/techdocs-preview-bundle/static/8792.7b20dc6e.chunk.js +3 -0
  30. package/dist/techdocs-preview-bundle/static/8792.7b20dc6e.chunk.js.map +1 -0
  31. package/dist/techdocs-preview-bundle/static/9028.6f75c2de.chunk.js +3 -0
  32. package/dist/techdocs-preview-bundle/static/9028.6f75c2de.chunk.js.map +1 -0
  33. package/dist/techdocs-preview-bundle/static/main.b1e77f38.js +150 -0
  34. package/dist/techdocs-preview-bundle/static/main.b1e77f38.js.map +1 -0
  35. package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js +10 -0
  36. package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js.map +1 -0
  37. package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js +3 -0
  38. package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js.map +1 -0
  39. package/dist/techdocs-preview-bundle/static/module-hot-loader.5b80e3ef.js +13 -0
  40. package/dist/techdocs-preview-bundle/static/module-hot-loader.5b80e3ef.js.map +1 -0
  41. package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js +29 -0
  42. package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js.map +1 -0
  43. package/dist/techdocs-preview-bundle/static/module-material-table.4d12af73.js +3 -0
  44. package/dist/techdocs-preview-bundle/static/module-material-table.4d12af73.js.map +1 -0
  45. package/dist/techdocs-preview-bundle/static/module-material-ui.8110543e.js +37 -0
  46. package/dist/techdocs-preview-bundle/static/module-material-ui.8110543e.js.map +1 -0
  47. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.98152fbe.js +67 -0
  48. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.98152fbe.js.map +1 -0
  49. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js +6 -0
  50. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js.map +1 -0
  51. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js +3 -0
  52. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js.map +1 -0
  53. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js +3 -0
  54. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js.map +1 -0
  55. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js +3 -0
  56. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js.map +1 -0
  57. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js +3 -0
  58. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js.map +1 -0
  59. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js +3 -0
  60. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js.map +1 -0
  61. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js +3 -0
  62. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js.map +1 -0
  63. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js +3 -0
  64. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js.map +1 -0
  65. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js +3 -0
  66. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js.map +1 -0
  67. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js +3 -0
  68. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js.map +1 -0
  69. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js +3 -0
  70. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js.map +1 -0
  71. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js +3 -0
  72. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js.map +1 -0
  73. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js +3 -0
  74. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js.map +1 -0
  75. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js +3 -0
  76. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js.map +1 -0
  77. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js +3 -0
  78. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js.map +1 -0
  79. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js +3 -0
  80. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js.map +1 -0
  81. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js +3 -0
  82. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js.map +1 -0
  83. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js +3 -0
  84. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js.map +1 -0
  85. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js +3 -0
  86. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js.map +1 -0
  87. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js +3 -0
  88. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js.map +1 -0
  89. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js +3 -0
  90. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js.map +1 -0
  91. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js +5 -0
  92. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js.map +1 -0
  93. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js +3 -0
  94. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js.map +1 -0
  95. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js +3 -0
  96. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js.map +1 -0
  97. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js +3 -0
  98. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js.map +1 -0
  99. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js +3 -0
  100. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js.map +1 -0
  101. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js +3 -0
  102. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js.map +1 -0
  103. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js +3 -0
  104. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js.map +1 -0
  105. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js +3 -0
  106. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js.map +1 -0
  107. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js +3 -0
  108. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js.map +1 -0
  109. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js +3 -0
  110. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js.map +1 -0
  111. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js +3 -0
  112. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js.map +1 -0
  113. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js +3 -0
  114. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js.map +1 -0
  115. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js +3 -0
  116. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js.map +1 -0
  117. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js +3 -0
  118. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js.map +1 -0
  119. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js +3 -0
  120. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js.map +1 -0
  121. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js +3 -0
  122. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js.map +1 -0
  123. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js +3 -0
  124. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js.map +1 -0
  125. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js +3 -0
  126. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js.map +1 -0
  127. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js +3 -0
  128. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js.map +1 -0
  129. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js +3 -0
  130. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js.map +1 -0
  131. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js +3 -0
  132. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js.map +1 -0
  133. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js +3 -0
  134. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js.map +1 -0
  135. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js +3 -0
  136. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js.map +1 -0
  137. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js +3 -0
  138. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js.map +1 -0
  139. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js +3 -0
  140. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js.map +1 -0
  141. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js +3 -0
  142. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js.map +1 -0
  143. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js +3 -0
  144. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js.map +1 -0
  145. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js +3 -0
  146. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js.map +1 -0
  147. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js +3 -0
  148. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js.map +1 -0
  149. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js +3 -0
  150. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js.map +1 -0
  151. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js +3 -0
  152. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js.map +1 -0
  153. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js +3 -0
  154. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js.map +1 -0
  155. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js +3 -0
  156. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js.map +1 -0
  157. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js +3 -0
  158. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js.map +1 -0
  159. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js +3 -0
  160. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js.map +1 -0
  161. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js +3 -0
  162. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js.map +1 -0
  163. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js +3 -0
  164. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js.map +1 -0
  165. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js +3 -0
  166. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js.map +1 -0
  167. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js +3 -0
  168. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js.map +1 -0
  169. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js +3 -0
  170. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js.map +1 -0
  171. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js +3 -0
  172. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js.map +1 -0
  173. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js +3 -0
  174. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js.map +1 -0
  175. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js +3 -0
  176. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js.map +1 -0
  177. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js +3 -0
  178. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js.map +1 -0
  179. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js +3 -0
  180. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js.map +1 -0
  181. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js +3 -0
  182. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js.map +1 -0
  183. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js +3 -0
  184. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js.map +1 -0
  185. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js +3 -0
  186. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js.map +1 -0
  187. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js +3 -0
  188. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js.map +1 -0
  189. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js +3 -0
  190. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js.map +1 -0
  191. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js +3 -0
  192. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js.map +1 -0
  193. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js +3 -0
  194. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js.map +1 -0
  195. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js +3 -0
  196. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js.map +1 -0
  197. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js +3 -0
  198. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js.map +1 -0
  199. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js +3 -0
  200. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js.map +1 -0
  201. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js +3 -0
  202. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js.map +1 -0
  203. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js +3 -0
  204. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js.map +1 -0
  205. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js +3 -0
  206. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js.map +1 -0
  207. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js +3 -0
  208. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js.map +1 -0
  209. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js +3 -0
  210. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js.map +1 -0
  211. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js +3 -0
  212. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js.map +1 -0
  213. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js +3 -0
  214. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js.map +1 -0
  215. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js +3 -0
  216. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js.map +1 -0
  217. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js +3 -0
  218. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js.map +1 -0
  219. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js +3 -0
  220. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js.map +1 -0
  221. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js +3 -0
  222. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js.map +1 -0
  223. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js +3 -0
  224. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js.map +1 -0
  225. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js +3 -0
  226. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js.map +1 -0
  227. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js +3 -0
  228. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js.map +1 -0
  229. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js +4 -0
  230. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js.map +1 -0
  231. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js +3 -0
  232. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js.map +1 -0
  233. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js +3 -0
  234. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js.map +1 -0
  235. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js +3 -0
  236. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js.map +1 -0
  237. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js +3 -0
  238. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js.map +1 -0
  239. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js +3 -0
  240. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js.map +1 -0
  241. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js +3 -0
  242. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js.map +1 -0
  243. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js +3 -0
  244. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js.map +1 -0
  245. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js +3 -0
  246. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js.map +1 -0
  247. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js +3 -0
  248. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js.map +1 -0
  249. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js +3 -0
  250. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js.map +1 -0
  251. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js +3 -0
  252. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js.map +1 -0
  253. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js +3 -0
  254. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js.map +1 -0
  255. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js +3 -0
  256. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js.map +1 -0
  257. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js +3 -0
  258. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js.map +1 -0
  259. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js +3 -0
  260. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js.map +1 -0
  261. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js +3 -0
  262. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js.map +1 -0
  263. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js +3 -0
  264. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js.map +1 -0
  265. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js +3 -0
  266. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js.map +1 -0
  267. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js +3 -0
  268. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js.map +1 -0
  269. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js +3 -0
  270. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js.map +1 -0
  271. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js +3 -0
  272. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js.map +1 -0
  273. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js +3 -0
  274. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js.map +1 -0
  275. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js +3 -0
  276. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js.map +1 -0
  277. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js +3 -0
  278. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js.map +1 -0
  279. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js +3 -0
  280. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js.map +1 -0
  281. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js +3 -0
  282. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js.map +1 -0
  283. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js +3 -0
  284. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js.map +1 -0
  285. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js +3 -0
  286. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js.map +1 -0
  287. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js +3 -0
  288. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js.map +1 -0
  289. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js +3 -0
  290. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js.map +1 -0
  291. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js +3 -0
  292. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js.map +1 -0
  293. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js +3 -0
  294. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js.map +1 -0
  295. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js +3 -0
  296. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js.map +1 -0
  297. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js +3 -0
  298. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js.map +1 -0
  299. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js +3 -0
  300. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js.map +1 -0
  301. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js +3 -0
  302. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js.map +1 -0
  303. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js +3 -0
  304. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js.map +1 -0
  305. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js +3 -0
  306. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js.map +1 -0
  307. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js +3 -0
  308. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js.map +1 -0
  309. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js +3 -0
  310. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js.map +1 -0
  311. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js +3 -0
  312. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js.map +1 -0
  313. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js +3 -0
  314. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js.map +1 -0
  315. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js +3 -0
  316. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js.map +1 -0
  317. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js +3 -0
  318. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js.map +1 -0
  319. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js +3 -0
  320. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js.map +1 -0
  321. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js +3 -0
  322. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js.map +1 -0
  323. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js +3 -0
  324. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js.map +1 -0
  325. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js +3 -0
  326. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js.map +1 -0
  327. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js +3 -0
  328. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js.map +1 -0
  329. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js +3 -0
  330. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js.map +1 -0
  331. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js +3 -0
  332. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js.map +1 -0
  333. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js +3 -0
  334. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js.map +1 -0
  335. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js +3 -0
  336. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js.map +1 -0
  337. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js +3 -0
  338. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js.map +1 -0
  339. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js +3 -0
  340. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js.map +1 -0
  341. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js +3 -0
  342. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js.map +1 -0
  343. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js +3 -0
  344. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js.map +1 -0
  345. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js +3 -0
  346. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js.map +1 -0
  347. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js +3 -0
  348. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js.map +1 -0
  349. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js +3 -0
  350. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js.map +1 -0
  351. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js +3 -0
  352. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js.map +1 -0
  353. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js +3 -0
  354. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js.map +1 -0
  355. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js +3 -0
  356. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js.map +1 -0
  357. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js +3 -0
  358. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js.map +1 -0
  359. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js +3 -0
  360. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js.map +1 -0
  361. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js +3 -0
  362. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js.map +1 -0
  363. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js +3 -0
  364. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js.map +1 -0
  365. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js +3 -0
  366. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js.map +1 -0
  367. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js +3 -0
  368. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js.map +1 -0
  369. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js +4 -0
  370. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js.map +1 -0
  371. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js +3 -0
  372. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js.map +1 -0
  373. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js +3 -0
  374. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js.map +1 -0
  375. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js +3 -0
  376. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js.map +1 -0
  377. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js +3 -0
  378. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js.map +1 -0
  379. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js +3 -0
  380. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js.map +1 -0
  381. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js +5 -0
  382. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js.map +1 -0
  383. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js +3 -0
  384. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js.map +1 -0
  385. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js +3 -0
  386. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js.map +1 -0
  387. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js +5 -0
  388. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js.map +1 -0
  389. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js +3 -0
  390. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js.map +1 -0
  391. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js +3 -0
  392. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js.map +1 -0
  393. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js +3 -0
  394. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js.map +1 -0
  395. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js +3 -0
  396. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js.map +1 -0
  397. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js +3 -0
  398. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js.map +1 -0
  399. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js +3 -0
  400. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js.map +1 -0
  401. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js +3 -0
  402. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js.map +1 -0
  403. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js +3 -0
  404. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js.map +1 -0
  405. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js +3 -0
  406. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js.map +1 -0
  407. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js +3 -0
  408. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js.map +1 -0
  409. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js +3 -0
  410. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js.map +1 -0
  411. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js +3 -0
  412. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js.map +1 -0
  413. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js +3 -0
  414. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js.map +1 -0
  415. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js +3 -0
  416. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js.map +1 -0
  417. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js +3 -0
  418. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js.map +1 -0
  419. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js +3 -0
  420. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js.map +1 -0
  421. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js +3 -0
  422. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js.map +1 -0
  423. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js +3 -0
  424. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js.map +1 -0
  425. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js +3 -0
  426. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js.map +1 -0
  427. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js +3 -0
  428. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js.map +1 -0
  429. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js +3 -0
  430. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js.map +1 -0
  431. package/dist/techdocs-preview-bundle/static/runtime.b1e77f38.js +4 -0
  432. package/dist/techdocs-preview-bundle/static/runtime.b1e77f38.js.map +1 -0
  433. package/dist/techdocs-preview-bundle/static/vendor.b1e77f38.js +150 -0
  434. package/dist/techdocs-preview-bundle/static/vendor.b1e77f38.js.map +1 -0
  435. package/package.json +8 -8
  436. package/dist/techdocs-preview-bundle/static/1553.ddfb7621.chunk.js +0 -2
  437. package/dist/techdocs-preview-bundle/static/1553.ddfb7621.chunk.js.map +0 -1
  438. package/dist/techdocs-preview-bundle/static/1959.da6d366a.chunk.js +0 -2
  439. package/dist/techdocs-preview-bundle/static/1959.da6d366a.chunk.js.map +0 -1
  440. package/dist/techdocs-preview-bundle/static/3825.93a6ad0c.chunk.js +0 -2
  441. package/dist/techdocs-preview-bundle/static/3825.93a6ad0c.chunk.js.map +0 -1
  442. package/dist/techdocs-preview-bundle/static/390.869680c7.chunk.js +0 -2
  443. package/dist/techdocs-preview-bundle/static/390.869680c7.chunk.js.map +0 -1
  444. package/dist/techdocs-preview-bundle/static/4022.28aef274.chunk.js +0 -2
  445. package/dist/techdocs-preview-bundle/static/4022.28aef274.chunk.js.map +0 -1
  446. package/dist/techdocs-preview-bundle/static/4960.25870a82.chunk.js +0 -2
  447. package/dist/techdocs-preview-bundle/static/4960.25870a82.chunk.js.map +0 -1
  448. package/dist/techdocs-preview-bundle/static/6105.b519076e.chunk.js +0 -2
  449. package/dist/techdocs-preview-bundle/static/6105.b519076e.chunk.js.map +0 -1
  450. package/dist/techdocs-preview-bundle/static/6235.ae19aeb4.chunk.js +0 -2
  451. package/dist/techdocs-preview-bundle/static/6235.ae19aeb4.chunk.js.map +0 -1
  452. package/dist/techdocs-preview-bundle/static/6650.cf219dec.chunk.js +0 -2
  453. package/dist/techdocs-preview-bundle/static/6650.cf219dec.chunk.js.map +0 -1
  454. package/dist/techdocs-preview-bundle/static/8015.07e09f1c.chunk.js +0 -2
  455. package/dist/techdocs-preview-bundle/static/8015.07e09f1c.chunk.js.map +0 -1
  456. package/dist/techdocs-preview-bundle/static/8061.0c10d2ee.chunk.js +0 -2
  457. package/dist/techdocs-preview-bundle/static/8061.0c10d2ee.chunk.js.map +0 -1
  458. package/dist/techdocs-preview-bundle/static/8718.87c92dac.chunk.js +0 -2
  459. package/dist/techdocs-preview-bundle/static/8718.87c92dac.chunk.js.map +0 -1
  460. package/dist/techdocs-preview-bundle/static/8792.46f21e7d.chunk.js +0 -2
  461. package/dist/techdocs-preview-bundle/static/8792.46f21e7d.chunk.js.map +0 -1
  462. package/dist/techdocs-preview-bundle/static/9028.fb060d2e.chunk.js +0 -2
  463. package/dist/techdocs-preview-bundle/static/9028.fb060d2e.chunk.js.map +0 -1
  464. package/dist/techdocs-preview-bundle/static/main.045916e2.js +0 -2
  465. package/dist/techdocs-preview-bundle/static/main.045916e2.js.map +0 -1
  466. package/dist/techdocs-preview-bundle/static/module-ajv.1375df52.js +0 -8
  467. package/dist/techdocs-preview-bundle/static/module-ajv.1375df52.js.map +0 -1
  468. package/dist/techdocs-preview-bundle/static/module-date-fns.c7ff5eb2.js +0 -2
  469. package/dist/techdocs-preview-bundle/static/module-date-fns.c7ff5eb2.js.map +0 -1
  470. package/dist/techdocs-preview-bundle/static/module-hot-loader.ec8a2690.js +0 -3
  471. package/dist/techdocs-preview-bundle/static/module-hot-loader.ec8a2690.js.LICENSE.txt +0 -8
  472. package/dist/techdocs-preview-bundle/static/module-hot-loader.ec8a2690.js.map +0 -1
  473. package/dist/techdocs-preview-bundle/static/module-lodash.5fc3fe8a.js +0 -3
  474. package/dist/techdocs-preview-bundle/static/module-lodash.5fc3fe8a.js.LICENSE.txt +0 -8
  475. package/dist/techdocs-preview-bundle/static/module-lodash.5fc3fe8a.js.map +0 -1
  476. package/dist/techdocs-preview-bundle/static/module-material-table.ffd83fbb.js +0 -2
  477. package/dist/techdocs-preview-bundle/static/module-material-table.ffd83fbb.js.map +0 -1
  478. package/dist/techdocs-preview-bundle/static/module-material-ui.ecd3d63b.js +0 -3
  479. package/dist/techdocs-preview-bundle/static/module-material-ui.ecd3d63b.js.LICENSE.txt +0 -8
  480. package/dist/techdocs-preview-bundle/static/module-material-ui.ecd3d63b.js.map +0 -1
  481. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.da6c1d82.js +0 -2
  482. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.da6c1d82.js.map +0 -1
  483. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.c153f7b2.chunk.js +0 -2
  484. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.c153f7b2.chunk.js.map +0 -1
  485. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.3c863959.chunk.js +0 -2
  486. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.3c863959.chunk.js.map +0 -1
  487. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.bcb4dd14.chunk.js +0 -2
  488. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.bcb4dd14.chunk.js.map +0 -1
  489. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.546f330d.chunk.js +0 -2
  490. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.546f330d.chunk.js.map +0 -1
  491. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.2ea260bb.chunk.js +0 -2
  492. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.2ea260bb.chunk.js.map +0 -1
  493. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.832cd7c0.chunk.js +0 -2
  494. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.832cd7c0.chunk.js.map +0 -1
  495. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.7ecbc80e.chunk.js +0 -2
  496. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.7ecbc80e.chunk.js.map +0 -1
  497. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.7bd280ff.chunk.js +0 -2
  498. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.7bd280ff.chunk.js.map +0 -1
  499. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.bc574eb3.chunk.js +0 -2
  500. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.bc574eb3.chunk.js.map +0 -1
  501. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.ef919060.chunk.js +0 -2
  502. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.ef919060.chunk.js.map +0 -1
  503. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.cac5bc7a.chunk.js +0 -2
  504. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.cac5bc7a.chunk.js.map +0 -1
  505. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.30c7bf64.chunk.js +0 -2
  506. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.30c7bf64.chunk.js.map +0 -1
  507. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.7eb7ad6a.chunk.js +0 -2
  508. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.7eb7ad6a.chunk.js.map +0 -1
  509. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.60f64729.chunk.js +0 -2
  510. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.60f64729.chunk.js.map +0 -1
  511. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.0aa0b88a.chunk.js +0 -2
  512. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.0aa0b88a.chunk.js.map +0 -1
  513. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.a8c8c76f.chunk.js +0 -2
  514. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.a8c8c76f.chunk.js.map +0 -1
  515. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.355eade4.chunk.js +0 -2
  516. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.355eade4.chunk.js.map +0 -1
  517. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.09ffbce1.chunk.js +0 -2
  518. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.09ffbce1.chunk.js.map +0 -1
  519. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.4e096af8.chunk.js +0 -2
  520. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.4e096af8.chunk.js.map +0 -1
  521. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.96913ebd.chunk.js +0 -2
  522. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.96913ebd.chunk.js.map +0 -1
  523. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.3c484b56.chunk.js +0 -2
  524. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.3c484b56.chunk.js.map +0 -1
  525. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.2600896c.chunk.js +0 -2
  526. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.2600896c.chunk.js.map +0 -1
  527. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.b7f83581.chunk.js +0 -2
  528. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.b7f83581.chunk.js.map +0 -1
  529. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.0613bb54.chunk.js +0 -2
  530. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.0613bb54.chunk.js.map +0 -1
  531. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.eff1297f.chunk.js +0 -2
  532. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.eff1297f.chunk.js.map +0 -1
  533. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.31069e34.chunk.js +0 -2
  534. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.31069e34.chunk.js.map +0 -1
  535. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.1e053d59.chunk.js +0 -2
  536. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.1e053d59.chunk.js.map +0 -1
  537. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.aec8ac88.chunk.js +0 -2
  538. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.aec8ac88.chunk.js.map +0 -1
  539. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.32952e2b.chunk.js +0 -2
  540. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.32952e2b.chunk.js.map +0 -1
  541. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.9713fe99.chunk.js +0 -2
  542. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.9713fe99.chunk.js.map +0 -1
  543. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.6ef6acbe.chunk.js +0 -2
  544. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.6ef6acbe.chunk.js.map +0 -1
  545. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.5108048a.chunk.js +0 -2
  546. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.5108048a.chunk.js.map +0 -1
  547. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.9ae79979.chunk.js +0 -2
  548. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.9ae79979.chunk.js.map +0 -1
  549. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.e0274111.chunk.js +0 -2
  550. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.e0274111.chunk.js.map +0 -1
  551. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.9bbd380f.chunk.js +0 -2
  552. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.9bbd380f.chunk.js.map +0 -1
  553. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.77d316ee.chunk.js +0 -2
  554. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.77d316ee.chunk.js.map +0 -1
  555. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.445f29ca.chunk.js +0 -2
  556. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.445f29ca.chunk.js.map +0 -1
  557. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.05513175.chunk.js +0 -2
  558. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.05513175.chunk.js.map +0 -1
  559. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.c7cdc118.chunk.js +0 -2
  560. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.c7cdc118.chunk.js.map +0 -1
  561. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.3217847e.chunk.js +0 -2
  562. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.3217847e.chunk.js.map +0 -1
  563. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.0598d381.chunk.js +0 -2
  564. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.0598d381.chunk.js.map +0 -1
  565. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.31c09a0a.chunk.js +0 -2
  566. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.31c09a0a.chunk.js.map +0 -1
  567. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.a4486724.chunk.js +0 -2
  568. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.a4486724.chunk.js.map +0 -1
  569. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.a5d13e10.chunk.js +0 -2
  570. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.a5d13e10.chunk.js.map +0 -1
  571. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.5b5445ce.chunk.js +0 -2
  572. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.5b5445ce.chunk.js.map +0 -1
  573. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.e76865f2.chunk.js +0 -2
  574. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.e76865f2.chunk.js.map +0 -1
  575. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.c233d069.chunk.js +0 -2
  576. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.c233d069.chunk.js.map +0 -1
  577. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.413433af.chunk.js +0 -2
  578. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.413433af.chunk.js.map +0 -1
  579. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.6ca786d6.chunk.js +0 -2
  580. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.6ca786d6.chunk.js.map +0 -1
  581. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.0bf5baea.chunk.js +0 -2
  582. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.0bf5baea.chunk.js.map +0 -1
  583. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.30a34f73.chunk.js +0 -2
  584. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.30a34f73.chunk.js.map +0 -1
  585. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.555bd2b2.chunk.js +0 -2
  586. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.555bd2b2.chunk.js.map +0 -1
  587. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.54c94a09.chunk.js +0 -2
  588. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.54c94a09.chunk.js.map +0 -1
  589. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.b997ebf3.chunk.js +0 -2
  590. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.b997ebf3.chunk.js.map +0 -1
  591. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.f9112afa.chunk.js +0 -2
  592. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.f9112afa.chunk.js.map +0 -1
  593. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.832d3220.chunk.js +0 -2
  594. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.832d3220.chunk.js.map +0 -1
  595. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.f2182c3a.chunk.js +0 -2
  596. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.f2182c3a.chunk.js.map +0 -1
  597. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.2a6a6093.chunk.js +0 -2
  598. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.2a6a6093.chunk.js.map +0 -1
  599. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.bf03e804.chunk.js +0 -2
  600. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.bf03e804.chunk.js.map +0 -1
  601. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.e0e53ac3.chunk.js +0 -2
  602. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.e0e53ac3.chunk.js.map +0 -1
  603. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.9291e1e7.chunk.js +0 -2
  604. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.9291e1e7.chunk.js.map +0 -1
  605. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.15f80906.chunk.js +0 -2
  606. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.15f80906.chunk.js.map +0 -1
  607. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.86a1c469.chunk.js +0 -2
  608. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.86a1c469.chunk.js.map +0 -1
  609. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.fa6afc14.chunk.js +0 -2
  610. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.fa6afc14.chunk.js.map +0 -1
  611. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.f08b568e.chunk.js +0 -2
  612. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.f08b568e.chunk.js.map +0 -1
  613. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.879d8bf3.chunk.js +0 -2
  614. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.879d8bf3.chunk.js.map +0 -1
  615. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.64f47980.chunk.js +0 -2
  616. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.64f47980.chunk.js.map +0 -1
  617. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.f4fdc6e6.chunk.js +0 -2
  618. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.f4fdc6e6.chunk.js.map +0 -1
  619. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.a2a5296b.chunk.js +0 -2
  620. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.a2a5296b.chunk.js.map +0 -1
  621. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.a091574f.chunk.js +0 -2
  622. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.a091574f.chunk.js.map +0 -1
  623. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.0b7e64a5.chunk.js +0 -2
  624. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.0b7e64a5.chunk.js.map +0 -1
  625. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.f1cc7bb9.chunk.js +0 -2
  626. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.f1cc7bb9.chunk.js.map +0 -1
  627. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.ca36edd5.chunk.js +0 -2
  628. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.ca36edd5.chunk.js.map +0 -1
  629. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.018282b6.chunk.js +0 -2
  630. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.018282b6.chunk.js.map +0 -1
  631. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.3b34b81e.chunk.js +0 -2
  632. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.3b34b81e.chunk.js.map +0 -1
  633. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.957f2237.chunk.js +0 -2
  634. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.957f2237.chunk.js.map +0 -1
  635. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.6cb82ddc.chunk.js +0 -2
  636. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.6cb82ddc.chunk.js.map +0 -1
  637. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.d96fb1a3.chunk.js +0 -2
  638. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.d96fb1a3.chunk.js.map +0 -1
  639. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.40939580.chunk.js +0 -2
  640. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.40939580.chunk.js.map +0 -1
  641. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.7a142afd.chunk.js +0 -2
  642. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.7a142afd.chunk.js.map +0 -1
  643. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.9f6e5953.chunk.js +0 -2
  644. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.9f6e5953.chunk.js.map +0 -1
  645. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.237d765b.chunk.js +0 -2
  646. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.237d765b.chunk.js.map +0 -1
  647. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.3045cb6e.chunk.js +0 -2
  648. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.3045cb6e.chunk.js.map +0 -1
  649. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.43778793.chunk.js +0 -2
  650. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.43778793.chunk.js.map +0 -1
  651. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.d50549f3.chunk.js +0 -2
  652. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.d50549f3.chunk.js.map +0 -1
  653. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.231600d1.chunk.js +0 -2
  654. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.231600d1.chunk.js.map +0 -1
  655. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.8059ddfd.chunk.js +0 -2
  656. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.8059ddfd.chunk.js.map +0 -1
  657. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.0c6d8661.chunk.js +0 -2
  658. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.0c6d8661.chunk.js.map +0 -1
  659. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.f08b8fb2.chunk.js +0 -2
  660. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.f08b8fb2.chunk.js.map +0 -1
  661. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.86d35f50.chunk.js +0 -2
  662. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.86d35f50.chunk.js.map +0 -1
  663. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.ce0b9cab.chunk.js +0 -2
  664. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.ce0b9cab.chunk.js.map +0 -1
  665. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.cd8e995a.chunk.js +0 -2
  666. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.cd8e995a.chunk.js.map +0 -1
  667. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.fcae8799.chunk.js +0 -2
  668. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.fcae8799.chunk.js.map +0 -1
  669. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.dc640280.chunk.js +0 -2
  670. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.dc640280.chunk.js.map +0 -1
  671. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.785c9642.chunk.js +0 -2
  672. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.785c9642.chunk.js.map +0 -1
  673. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.bf8a1ca4.chunk.js +0 -2
  674. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.bf8a1ca4.chunk.js.map +0 -1
  675. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.cb63a53b.chunk.js +0 -2
  676. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.cb63a53b.chunk.js.map +0 -1
  677. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.68b98c60.chunk.js +0 -2
  678. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.68b98c60.chunk.js.map +0 -1
  679. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.1c523e54.chunk.js +0 -2
  680. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.1c523e54.chunk.js.map +0 -1
  681. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.d857959c.chunk.js +0 -2
  682. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.d857959c.chunk.js.map +0 -1
  683. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b037ce4a.chunk.js +0 -2
  684. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b037ce4a.chunk.js.map +0 -1
  685. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.19e28054.chunk.js +0 -2
  686. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.19e28054.chunk.js.map +0 -1
  687. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.468b2d77.chunk.js +0 -2
  688. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.468b2d77.chunk.js.map +0 -1
  689. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.576b5feb.chunk.js +0 -2
  690. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.576b5feb.chunk.js.map +0 -1
  691. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.3881d495.chunk.js +0 -2
  692. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.3881d495.chunk.js.map +0 -1
  693. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.8303567b.chunk.js +0 -2
  694. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.8303567b.chunk.js.map +0 -1
  695. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.c61b2bd1.chunk.js +0 -2
  696. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.c61b2bd1.chunk.js.map +0 -1
  697. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.f914d4a0.chunk.js +0 -2
  698. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.f914d4a0.chunk.js.map +0 -1
  699. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.7b593d1e.chunk.js +0 -2
  700. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.7b593d1e.chunk.js.map +0 -1
  701. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.902c6a8d.chunk.js +0 -2
  702. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.902c6a8d.chunk.js.map +0 -1
  703. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.6245fd05.chunk.js +0 -2
  704. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.6245fd05.chunk.js.map +0 -1
  705. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.41bf50cf.chunk.js +0 -2
  706. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.41bf50cf.chunk.js.map +0 -1
  707. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.f539e9ee.chunk.js +0 -2
  708. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.f539e9ee.chunk.js.map +0 -1
  709. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.c400e29b.chunk.js +0 -2
  710. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.c400e29b.chunk.js.map +0 -1
  711. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.c32bf5f0.chunk.js +0 -2
  712. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.c32bf5f0.chunk.js.map +0 -1
  713. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.002b01ed.chunk.js +0 -2
  714. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.002b01ed.chunk.js.map +0 -1
  715. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.85088d70.chunk.js +0 -2
  716. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.85088d70.chunk.js.map +0 -1
  717. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.c396fd06.chunk.js +0 -2
  718. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.c396fd06.chunk.js.map +0 -1
  719. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.c0d0b6cb.chunk.js +0 -2
  720. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.c0d0b6cb.chunk.js.map +0 -1
  721. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.cdab47a9.chunk.js +0 -2
  722. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.cdab47a9.chunk.js.map +0 -1
  723. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.fdc20593.chunk.js +0 -2
  724. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.fdc20593.chunk.js.map +0 -1
  725. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.5c674abc.chunk.js +0 -2
  726. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.5c674abc.chunk.js.map +0 -1
  727. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.99fa8ae3.chunk.js +0 -2
  728. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.99fa8ae3.chunk.js.map +0 -1
  729. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.3f108f71.chunk.js +0 -2
  730. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.3f108f71.chunk.js.map +0 -1
  731. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.d2423b05.chunk.js +0 -2
  732. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.d2423b05.chunk.js.map +0 -1
  733. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.dffda3fd.chunk.js +0 -2
  734. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.dffda3fd.chunk.js.map +0 -1
  735. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.121d03e1.chunk.js +0 -2
  736. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.121d03e1.chunk.js.map +0 -1
  737. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.24c2c4d7.chunk.js +0 -2
  738. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.24c2c4d7.chunk.js.map +0 -1
  739. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.dc2aefa3.chunk.js +0 -2
  740. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.dc2aefa3.chunk.js.map +0 -1
  741. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.ad4e465b.chunk.js +0 -2
  742. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.ad4e465b.chunk.js.map +0 -1
  743. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.a1af7819.chunk.js +0 -2
  744. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.a1af7819.chunk.js.map +0 -1
  745. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.37016ae2.chunk.js +0 -2
  746. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.37016ae2.chunk.js.map +0 -1
  747. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.15656e1c.chunk.js +0 -2
  748. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.15656e1c.chunk.js.map +0 -1
  749. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.06722daf.chunk.js +0 -2
  750. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.06722daf.chunk.js.map +0 -1
  751. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.f0739aac.chunk.js +0 -2
  752. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.f0739aac.chunk.js.map +0 -1
  753. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.cea0ebae.chunk.js +0 -2
  754. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.cea0ebae.chunk.js.map +0 -1
  755. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.52182a0d.chunk.js +0 -2
  756. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.52182a0d.chunk.js.map +0 -1
  757. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.d9ba3998.chunk.js +0 -2
  758. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.d9ba3998.chunk.js.map +0 -1
  759. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.438d34a8.chunk.js +0 -2
  760. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.438d34a8.chunk.js.map +0 -1
  761. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.0c4a16bc.chunk.js +0 -2
  762. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.0c4a16bc.chunk.js.map +0 -1
  763. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.0452b782.chunk.js +0 -2
  764. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.0452b782.chunk.js.map +0 -1
  765. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.5d1a12f4.chunk.js +0 -2
  766. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.5d1a12f4.chunk.js.map +0 -1
  767. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.d74384c9.chunk.js +0 -2
  768. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.d74384c9.chunk.js.map +0 -1
  769. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.732bbc54.chunk.js +0 -2
  770. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.732bbc54.chunk.js.map +0 -1
  771. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.389339c6.chunk.js +0 -2
  772. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.389339c6.chunk.js.map +0 -1
  773. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.e462f415.chunk.js +0 -2
  774. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.e462f415.chunk.js.map +0 -1
  775. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.04e0e1e3.chunk.js +0 -2
  776. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.04e0e1e3.chunk.js.map +0 -1
  777. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.626c5f5d.chunk.js +0 -2
  778. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.626c5f5d.chunk.js.map +0 -1
  779. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.04b09c52.chunk.js +0 -2
  780. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.04b09c52.chunk.js.map +0 -1
  781. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.4980a0d9.chunk.js +0 -2
  782. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.4980a0d9.chunk.js.map +0 -1
  783. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.0db0c257.chunk.js +0 -2
  784. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.0db0c257.chunk.js.map +0 -1
  785. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.d7c78236.chunk.js +0 -2
  786. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.d7c78236.chunk.js.map +0 -1
  787. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.4f161056.chunk.js +0 -2
  788. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.4f161056.chunk.js.map +0 -1
  789. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.bc5677c6.chunk.js +0 -2
  790. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.bc5677c6.chunk.js.map +0 -1
  791. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.687f15a1.chunk.js +0 -2
  792. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.687f15a1.chunk.js.map +0 -1
  793. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.8f173d28.chunk.js +0 -2
  794. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.8f173d28.chunk.js.map +0 -1
  795. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.6805068c.chunk.js +0 -2
  796. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.6805068c.chunk.js.map +0 -1
  797. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.b9da8ccf.chunk.js +0 -2
  798. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.b9da8ccf.chunk.js.map +0 -1
  799. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.37adb5ae.chunk.js +0 -2
  800. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.37adb5ae.chunk.js.map +0 -1
  801. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.9db42b5c.chunk.js +0 -2
  802. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.9db42b5c.chunk.js.map +0 -1
  803. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.cbfa3793.chunk.js +0 -2
  804. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.cbfa3793.chunk.js.map +0 -1
  805. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.0fe06044.chunk.js +0 -2
  806. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.0fe06044.chunk.js.map +0 -1
  807. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.ae6159aa.chunk.js +0 -2
  808. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.ae6159aa.chunk.js.map +0 -1
  809. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.27552936.chunk.js +0 -2
  810. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.27552936.chunk.js.map +0 -1
  811. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.fcc8ad20.chunk.js +0 -2
  812. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.fcc8ad20.chunk.js.map +0 -1
  813. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.b894a3d7.chunk.js +0 -2
  814. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.b894a3d7.chunk.js.map +0 -1
  815. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.5e08ebd3.chunk.js +0 -2
  816. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.5e08ebd3.chunk.js.map +0 -1
  817. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.fcba3764.chunk.js +0 -2
  818. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.fcba3764.chunk.js.map +0 -1
  819. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.6f7492fd.chunk.js +0 -2
  820. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.6f7492fd.chunk.js.map +0 -1
  821. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.6eca83c8.chunk.js +0 -2
  822. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.6eca83c8.chunk.js.map +0 -1
  823. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.fd4e72c2.chunk.js +0 -2
  824. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.fd4e72c2.chunk.js.map +0 -1
  825. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.78c4474c.chunk.js +0 -2
  826. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.78c4474c.chunk.js.map +0 -1
  827. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.f3712705.chunk.js +0 -2
  828. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.f3712705.chunk.js.map +0 -1
  829. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.f0cc1751.chunk.js +0 -2
  830. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.f0cc1751.chunk.js.map +0 -1
  831. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.5b16e18f.chunk.js +0 -2
  832. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.5b16e18f.chunk.js.map +0 -1
  833. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.fa2d3f79.chunk.js +0 -2
  834. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.fa2d3f79.chunk.js.map +0 -1
  835. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.d4c79b00.chunk.js +0 -2
  836. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.d4c79b00.chunk.js.map +0 -1
  837. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.bd1220dd.chunk.js +0 -2
  838. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.bd1220dd.chunk.js.map +0 -1
  839. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.3ffd0e6c.chunk.js +0 -2
  840. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.3ffd0e6c.chunk.js.map +0 -1
  841. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.57382f95.chunk.js +0 -2
  842. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.57382f95.chunk.js.map +0 -1
  843. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.7afc7c0b.chunk.js +0 -2
  844. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.7afc7c0b.chunk.js.map +0 -1
  845. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.4c9c1a62.chunk.js +0 -2
  846. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.4c9c1a62.chunk.js.map +0 -1
  847. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.eb18b638.chunk.js +0 -2
  848. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.eb18b638.chunk.js.map +0 -1
  849. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.768dfd00.chunk.js +0 -2
  850. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.768dfd00.chunk.js.map +0 -1
  851. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.511382e7.chunk.js +0 -2
  852. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.511382e7.chunk.js.map +0 -1
  853. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.dd0d279b.chunk.js +0 -2
  854. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.dd0d279b.chunk.js.map +0 -1
  855. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.8cedb936.chunk.js +0 -2
  856. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.8cedb936.chunk.js.map +0 -1
  857. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.6f1b8d2e.chunk.js +0 -2
  858. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.6f1b8d2e.chunk.js.map +0 -1
  859. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.41491171.chunk.js +0 -2
  860. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.41491171.chunk.js.map +0 -1
  861. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.17037b49.chunk.js +0 -2
  862. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.17037b49.chunk.js.map +0 -1
  863. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.713f9f0d.chunk.js +0 -2
  864. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.713f9f0d.chunk.js.map +0 -1
  865. package/dist/techdocs-preview-bundle/static/runtime.045916e2.js +0 -2
  866. package/dist/techdocs-preview-bundle/static/runtime.045916e2.js.map +0 -1
  867. package/dist/techdocs-preview-bundle/static/vendor.045916e2.js +0 -3
  868. package/dist/techdocs-preview-bundle/static/vendor.045916e2.js.LICENSE.txt +0 -102
  869. package/dist/techdocs-preview-bundle/static/vendor.045916e2.js.map +0 -1
@@ -0,0 +1,150 @@
1
+ var zi=Object.defineProperty;var Wi=(J,o,e)=>o in J?zi(J,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):J[o]=e;var k=(J,o,e)=>(Wi(J,typeof o!="symbol"?o+"":o,e),e),mo=(J,o,e)=>{if(!o.has(J))throw TypeError("Cannot "+e)};var et=(J,o,e)=>(mo(J,o,"read from private field"),e?e.call(J):o.get(J)),Sn=(J,o,e)=>{if(o.has(J))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(J):o.set(J,e)},In=(J,o,e,r)=>(mo(J,o,"write to private field"),r?r.call(J,e):o.set(J,e),e);(self.webpackChunkembedded_techdocs_app=self.webpackChunkembedded_techdocs_app||[]).push([[179],{30001:function(J,o,e){"use strict";e.d(o,{n3:function(){return g},MS:function(){return s}});var r=e(52890),t=e(10179),l=e(96279),d=e.n(l);const g=Symbol("CATALOG_FILTER_EXISTS");class s{constructor(m){k(this,"discoveryApi");k(this,"fetchApi");this.discoveryApi=m.discoveryApi,this.fetchApi=m.fetchApi||{fetch:d()}}async getEntityAncestors(m,y){const{kind:h,namespace:E,name:i}=(0,r.of)(m.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(h)}/${encodeURIComponent(E)}/${encodeURIComponent(i)}/ancestry`,y)}async getLocationById(m,y){return await this.requestOptional("GET",`/locations/${encodeURIComponent(m)}`,y)}async getEntities(m,y){const{filter:h=[],fields:E=[],offset:i,limit:S,after:F}=m!=null?m:{},T=[h].flat(),j=[];for(const O of T){const Y=[];for(const[V,ue]of Object.entries(O))for(const Se of[ue].flat())Se===g?Y.push(encodeURIComponent(V)):typeof Se=="string"&&Y.push(`${encodeURIComponent(V)}=${encodeURIComponent(Se)}`);Y.length&&j.push(`filter=${Y.join(",")}`)}E.length&&j.push(`fields=${E.map(encodeURIComponent).join(",")}`),i!==void 0&&j.push(`offset=${i}`),S!==void 0&&j.push(`limit=${S}`),F!==void 0&&j.push(`after=${encodeURIComponent(F)}`);const x=j.length?`?${j.join("&")}`:"",b=await this.requestRequired("GET",`/entities${x}`,y),N=(O,Y)=>{var Se,je;if(((Se=O.metadata)==null?void 0:Se.name)===void 0||O.kind===void 0||((je=Y.metadata)==null?void 0:je.name)===void 0||Y.kind===void 0)return 0;const V=(0,r.eE)(O),ue=(0,r.eE)(Y);return V<ue?-1:V>ue?1:0};return{items:b.sort(N)}}async getEntityByName(m,y){const{kind:h,namespace:E="default",name:i}=m;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(h)}/${encodeURIComponent(E)}/${encodeURIComponent(i)}`,y)}async refreshEntity(m,y){const h=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(y==null?void 0:y.token)&&{Authorization:`Bearer ${y==null?void 0:y.token}`}},method:"POST",body:JSON.stringify({entityRef:m})});if(h.status!==200)throw new Error(await h.text())}async addLocation({type:m="url",target:y,dryRun:h,presence:E},i){const S=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${h?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(i==null?void 0:i.token)&&{Authorization:`Bearer ${i==null?void 0:i.token}`}},method:"POST",body:JSON.stringify({type:m,target:y,presence:E})});if(S.status!==201)throw new Error(await S.text());const{location:F,entities:T,exists:j}=await S.json();if(!F)throw new Error(`Location wasn't added: ${y}`);return{location:F,entities:T,exists:j}}async getOriginLocationByEntity(m,y){var i;const h=(i=m.metadata.annotations)==null?void 0:i[r.lb];return h?(await this.requestRequired("GET","/locations",y)).map(S=>S.data).find(S=>h===(0,r.Bt)(S)):void 0}async getLocationByEntity(m,y){var i;const h=(i=m.metadata.annotations)==null?void 0:i[r.Jl];return h?(await this.requestRequired("GET","/locations",y)).map(S=>S.data).find(S=>h===(0,r.Bt)(S)):void 0}async removeLocationById(m,y){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(m)}`,y)}async removeEntityByUid(m,y){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(m)}`,y)}async requestIgnored(m,y,h){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(h==null?void 0:h.token)?{Authorization:`Bearer ${h.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok)throw await t.VL.fromResponse(S)}async requestRequired(m,y,h){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(h==null?void 0:h.token)?{Authorization:`Bearer ${h.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok)throw await t.VL.fromResponse(S);return await S.json()}async requestOptional(m,y,h){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(h==null?void 0:h.token)?{Authorization:`Bearer ${h.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok){if(S.status===404)return;throw await t.VL.fromResponse(S)}return await S.json()}}},52890:function(J,o,e){"use strict";e.d(o,{J1:function(){return d},sk:function(){return r},Jl:function(){return A},lb:function(){return D},w$:function(){return ze},nP:function(){return xe},aS:function(){return Ue},hr:function(){return be},S4:function(){return B},cz:function(){return Ae},M_:function(){return ge},wX:function(){return X},wh:function(){return l},C_:function(){return Je},of:function(){return Xe},Me:function(){return q},TH:function(){return mt},eE:function(){return dt},Bt:function(){return Ce}});const r="default",t=null,l="backstage.io/view-url",d="backstage.io/edit-url";var g=e(76635),s=e.n(g);class u{constructor($=ENTITY_DEFAULT_NAMESPACE){k(this,"namespace");this.namespace=$}async enforce($){return $.metadata.namespace?$:lodash.merge({metadata:{namespace:this.namespace}},$)}}class m{static isValidPrefixAndOrSuffix($,ee,pe,Ve){if(typeof $!="string")return!1;const qe=$.split(ee);return qe.length===1?Ve(qe[0]):qe.length===2?pe(qe[0])&&Ve(qe[1]):!1}static isJsonSafe($){try{return s().isEqual($,JSON.parse(JSON.stringify($)))}catch{return!1}}static isValidDnsSubdomain($){return typeof $=="string"&&$.length>=1&&$.length<=253&&$.split(".").every(m.isValidDnsLabel)}static isValidDnsLabel($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test($)}static isValidTag($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test($)}static isValidUrl($){if(typeof $!="string")return!1;try{return new URL($),!0}catch{return!1}}static isValidString($){var ee;return typeof $=="string"&&((ee=$==null?void 0:$.trim())==null?void 0:ee.length)>=1}}var y=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}}}}}'),h=e(48231),E=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"}}}`),i=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityMeta","description":"Metadata fields common to all versions/kinds of entity.","examples":[{"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","generation":13,"name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}],"type":"object","required":["name"],"additionalProperties":true,"properties":{"uid":{"type":"string","description":"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.","examples":["e01199ab-08cc-44c2-8e19-5c29ded82521"],"minLength":1},"etag":{"type":"string","description":"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.","examples":["lsndfkjsndfkjnsdfkjnsd=="],"minLength":1},"generation":{"type":"integer","description":"A positive nonzero number that indicates the current generation of data for this entity; the value is incremented each time the spec changes. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations.","examples":[1],"minimum":1},"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1},"title":{"type":"string","description":"A display name of the entity, to be presented in user interfaces instead of the name property, when available.","examples":["React SSR Template"],"minLength":1},"description":{"type":"string","description":"A short (typically relatively few words, on one line) description of the entity."},"labels":{"type":"object","description":"Key/value pairs of identifying information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"annotations":{"type":"object","description":"Key/value pairs of non-identifying auxiliary information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"tags":{"type":"array","description":"A list of single-valued strings, to for example classify catalog entities in various ways.","items":{"type":"string","minLength":1}},"links":{"type":"array","description":"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://admin.example-org.com"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["Admin Dashboard"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}}}'),S=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 F=new Map,T=[y,E,i,S];function j(ie){if(!(ie==null?void 0:ie.length))throw new TypeError("Unknown error");const $=ie[0];throw new TypeError(`${$.dataPath||"<root>"} ${$.message}${$.params?` - ${Object.entries($.params).map(([ee,pe])=>`${ee}: ${pe}`).join(", ")}`:""}`)}function x(ie,$={}){var Bt;const ee=(Bt=$==null?void 0:$.disableCache)!=null?Bt:!1,pe=ee?"":JSON.stringify(ie);if(!ee){const an=F.get(pe);if(an)return an}const Ve=b(ie),qe=new h.ZP({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});Ve.length&&qe.addSchema(Ve,void 0,void 0,!0);const Et=qe.compile(ie);return ee||F.set(pe,Et),Et}function b(ie){if(typeof ie!="object")return[];const $=new Set;ie.$id&&$.add(ie.$id);const ee=new Array,pe=[ie];for(;pe.length;){const Ve=pe.pop();for(const qe of N(Ve))if(!$.has(qe)){$.add(qe);const Et=T.find(Bt=>Bt.$id===qe);Et&&(ee.push(Et),pe.push(Et))}}return ee}function*N(ie){const $=[ie];for(;$.length;){const ee=$.pop();if(typeof ee=="object"&&ee)for(const[pe,Ve]of Object.entries(ee))pe==="$ref"&&typeof Ve=="string"?yield Ve.split("#")[0]:$.push(Ve)}}function O(ie){const $=compileAjvSchema(ie||entityEnvelopeSchema);return ee=>{if($(ee)===!0)return ee;throw throwAjvError($.errors)}}function Y(ie){const $=x(ie);return ee=>{var qe;if($(ee)===!0)return ee;const Ve=(qe=$.errors)==null?void 0:qe.filter(Et=>["/kind","/apiVersion"].includes(Et.dataPath));if((Ve==null?void 0:Ve.length)&&Ve.every(Et=>Et.keyword==="enum"))return!1;throw j($.errors)}}function V(ie){const $=compileAjvSchema(ie||entitySchema);return ee=>{if($(ee)===!0)return ee;throw throwAjvError($.errors)}}class ue{static isValidApiVersion($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,ee=>ee.length>=1&&ee.length<=63&&/^[a-z0-9A-Z]+$/.test(ee))}static isValidKind($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test($)}static isValidObjectName($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test($)}static isValidNamespace($){return m.isValidDnsLabel($)}static isValidLabelKey($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,ue.isValidObjectName)}static isValidLabelValue($){return $===""||ue.isValidObjectName($)}static isValidAnnotationKey($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,ue.isValidObjectName)}static isValidAnnotationValue($){return typeof $=="string"}}const Se={isValidApiVersion:ue.isValidApiVersion,isValidKind:ue.isValidKind,isValidEntityName:ue.isValidObjectName,isValidNamespace:ue.isValidNamespace,isValidLabelKey:ue.isValidLabelKey,isValidLabelValue:ue.isValidLabelValue,isValidAnnotationKey:ue.isValidAnnotationKey,isValidAnnotationValue:ue.isValidAnnotationValue,isValidTag:m.isValidTag};function je(ie={}){return{...Se,...ie}}class me{constructor($=makeValidator()){k(this,"validators");this.validators=$}async enforce($){var Et,Bt,an,on,Ln,On,Fn;function ee(yt,Zt,sn){if(Zt==null)throw new Error(`${yt} must have a value`);let Bn;try{Bn=sn(Zt)}catch(Kt){throw new Error(`${yt} could not be validated, ${Kt}`)}if(!Bn){let Kt;switch(sn.name){case"isValidLabelValue":case"isValidObjectName":Kt="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":Kt="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":Kt="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":Kt="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":Kt="a string";break;case"isValidKind":Kt="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":Kt="a string that is a valid url";break;case"isValidString":Kt="a non empty string";break;default:Kt=void 0;break}const Yn=Kt?` expected ${Kt} but found "${Zt}".`:"";throw new Error(`"${yt}" is not valid;${Yn} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`)}}function pe(yt,Zt,sn){return Zt===void 0||ee(yt,Zt,sn)}ee("apiVersion",$.apiVersion,this.validators.isValidApiVersion),ee("kind",$.kind,this.validators.isValidKind),ee("metadata.name",$.metadata.name,this.validators.isValidEntityName),pe("metadata.namespace",$.metadata.namespace,this.validators.isValidNamespace);for(const[yt,Zt]of Object.entries((Et=$.metadata.labels)!=null?Et:[]))ee(`labels.${yt}`,yt,this.validators.isValidLabelKey),ee(`labels.${yt}`,Zt,this.validators.isValidLabelValue);for(const[yt,Zt]of Object.entries((Bt=$.metadata.annotations)!=null?Bt:[]))ee(`annotations.${yt}`,yt,this.validators.isValidAnnotationKey),ee(`annotations.${yt}`,Zt,this.validators.isValidAnnotationValue);const Ve=(an=$.metadata.tags)!=null?an:[];for(let yt=0;yt<Ve.length;++yt)ee(`tags.${yt}`,Ve[yt],this.validators.isValidTag);const qe=(on=$.metadata.links)!=null?on:[];for(let yt=0;yt<qe.length;++yt)ee(`links.${yt}.url`,(Ln=qe[yt])==null?void 0:Ln.url,CommonValidatorFunctions.isValidUrl),pe(`links.${yt}.title`,(On=qe[yt])==null?void 0:On.title,CommonValidatorFunctions.isValidString),pe(`links.${yt}.icon`,(Fn=qe[yt])==null?void 0:Fn.icon,KubernetesValidatorFunctions.isValidObjectName);return $}}class Ge{constructor(){k(this,"validate")}async enforce($){if(!this.validate){const Ve=new Ajv({allowUnionTypes:!0});this.validate=Ve.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate($)===!0)return $;const[pe]=this.validate.errors||[];throw pe?new Error(`Malformed envelope, ${pe.dataPath||"<root>"} ${pe.message}`):new Error("Malformed envelope, Unknown error")}}function Oe(ie){var ee,pe;const $=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(ie.trim());if(!$)throw new TypeError(`Entity reference "${ie}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:(ee=$[1])==null?void 0:ee.slice(0,-1),namespace:(pe=$[2])==null?void 0:pe.slice(0,-1),name:$[3]}}function Je(ie){return{kind:ie.kind,namespace:ie.metadata.namespace||r,name:ie.metadata.name}}function rt(ie,$={}){const{kind:ee,namespace:pe,name:Ve}=Xe(ie,{defaultNamespace:ENTITY_DEFAULT_NAMESPACE,...$});if(!ee)throw new Error(`Entity reference ${pe}/${Ve} did not contain a kind`);return{kind:ee,namespace:pe,name:Ve}}function Xe(ie,$={}){var qe,Et;if(!ie)throw new Error("Entity reference must not be empty");if(typeof ie=="string"){const Bt=Oe(ie);return{kind:(qe=Bt.kind)!=null?qe:$.defaultKind,namespace:(Et=Bt.namespace)!=null?Et:$.defaultNamespace,name:Bt.name}}const{kind:ee,namespace:pe,name:Ve}=ie;if(ee==="")throw new Error("Entity reference kinds must not be empty");if(pe==="")throw new Error("Entity reference namespaces must not be empty");if(!Ve)throw new Error("Entity references must contain a name");return{kind:ee!=null?ee:$.defaultKind,namespace:pe!=null?pe:$.defaultNamespace,name:Ve}}function mt(ie){let $,ee,pe;return"metadata"in ie?($=ie.kind,ee=ie.metadata.namespace,pe=ie.metadata.name):($=ie.kind,ee=ie.namespace,pe=ie.name),($==null?void 0:$.includes(":"))||($==null?void 0:$.includes("/"))||(ee==null?void 0:ee.includes(":"))||(ee==null?void 0:ee.includes("/"))||pe.includes(":")||pe.includes("/")?{kind:$,namespace:ee,name:pe}:`${$?`${$}:`:""}${ee?`${ee}/`:""}${pe}`}function dt(ie){var Ve,qe;let $,ee,pe;return"metadata"in ie?($=ie.kind,ee=(Ve=ie.metadata.namespace)!=null?Ve:r,pe=ie.metadata.name):($=ie.kind,ee=(qe=ie.namespace)!=null?qe:r,pe=ie.name),`${$.toLocaleLowerCase("en-US")}:${ee.toLocaleLowerCase("en-US")}/${pe.toLocaleLowerCase("en-US")}`}function lt(ie,$,ee){const pe=ie.kind,Ve=ie.metadata.namespace||ENTITY_DEFAULT_NAMESPACE,qe=ie.metadata.name;let Et,Bt,an;if(typeof $=="string"){const on=Oe($);Et=on.kind||(ee==null?void 0:ee.defaultKind),Bt=on.namespace||(ee==null?void 0:ee.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,an=on.name}else Et=$.kind||(ee==null?void 0:ee.defaultKind),Bt=$.namespace||(ee==null?void 0:ee.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,an=$.name;if(!Et||!Bt)throw new Error("Entity reference or context did not contain kind and namespace");return pe.toLocaleLowerCase("en-US")===Et.toLocaleLowerCase("en-US")&&Ve.toLocaleLowerCase("en-US")===Bt.toLocaleLowerCase("en-US")&&qe.toLocaleLowerCase("en-US")===an.toLocaleLowerCase("en-US")}var vt=e(48834).Buffer;function Tt(){return uuidv4()}function Pt(){return vt.from(uuidv4(),"utf8").toString("base64").replace(/[^\w]/g,"")}function Rt(ie,$){const ee=lodash.cloneDeep(ie),pe=lodash.cloneDeep($);return ee.metadata.labels||(ee.metadata.labels={}),pe.metadata.labels||(pe.metadata.labels={}),ee.metadata.annotations||(ee.metadata.annotations={}),pe.metadata.annotations||(pe.metadata.annotations={}),ee.metadata.tags||(ee.metadata.tags=[]),pe.metadata.tags||(pe.metadata.tags=[]),delete ee.metadata.uid,delete ee.metadata.etag,delete ee.metadata.generation,delete pe.metadata.uid,delete pe.metadata.etag,delete pe.metadata.generation,delete ee.relations,delete ee.status,delete pe.relations,delete pe.status,!lodash.isEqual(ee,pe)}function pt(ie,$){const{uid:ee,etag:pe,generation:Ve}=ie.metadata;if(!ee||!pe||!Ve)throw new Error("Previous entity must have uid, etag and generation");const qe=lodash.cloneDeep($),Et=Rt(ie,qe),Bt=!lodash.isEqual(ie.spec,qe.spec);return qe.metadata.uid=ee,qe.metadata.etag=Et?Pt():pe,qe.metadata.generation=Bt?Ve+1:Ve,qe}class Nt{constructor($){this.policies=$}async enforce($){let ee=$;for(const pe of this.policies){const Ve=await pe.enforce(ee);if(!Ve)throw new Error(`Policy ${pe.constructor.name} did not return a result`);ee=Ve}return ee}}class Ut{constructor($){this.policies=$}async enforce($){for(const ee of this.policies){const pe=await ee.enforce($);if(pe)return pe}throw new Error("The entity did not match any known policy")}}const Ot={allOf(ie){return new Nt(ie)},oneOf(ie){return new Ut(ie)}};var bt=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 ht(ie){const $=Y(ie);return{async check(ee){return $(ee)===ee}}}const At=ht(bt);var $t=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 De=ht($t);var st=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 it=ht(st);var le=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 Q=ht(le);var P=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 C=ht(P),B="ownedBy",z="ownerOf",_="consumesApi",ne="apiConsumedBy",ge="providesApi",ye="apiProvidedBy",xe="dependsOn",ze="dependencyOf",Ne="parentOf",Te="childOf",be="memberOf",de="hasMember",Ae="partOf",Ue="hasPart";var we=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 Fe=ht(we);var at=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 Be=ht(at);var Qe=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"TemplateV1beta2","description":"A Template describes a scaffolding task for use with the Scaffolder. It describes the required parameters as well as a series of steps that will be taken to execute the scaffolding task.","examples":[{"apiVersion":"backstage.io/v1beta2","kind":"Template","metadata":{"name":"react-ssr-template","title":"React SSR Template","description":"Next.js application skeleton for creating isomorphic web applications.","tags":["recommended","react"]},"spec":{"owner":"artist-relations-team","type":"website","parameters":{"required":["name","description"],"properties":{"name":{"title":"Name","type":"string","description":"Unique name of the component"},"description":{"title":"Description","type":"string","description":"Description of the component"}}},"steps":[{"id":"fetch","name":"Fetch","action":"fetch:plain","parameters":{"url":"./template"}},{"id":"publish","name":"Publish to GitHub","action":"publish:github","parameters":{"repoUrl":"{{ parameters.repoUrl }}"},"if":"{{ parameters.repoUrl }}"}],"output":{"catalogInfoUrl":"{{ steps.publish.output.catalogInfoUrl }}"}}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1beta2"]},"kind":{"enum":["Template"]},"spec":{"type":"object","required":["type","steps"],"properties":{"type":{"type":"string","description":"The type of component created by the template. The software catalog accepts any type value, but an organization should take great care to establish a proper taxonomy for these. Tools including Backstage itself may read this field and behave differently depending on its value. For example, a website type component may present tooling in the Backstage interface that is specific to just websites.","examples":["service","website","library"],"minLength":1},"parameters":{"oneOf":[{"type":"object","description":"The JSONSchema describing the inputs for the template."},{"type":"array","description":"A list of separate forms to collect parameters.","items":{"type":"object","description":"The JSONSchema describing the inputs for the template."}}]},"steps":{"type":"array","description":"A list of steps to execute.","items":{"type":"object","description":"A description of the step to execute.","required":["action"],"properties":{"id":{"type":"string","description":"The ID of the step, which can be used to refer to its outputs."},"name":{"type":"string","description":"The name of the step, which will be displayed in the UI during the scaffolding process."},"action":{"type":"string","description":"The name of the action to execute."},"input":{"type":"object","description":"A templated object describing the inputs to the action."},"if":{"type":["string","boolean"],"description":"A templated condition that skips the step when evaluated to false. If the condition is true or not defined, the step is executed. The condition is true, if the input is not `false`, `undefined`, `null`, `\\"\\"`, `0`, or `[]`."}}}},"output":{"type":"object","description":"A templated object describing the outputs of the scaffolding task.","properties":{"links":{"type":"array","description":"A list of external hyperlinks, typically pointing to resources created or updated by the template","items":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://github.com/my-org/my-new-repo"],"minLength":1},"entityRef":{"type":"string","description":"An entity reference to an entity in the catalog.","examples":["Component:default/my-app"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["View new repo"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}},"additionalProperties":{"type":"string"}},"owner":{"type":"string","description":"The user (or group) owner of the template","minLength":1}}}}}]}');const ke=ht(Qe);var ct=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 K=ht(ct),A="backstage.io/managed-by-location",D="backstage.io/managed-by-origin-location",X="backstage.io/source-location";function q(ie){if(typeof ie!="string")throw new TypeError(`Unable to parse location reference '${ie}', unexpected argument ${typeof ie}`);const $=ie.indexOf(":");if($<0)throw new TypeError(`Unable to parse location reference '${ie}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const ee=ie.substr(0,$).trim(),pe=ie.substr($+1).trim();if(!ee||!pe)throw new TypeError(`Unable to parse location reference '${ie}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(ee==="http"||ee==="https")throw new TypeError(`Invalid location reference '${ie}', please prefix it with 'url:', e.g. 'url:${ie}'`);return{type:ee,target:pe}}function Ce(ie){const{type:$,target:ee}=ie;if($){if(!ee)throw new TypeError("Unable to stringify location reference, empty target")}else throw new TypeError("Unable to stringify location reference, empty type");return`${$}:${ee}`}function he(ie){var ee,pe,Ve,qe,Et;const $=(Et=(pe=(ee=ie.metadata)==null?void 0:ee.annotations)==null?void 0:pe[SOURCE_LOCATION_ANNOTATION])!=null?Et:(qe=(Ve=ie.metadata)==null?void 0:Ve.annotations)==null?void 0:qe[LOCATION_ANNOTATION];if(!$)throw new Error(`Entity '${stringifyEntityRef(ie)}' is missing location`);return q($)}var Le=e(9699);const tt=Le.Ry({type:Le.Z_().required(),target:Le.Z_().required(),presence:Le.nK().oneOf(["required","optional"])}).noUnknown().required(),St=Le.Ry({id:Le.Z_().required(),type:Le.Z_().required(),target:Le.Z_().required(),presence:Le.nK().oneOf(["required","optional"])}).noUnknown().required(),gn=Le.Ry({location:tt}).noUnknown().required()},23235:function(J,o,e){"use strict";e.d(o,{C:function(){return t}});var r=e(98005);class t{constructor(){k(this,"subject",new r.J)}post(d){this.subject.next(d)}alert$(){return this.subject}}},47150:function(J,o,e){"use strict";e.d(o,{g:function(){return r}});class r{captureEvent(l){}}},58652:function(J,o,e){"use strict";e.d(o,{C:function(){return l}});var r=e(98005);const t="theme";class l{constructor(g){k(this,"activeThemeId");k(this,"subject",new r.X(void 0));this.themes=g}static createWithStorage(g){var m;const s=new l(g);if(!window.localStorage)return s;const u=(m=window.localStorage.getItem(t))!=null?m:void 0;return s.setActiveThemeId(u),s.activeThemeId$().subscribe(y=>{y?window.localStorage.setItem(t,y):window.localStorage.removeItem(t)}),window.addEventListener("storage",y=>{var h;if(y.key===t){const E=(h=localStorage.getItem(t))!=null?h:void 0;s.setActiveThemeId(E)}}),s}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(g){this.activeThemeId=g,this.subject.next(g)}}},14721:function(J,o,e){"use strict";e.d(o,{m:function(){return y}});var r=e(9850),t=e.n(r),l=e(12782),d=e.n(l);const g=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function s(h){return typeof h=="object"&&h!==null&&!Array.isArray(h)}function u(h){if(h===null)return"null";if(Array.isArray(h))return"array";const E=typeof h;return E==="number"&&isNaN(h)?"nan":E==="string"&&h===""?"empty-string":E}const m={type(h,E,i,S){return`Invalid type in config for key '${h}' in '${E}', got ${i}, wanted ${S}`},missing(h){return`Missing required config value at '${h}'`},convert(h,E,i){return`Unable to convert config value for key '${h}' in '${E}' to a ${i}`}};class y{constructor(E,i="mock-config",S,F=""){k(this,"filteredKeys");k(this,"notifiedFilteredKeys",new Set);this.data=E,this.context=i,this.fallback=S,this.prefix=F}static fromConfigs(E){return E.length===0?new y(void 0):E.reduce((i,{data:S,context:F,filteredKeys:T,deprecatedKeys:j})=>{const x=new y(S,F,i);if(x.filteredKeys=T,j)for(const{key:b,description:N}of j)console.warn(`The configuration key '${b}' of ${F} is deprecated and may be removed soon. ${N||""}`);return x},void 0)}has(E){var S,F;return this.readValue(E)!==void 0?!0:(F=(S=this.fallback)==null?void 0:S.has(E))!=null?F:!1}keys(){var S,F;const E=this.data?Object.keys(this.data):[],i=(F=(S=this.fallback)==null?void 0:S.keys())!=null?F:[];return[...new Set([...E,...i])]}get(E){const i=this.getOptional(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E!=null?E:"")));return i}getOptional(E){var F;const i=t()(this.readValue(E)),S=(F=this.fallback)==null?void 0:F.getOptional(E);return i===void 0?S:S===void 0?i:d()({},{value:S},{value:i},(T,j)=>!s(j)||!s(T)?j:void 0).value}getConfig(E){const i=this.getOptionalConfig(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalConfig(E){var F;const i=this.readValue(E),S=(F=this.fallback)==null?void 0:F.getOptionalConfig(E);if(s(i))return this.copy(i,E,S);if(i!==void 0)throw new TypeError(m.type(this.fullKey(E),this.context,u(i),"object"));return S}getConfigArray(E){const i=this.getOptionalConfigArray(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalConfigArray(E){const i=this.readConfigValue(E,S=>{if(!Array.isArray(S))return{expected:"object-array"};for(const[F,T]of S.entries())if(!s(T))return{expected:"object-array",value:T,key:`${E}[${F}]`};return!0});if(!!i)return i.map((S,F)=>this.copy(S,`${E}[${F}]`))}getNumber(E){const i=this.getOptionalNumber(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalNumber(E){const i=this.readConfigValue(E,F=>typeof F=="number"||typeof F=="string"||{expected:"number"});if(typeof i=="number"||i===void 0)return i;const S=Number(i);if(!Number.isFinite(S))throw new Error(m.convert(this.fullKey(E),this.context,"number"));return S}getBoolean(E){const i=this.getOptionalBoolean(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalBoolean(E){return this.readConfigValue(E,i=>typeof i=="boolean"||{expected:"boolean"})}getString(E){const i=this.getOptionalString(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalString(E){return this.readConfigValue(E,i=>typeof i=="string"&&i!==""||{expected:"string"})}getStringArray(E){const i=this.getOptionalStringArray(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalStringArray(E){return this.readConfigValue(E,i=>{if(!Array.isArray(i))return{expected:"string-array"};for(const[S,F]of i.entries())if(typeof F!="string"||F==="")return{expected:"string-array",value:F,key:`${E}[${S}]`};return!0})}fullKey(E){return`${this.prefix}${this.prefix?".":""}${E}`}copy(E,i,S){const F=new y(E,this.context,S,this.fullKey(i));return F.filteredKeys=this.filteredKeys,F}readConfigValue(E,i){var T;const S=this.readValue(E);if(S===void 0)return(T=this.fallback)==null?void 0:T.readConfigValue(E,i);const F=i(S);if(F!==!0){const{key:j=E,value:x=S,expected:b}=F;throw new TypeError(m.type(this.fullKey(j),this.context,u(x),b))}return S}readValue(E){const i=E?E.split("."):[];for(const F of i)if(!g.test(F))throw new TypeError(`Invalid config key '${E}'`);if(this.data===void 0)return;let S=this.data;for(const[F,T]of i.entries())if(s(S))S=S[T];else if(S!==void 0){const j=this.fullKey(i.slice(0,F).join("."));throw new TypeError(m.type(j,this.context,u(S),"object"))}return S}}},4333:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(d){const g=d.split(/\{\{\s*pluginId\s*\}\}/),s=g.join("pluginId");let u;try{u=new URL(s)}catch{throw new Error(`${r} URL '${s}' is invalid`)}if(u.hash)throw new Error(`${r} URL must not have a hash`);if(u.search)throw new Error(`${r} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(g)}constructor(d){this.parts=d}async getBaseUrl(d){return this.parts.join(d)}}},89536:function(J,o,e){"use strict";e.d(o,{KN:function(){return r},gr:function(){return l},Jv:function(){return d}});class r{constructor(s,u){this.alertApi=s,this.errorApi=u}post(s,u){return(u==null?void 0:u.hidden)||this.alertApi.post({message:s.message,severity:"error"}),this.errorApi.post(s,u)}error$(){return this.errorApi.error$()}}var t=e(98005);class l{constructor(){k(this,"subject",new t.J)}post(s,u){this.subject.next({error:s,context:u})}error$(){return this.subject}}class d{static forward(s,u){window.addEventListener("unhandledrejection",m=>{s.post(m.reason,u)})}}},14884:function(J,o,e){"use strict";e.d(o,{b:function(){return l}});var r=e(36964);function t(d){if(d.length<3)throw new Error(`The '${d}' feature flag must have a minimum length of three characters.`);if(d.length>150)throw new Error(`The '${d}' feature flag must not exceed 150 characters.`);if(!d.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${d}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class l{constructor(){k(this,"registeredFeatureFlags",[]);k(this,"flags")}registerFlag(g){t(g.name),this.registeredFeatureFlags.push(g)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(g){return this.flags||(this.flags=this.load()),this.flags.get(g)===r.FeatureFlagState.Active}save(g){this.flags||(this.flags=this.load()),g.merge||this.flags.clear();for(const[u,m]of Object.entries(g.states))this.flags.set(u,m);const s=Array.from(this.flags.entries()).filter(([,u])=>u===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(s)))}load(){try{const g=window.localStorage.getItem("featureFlags");if(!g)return new Map;const s=JSON.parse(g);if(typeof s!="object"||s===null||Array.isArray(s))return new Map;const u=Object.entries(s).filter(([m,y])=>(t(m),y===r.FeatureFlagState.Active));return new Map(u)}catch{return new Map}}}},50160:function(J,o,e){"use strict";e.d(o,{I:function(){return g},j:function(){return r}});function r(s){var y;let u=s.baseImplementation||e.g.fetch;const m=[(y=s.middleware)!=null?y:[]].flat().reverse();for(const h of m)u=h.apply(u);return{fetch:u}}class t{static create(u){var E,i;const m=[];u.urlPrefixAllowlist?m.push(...u.urlPrefixAllowlist):u.config&&m.push(u.config.getString("backend.baseUrl"));const y=((E=u.header)==null?void 0:E.name)||"authorization",h=((i=u.header)==null?void 0:i.value)||(S=>`Bearer ${S}`);return new t(u.identityApi,m.map(S=>S.replace(/\/$/,"")),y,h)}constructor(u,m,y,h){this.identityApi=u,this.urlPrefixAllowlist=m,this.headerName=y,this.headerValue=h}apply(u){return async(m,y)=>{const h=new Request(m,y),{token:E}=await this.identityApi.getCredentials();return h.headers.get(this.headerName)||!this.urlPrefixAllowlist.some(i=>h.url===i||h.url.startsWith(`${i}/`))||typeof E!="string"||!E?u(m,y):(h.headers.set(this.headerName,this.headerValue(E)),u(h))}}}function l(s,u){return!u||u==="/"?s:`${s.replace(/\/$/,"")}/${u.replace(/^\//,"")}`}class d{constructor(u){this.discoveryApi=u}apply(u){return async(m,y)=>{const h=new Request(m,y),E="plugin://";if(!h.url.startsWith(E))return u(m,y);const{hostname:i,pathname:S,search:F,hash:T,username:j,password:x}=new URL(`http://${h.url.substring(E.length)}`);let b=await this.discoveryApi.getBaseUrl(i);if(j||x){const O=new URL(b),Y=`${j}${x?`:${x}`:""}@`;b=`${O.protocol}//${Y}${O.host}${O.pathname}`}const N=`${l(b,S)}${F}${T}`;return u(N,h)}}}class g{static resolvePluginProtocol(u){return new d(u.discoveryApi)}static injectIdentityAuth(u){return t.create(u)}constructor(){}}},11358:function(J,o,e){"use strict";e.d(o,{Y:function(){return g}});var r=e(98005);function t(s,u){for(const m of u)if(!s.has(m))return!1;return!0}function l(s,...u){const m=new Set(s);for(const y of u)for(const h of y)m.add(h);return m}class d{constructor(){k(this,"requests",[]);k(this,"subject",new r.X(this.getCurrentPending()))}request(u){return new Promise((m,y)=>{this.requests.push({scopes:u,resolve:m,reject:y}),this.subject.next(this.getCurrentPending())})}resolve(u,m){this.requests=this.requests.filter(y=>t(u,y.scopes)?(y.resolve(m),!1):!0),this.subject.next(this.getCurrentPending())}reject(u){this.requests.forEach(m=>m.reject(u)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const u=this.requests.length===0?void 0:this.requests.slice(1).reduce((m,y)=>l(m,y.scopes),this.requests[0].scopes);return{scopes:u,resolve:m=>{u&&this.resolve(u,m)},reject:m=>{u&&this.reject(m)}}}}class g{constructor(){k(this,"subject",new r.X([]));k(this,"currentRequests",[]);k(this,"handlerCount",0)}createAuthRequester(u){u.provider.id||console.warn("DEPRECATION WARNING: Not passing a provider id to createAuthRequester is deprecated, it will be required in the future");const m=new d,y=this.handlerCount;return this.handlerCount++,m.pending().subscribe({next:h=>{const E=this.currentRequests.slice(),i=this.makeAuthRequest(h,u);i?E[y]=i:delete E[y],this.currentRequests=E,this.subject.next(E.filter(Boolean))}}),h=>m.request(h)}makeAuthRequest(u,m){const{scopes:y}=u;if(!!y)return{provider:m.provider,trigger:async()=>{const h=await m.onAuthRequest(y);u.resolve(h)},reject:()=>{const h=new Error("Login failed, rejected by user");h.name="RejectedError",u.reject(h)}}}authRequest$(){return this.subject}}},56054:function(J,o,e){"use strict";e.d(o,{C:function(){return d}});var r=e(82394),t=e.n(r);const l=new Map;class d{constructor(s,u){k(this,"subscribers",new Set);k(this,"observable",new(t())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));this.namespace=s,this.errorApi=u}static create(s){var u;return new d((u=s.namespace)!=null?u:"",s.errorApi)}get(s){return this.snapshot(s).value}snapshot(s){let u,m="absent";try{const y=localStorage.getItem(this.getKeyName(s));y&&(u=JSON.parse(y,(h,E)=>(typeof E=="object"&&E!==null&&Object.freeze(E),E)),m="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${s}`))}return{key:s,value:u,newValue:u,presence:m}}forBucket(s){const u=`${this.namespace}/${s}`;return l.has(u)||l.set(u,new d(u,this.errorApi)),l.get(u)}async set(s,u){localStorage.setItem(this.getKeyName(s),JSON.stringify(u)),this.notifyChanges(s)}async remove(s){localStorage.removeItem(this.getKeyName(s)),this.notifyChanges(s)}observe$(s){return this.observable.filter(({key:u})=>u===s)}getKeyName(s){return`${this.namespace}/${encodeURIComponent(s)}`}notifyChanges(s){const u=this.snapshot(s);for(const m of this.subscribers)m.next(u)}}},59589:function(J,o,e){"use strict";e.d(o,{u:function(){return l}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:u="development",provider:m=t,oauthRequestApi:y}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:u})}}},92293:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"auth0",title:"Auth0",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:u="development",provider:m=t,oauthRequestApi:y,defaultScopes:h=["openid","email","profile"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:u,defaultScopes:h})}}},6098:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:u="development",provider:m=t,oauthRequestApi:y,defaultScopes:h=["team"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:u,defaultScopes:h})}}},44431:function(J,o,e){"use strict";e.d(o,{x:function(){return l.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var l=e(6098)},19347:function(){},55551:function(J,o,e){"use strict";e.d(o,{T:function(){return m}});var r=e(96176),t=e(54842),l=e(91405);class d{constructor(h){k(this,"stateTracker",new l.l);k(this,"sessionCanRefresh");k(this,"staticSessionManager");k(this,"refreshingSessionManager");this.sessionCanRefresh=h.sessionCanRefresh,this.staticSessionManager=h.staticSessionManager,this.refreshingSessionManager=h.refreshingSessionManager}async getSession(h){const E=await this.staticSessionManager.getSession({...h,optional:!0});if(E)return this.stateTracker.setIsSignedIn(!0),E;const i=await this.refreshingSessionManager.getSession(h);if(!i){this.stateTracker.setIsSignedIn(!1);return}return this.sessionCanRefresh(i)?(this.stateTracker.setIsSignedIn(!0),i):(this.staticSessionManager.setSession(i),this.stateTracker.setIsSignedIn(!0),i)}async removeSession(){await Promise.all([this.refreshingSessionManager.removeSession(),this.staticSessionManager.removeSession()]),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}var g=e(30195);const s=g.z.object({providerInfo:g.z.object({accessToken:g.z.string(),scopes:g.z.set(g.z.string()),expiresAt:g.z.date().optional()}),profile:g.z.object({email:g.z.string().optional(),displayName:g.z.string().optional(),picture:g.z.string().optional()}),backstageIdentity:g.z.object({id:g.z.string(),token:g.z.string(),identity:g.z.object({type:g.z.literal("user"),userEntityRef:g.z.string(),ownershipEntityRefs:g.z.array(g.z.string())})})}),u={id:"github",title:"GitHub",icon:()=>null};class m{static create(h){const{discoveryApi:E,environment:i="development",provider:S=u,oauthRequestApi:F,defaultScopes:T=["read:user"]}=h,j=new r.y({discoveryApi:E,environment:i,provider:S,oauthRequestApi:F,sessionTransform(O){return{...O,providerInfo:{accessToken:O.providerInfo.accessToken,scopes:m.normalizeScope(O.providerInfo.scope),expiresAt:O.providerInfo.expiresInSeconds?new Date(Date.now()+O.providerInfo.expiresInSeconds*1e3):void 0}}}}),x=new t.q2({connector:j,defaultScopes:new Set(T),sessionScopes:O=>O.providerInfo.scopes,sessionShouldRefresh:O=>{const{expiresAt:Y}=O.providerInfo;return Y?(Y.getTime()-Date.now())/1e3<60*5:!1}}),b=new t.Hc({manager:new t.k1({connector:j,defaultScopes:new Set(T),sessionScopes:O=>O.providerInfo.scopes}),storageKey:`${S.id}Session`,schema:s,sessionScopes:O=>O.providerInfo.scopes}),N=new d({refreshingSessionManager:x,staticSessionManager:b,sessionCanRefresh:O=>O.providerInfo.expiresAt!==void 0});return new m(N)}constructor(h){this.sessionManager=h}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(h,E){var S;const i=await this.sessionManager.getSession({...E,scopes:m.normalizeScope(h)});return(S=i==null?void 0:i.providerInfo.accessToken)!=null?S:""}async getBackstageIdentity(h={}){const E=await this.sessionManager.getSession(h);return E==null?void 0:E.backstageIdentity}async getProfile(h={}){const E=await this.sessionManager.getSession(h);return E==null?void 0:E.profile}static normalizeScope(h){if(!h)return new Set;const E=Array.isArray(h)?h:h.split(/[\s|,]/).filter(Boolean);return new Set(E)}}},2922:function(J,o,e){"use strict";e.d(o,{a:function(){return l}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:u="development",provider:m=t,oauthRequestApi:y,defaultScopes:h=["read_user"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:u,defaultScopes:h})}}},59938:function(J,o,e){"use strict";e.d(o,{e:function(){return d}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},l="https://www.googleapis.com/auth/";class d{static create(s){const{discoveryApi:u,oauthRequestApi:m,environment:y="development",provider:h=t,defaultScopes:E=["openid",`${l}userinfo.email`,`${l}userinfo.profile`]}=s;return r.L.create({discoveryApi:u,oauthRequestApi:m,provider:h,environment:y,defaultScopes:E,scopeTransform(i){return i.map(S=>S==="openid"?S:S==="profile"||S==="email"?`${l}userinfo.${S}`:S.startsWith(l)?S:`${l}${S}`)}})}}},91668:function(J,o,e){"use strict";e.d(o,{Td:function(){return r.T},aq:function(){return t.a},eE:function(){return l.e},OAuth2:function(){return d.L},OktaAuth:function(){return g.s},SamlAuth:function(){return s.n},Auth0Auth:function(){return u.Z},MicrosoftAuth:function(){return m._},OneLoginAuth:function(){return y.$},BitbucketAuth:function(){return h.x},AtlassianAuth:function(){return E.u}});var r=e(55551),t=e(2922),l=e(59938),d=e(91205);e.o(d,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return d.Auth0Auth}}),e.o(d,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return d.BitbucketAuth}}),e.o(d,"ConfigReader")&&e.d(o,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return d.MicrosoftAuth}}),e.o(d,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"OktaAuth")&&e.d(o,{OktaAuth:function(){return d.OktaAuth}}),e.o(d,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return d.OneLoginAuth}}),e.o(d,"SamlAuth")&&e.d(o,{SamlAuth:function(){return d.SamlAuth}}),e.o(d,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(o,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(o,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return d.createSpecializedApp}});var g=e(26079),s=e(67578),u=e(92293),m=e(38482),y=e(58381),h=e(44431);e.o(h,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return h.AlertApiForwarder}}),e.o(h,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return h.AppThemeSelector}}),e.o(h,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return h.AtlassianAuth}}),e.o(h,"ConfigReader")&&e.d(o,{ConfigReader:function(){return h.ConfigReader}}),e.o(h,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return h.ErrorAlerter}}),e.o(h,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return h.ErrorApiForwarder}}),e.o(h,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return h.FetchMiddlewares}}),e.o(h,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return h.FlatRoutes}}),e.o(h,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return h.LocalStorageFeatureFlags}}),e.o(h,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return h.NoOpAnalyticsApi}}),e.o(h,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return h.OAuthRequestManager}}),e.o(h,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return h.UnhandledErrorForwarder}}),e.o(h,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return h.UrlPatternDiscovery}}),e.o(h,"WebStorage")&&e.d(o,{WebStorage:function(){return h.WebStorage}}),e.o(h,"createFetchApi")&&e.d(o,{createFetchApi:function(){return h.createFetchApi}}),e.o(h,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return h.createSpecializedApp}});var E=e(59589)},38482:function(J,o,e){"use strict";e.d(o,{_:function(){return l}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class l{static create(g){const{environment:s="development",provider:u=t,oauthRequestApi:m,discoveryApi:y,defaultScopes:h=["openid","offline_access","profile","email","User.Read"]}=g;return r.L.create({discoveryApi:y,oauthRequestApi:m,provider:u,environment:s,defaultScopes:h})}}},95792:function(J,o,e){"use strict";e.d(o,{Z:function(){return d}});var r=e(96176),t=e(54842);const l={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class d{constructor(s){k(this,"sessionManager");k(this,"scopeTransform");this.sessionManager=s.sessionManager,this.scopeTransform=s.scopeTransform}static create(s){const{discoveryApi:u,environment:m="development",provider:y=l,oauthRequestApi:h,defaultScopes:E=[],scopeTransform:i=T=>T}=s,S=new r.y({discoveryApi:u,environment:m,provider:y,oauthRequestApi:h,sessionTransform(T){return{...T,providerInfo:{idToken:T.providerInfo.idToken,accessToken:T.providerInfo.accessToken,scopes:d.normalizeScopes(i,T.providerInfo.scope),expiresAt:new Date(Date.now()+T.providerInfo.expiresInSeconds*1e3)}}}}),F=new t.q2({connector:S,defaultScopes:new Set(E),sessionScopes:T=>T.providerInfo.scopes,sessionShouldRefresh:T=>(T.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new d({sessionManager:F,scopeTransform:i})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(s,u){var h;const m=d.normalizeScopes(this.scopeTransform,s),y=await this.sessionManager.getSession({...u,scopes:m});return(h=y==null?void 0:y.providerInfo.accessToken)!=null?h:""}async getIdToken(s={}){var m;const u=await this.sessionManager.getSession(s);return(m=u==null?void 0:u.providerInfo.idToken)!=null?m:""}async getBackstageIdentity(s={}){const u=await this.sessionManager.getSession(s);return u==null?void 0:u.backstageIdentity}async getProfile(s={}){const u=await this.sessionManager.getSession(s);return u==null?void 0:u.profile}static normalizeScopes(s,u){if(!u)return new Set;const m=Array.isArray(u)?u:u.split(/[\s|,]/).filter(Boolean);return new Set(s(m))}}},91205:function(J,o,e){"use strict";e.d(o,{L:function(){return r.Z}});var r=e(95792),t=e(5973),l=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(o,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(o,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(o,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}})},5973:function(){},26079:function(J,o,e){"use strict";e.d(o,{s:function(){return g}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),d="okta.";class g{static create(u){const{discoveryApi:m,environment:y="development",provider:h=t,oauthRequestApi:E,defaultScopes:i=["openid","email","profile","offline_access"]}=u;return r.L.create({discoveryApi:m,oauthRequestApi:E,provider:h,environment:y,defaultScopes:i,scopeTransform(S){return S.map(F=>l.has(F)||F.startsWith(d)?F:`${d}${F}`)}})}}},58381:function(J,o,e){"use strict";e.d(o,{$:function(){return g}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),d="onelogin.";class g{static create(u){const{discoveryApi:m,environment:y="development",provider:h=t,oauthRequestApi:E}=u;return r.L.create({discoveryApi:m,oauthRequestApi:E,provider:h,environment:y,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(i){return i.map(S=>l.has(S)||S.startsWith(d)?S:`${d}${S}`)}})}}},67578:function(J,o,e){"use strict";e.d(o,{n:function(){return u}});var r=e(17678);class t{constructor(y){k(this,"discoveryApi");k(this,"environment");k(this,"provider");const{discoveryApi:h,environment:E,provider:i}=y;this.discoveryApi=h,this.environment=E,this.provider=i}async createSession(){const y=await this.buildUrl("/start"),h=await(0,r.d)({url:y,name:`${this.provider.title} Login`,origin:new URL(y).origin,width:450,height:730});return{...h,id:h.profile.email}}async refreshSession(){}async removeSession(){const y=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(h=>{throw new Error(`Logout request failed, ${h}`)});if(!y.ok){const h=new Error(`Logout request failed, ${y.statusText}`);throw h.status=y.status,h}}async buildUrl(y){return`${await this.discoveryApi.getBaseUrl("auth")}/${this.provider.id}${y}?env=${this.environment}`}}var l=e(54842),d=e(30195);const g=d.z.object({profile:d.z.object({email:d.z.string().optional(),displayName:d.z.string().optional(),picture:d.z.string().optional()}),backstageIdentity:d.z.object({id:d.z.string(),token:d.z.string(),identity:d.z.object({type:d.z.literal("user"),userEntityRef:d.z.string(),ownershipEntityRefs:d.z.array(d.z.string())})})}),s={id:"saml",title:"SAML",icon:()=>null};class u{static create(y){const{discoveryApi:h,environment:E="development",provider:i=s}=y,S=new t({discoveryApi:h,environment:E,provider:i}),F=new l.k1({connector:S}),T=new l.Hc({manager:F,storageKey:`${i.id}Session`,schema:g});return new u(T)}sessionState$(){return this.sessionManager.sessionState$()}constructor(y){this.sessionManager=y}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(y={}){const h=await this.sessionManager.getSession(y);return h==null?void 0:h.backstageIdentity}async getProfile(y={}){const h=await this.sessionManager.getSession(y);return h==null?void 0:h.profile}}},91631:function(J,o,e){"use strict";e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth},Auth0Auth:function(){return r.Auth0Auth},GithubAuth:function(){return r.Td},GitlabAuth:function(){return r.aq},GoogleAuth:function(){return r.eE},MicrosoftAuth:function(){return r.MicrosoftAuth},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},SamlAuth:function(){return r.SamlAuth},AlertApiForwarder:function(){return t.C},NoOpAnalyticsApi:function(){return l.g},AppThemeSelector:function(){return d.C},ConfigReader:function(){return g.m},UrlPatternDiscovery:function(){return s.p},ErrorAlerter:function(){return u.KN},ErrorApiForwarder:function(){return u.gr},UnhandledErrorForwarder:function(){return u.Jv},LocalStorageFeatureFlags:function(){return m.b},FetchMiddlewares:function(){return y.I},createFetchApi:function(){return y.j},OAuthRequestManager:function(){return h.Y},WebStorage:function(){return E.C}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(23235),l=e(47150),d=e(58652),g=e(14721),s=e(4333),u=e(89536),m=e(14884),y=e(50160),h=e(11358),E=e(56054)},56494:function(J,o,e){"use strict";e.d(o,{ApiProvider:function(){return r.gs},AlertApiForwarder:function(){return t.AlertApiForwarder},AppThemeSelector:function(){return t.AppThemeSelector},ConfigReader:function(){return t.ConfigReader},ErrorAlerter:function(){return t.ErrorAlerter},ErrorApiForwarder:function(){return t.ErrorApiForwarder},FetchMiddlewares:function(){return t.FetchMiddlewares},LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags},NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi},OAuthRequestManager:function(){return t.OAuthRequestManager},UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return t.UrlPatternDiscovery},WebStorage:function(){return t.WebStorage},createFetchApi:function(){return t.createFetchApi}});var r=e(76105);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}})},80396:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});var r;(function(l){l[l.default=10]="default";const d=50;l[l.app=d]="app",l[l.static=100]="static"})(r||(r={}));class t{constructor(){k(this,"factories",new Map)}register(d,g){const s=r[d],u=this.factories.get(g.api.id);return u&&u.priority>=s?!1:(this.factories.set(g.api.id,{priority:s,factory:g}),!0)}get(d){const g=this.factories.get(d.id);if(!!g)return g.factory}getAllApis(){const d=new Set;for(const{factory:g}of this.factories.values())d.add(g.api);return d}}},14406:function(J,o,e){"use strict";e.d(o,{g:function(){return u}});var r=e(2784),t=e(13980),l=e.n(t);class d{constructor(...y){k(this,"holders");this.holders=y}get(y){for(const h of this.holders){const E=h.get(y);if(E)return E}}}var g=e(76241);const s=(0,g.CT)("api-context"),u=m=>{var S;const{apis:y,children:h}=m,E=(S=(0,r.useContext)(s))==null?void 0:S.atVersion(1),i=E?new d(y,E):y;return r.createElement(s.Provider,{value:(0,g.EI)({1:i}),children:h})};u.propTypes={apis:l().shape({get:l().func.isRequired}).isRequired,children:l().node}},12132:function(J,o,e){"use strict";e.d(o,{M:function(){return r}});class r{constructor(l){k(this,"apis",new Map);this.factories=l}static validateFactories(l,d){for(const g of d){const s=[g],u=new Set;for(;s.length;){const m=s.shift(),y=l.get(m);if(!!y)for(const h of Object.values(y.deps)){if(h.id===g.id)throw new Error(`Circular dependency of api factory for ${g}`);u.has(h)||(u.add(h),s.push(h))}}}}get(l){return this.load(l)}load(l,d=[]){const g=this.apis.get(l.id);if(g)return g;const s=this.factories.get(l);if(!s)return;if(d.includes(s.api))throw new Error(`Circular dependency of api factory for ${s.api}`);const u=this.loadDeps(l,s.deps,[...d,s.api]),m=s.factory(u);return this.apis.set(l.id,m),m}loadDeps(l,d,g){const s={};for(const u in d)if(d.hasOwnProperty(u)){const m=d[u],y=this.load(m,g);if(!y)throw new Error(`No API factory available for dependency ${m} of dependent ${l}`);s[u]=y}return s}}},76105:function(J,o,e){"use strict";e.d(o,{gs:function(){return r.g},MM:function(){return t.M},pv:function(){return l.p}});var r=e(14406),t=e(12132),l=e(80396),d=e(82488),g=e.n(d);e.o(d,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return d.Auth0Auth}}),e.o(d,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return d.BitbucketAuth}}),e.o(d,"ConfigReader")&&e.d(o,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"GithubAuth")&&e.d(o,{GithubAuth:function(){return d.GithubAuth}}),e.o(d,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return d.GitlabAuth}}),e.o(d,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return d.GoogleAuth}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return d.MicrosoftAuth}}),e.o(d,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuth2")&&e.d(o,{OAuth2:function(){return d.OAuth2}}),e.o(d,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"OktaAuth")&&e.d(o,{OktaAuth:function(){return d.OktaAuth}}),e.o(d,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return d.OneLoginAuth}}),e.o(d,"SamlAuth")&&e.d(o,{SamlAuth:function(){return d.SamlAuth}}),e.o(d,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(o,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(o,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return d.createSpecializedApp}})},82488:function(){},21998:function(J,o,e){"use strict";e.d(o,{b:function(){return Q}});var r=e(2784),t=e(10289),l=e(64279),d=e(56494),g=e(36964),s=e(76105);function u(P){const C={};for(const z in P.collectors)P.collectors.hasOwnProperty(z)&&(C[z]=P.collectors[z]());const B=[{node:r.Children.toArray(P.root),parent:void 0,contexts:{}}];for(;B.length!==0;){const{node:z,parent:_,contexts:ne}=B.shift();r.Children.forEach(z,ge=>{if(!(0,r.isValidElement)(ge))return;const ye={};for(const xe in C)if(C.hasOwnProperty(xe)){const ze=C[xe];ye[xe]=ze.visit(ze.accumulator,ge,_,ne[xe])}for(const xe of P.discoverers){const ze=xe(ge);ze&&B.push({node:ze,parent:ge,contexts:ye})}})}return Object.fromEntries(Object.entries(C).map(([z,_])=>[z,_.accumulator]))}function m(P,C){return()=>({accumulator:P(),visit:C})}function y(P){var C;return(C=P.props)==null?void 0:C.children}function h(P){var C,B,z;if(((C=P.props)==null?void 0:C.path)&&((B=P.props)==null?void 0:B.element))return(z=P.props)==null?void 0:z.element}const E=m(()=>new Set,(P,C)=>{const B=(0,g.getComponentData)(C,"core.plugin");B&&P.add(B)});var i=e(88934);function S(P){var z;const C=(z=P.props)==null?void 0:z.element;let B=(0,g.getComponentData)(P,"core.mountPoint");return!B&&(0,r.isValidElement)(C)&&(B=(0,g.getComponentData)(C,"core.mountPoint")),B}const F=m(()=>new Map,(P,C,B,z)=>{var ge,ye;let _=z;if((B==null?void 0:B.props.element)===C)return _;if((0,g.getComponentData)(C,"core.gatherMountPoints")){const xe=(ge=C.props)==null?void 0:ge.path;if(!xe)throw new Error("Mount point gatherer must have a path");_=xe}const ne=S(C);if(ne){let xe=(ye=C.props)==null?void 0:ye.path;if(_&&(xe?_=void 0:xe=_),!xe)throw new Error("Mounted routable extension must have a path");P.set(ne,xe)}return _}),T=m(()=>new Map,(P,C,B,z)=>{var ge;if((B==null?void 0:B.props.element)===C)return z;let _=z;const ne=S(C);return ne&&(z&&"sticky"in z?(P.set(ne,z.sticky),((ge=C.props)==null?void 0:ge.path)?_=ne:_=z):(P.set(ne,z),_=ne)),(0,g.getComponentData)(C,"core.gatherMountPoints")?{sticky:_}:_}),j={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},x=m(()=>Array(),(P,C,B,z)=>{var ze,Ne,Te;const _=(ze=z==null?void 0:z.children)!=null?ze:P;if((B==null?void 0:B.props.element)===C)return z;const ne=(Ne=C.props)==null?void 0:Ne.path,ge=Boolean((Te=C.props)==null?void 0:Te.caseSensitive),ye=S(C);if(ye){if(ne){const be={caseSensitive:ge,path:ne,element:"mounted",routeRefs:new Set([ye]),children:[j],plugin:(0,g.getComponentData)(C.props.element,"core.plugin")};return _.push(be),be}z==null||z.routeRefs.add(ye)}if((0,g.getComponentData)(C,"core.gatherMountPoints")){if(!ne)throw new Error("Mount point gatherer must have a path");const be={caseSensitive:ge,path:ne,element:"gathered",routeRefs:new Set,children:[j],plugin:z==null?void 0:z.plugin};return _.push(be),be}return z}),b=m(()=>new Set,(P,C)=>{if(C.type===i.L){const B=C.props;P.add("with"in B?B.with:B.without)}});var N=e(76241);const O=(0,N.uW)("route-ref-type",()=>Symbol("route-ref-type"));function Y(P){return P[O]==="absolute"}function V(P){return P[O]==="sub"}function ue(P){return P[O]==="external"}function Se(...P){const C=P.join("/").replace(/\/\/+/g,"/");return C!=="/"&&C.endsWith("/")?C.slice(0,-1):C}function je(P,C,B){let z,_="";if(Y(P))z=P;else if(V(P))z=P.parent,_=P.path;else if(ue(P)){const ye=B.get(P);if(!ye)return[void 0,""];if(Y(ye))z=ye;else if(V(ye))z=ye.parent,_=ye.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${ye}`)}else throw P[O]?new Error(`Unknown or invalid route ref type, ${P[O]}`):new Error(`Unknown object passed to useRouteRef, got ${P}`);if(!z)return[void 0,""];const ne=C.get(z);if(!ne)return[void 0,""];const ge=Se(ne,_);return[z,ge]}function me(P,C,B,z,_){var Ne;const ne=(Ne=(0,t.fp)(_,C))!=null?Ne:[],ge=Array();let ye=-1;for(let Te=P;Te&&(ye=ne.findIndex(be=>be.route.routeRefs.has(Te)),ye===-1);Te=z.get(Te))ge.unshift(Te);ge.length===0&&(ye-=1);const xe=ye===-1?"":ne[ye].pathname,ze=Se(...ge.slice(0,-1).map(Te=>{const be=B.get(Te);if(!be)throw new Error(`No path for ${Te}`);if(be.includes(":"))throw new Error(`Cannot route to ${P} with parent ${Te} as it has parameters`);return be}));return xe+ze}class Ge{constructor(C,B,z,_,ne){this.routePaths=C,this.routeParents=B,this.routeObjects=z,this.routeBindings=_,this.appBasePath=ne}resolve(C,B){const[z,_]=je(C,this.routePaths,this.routeBindings);if(!z)return;let ne;typeof B=="string"?ne=this.trimPath(B):B.pathname?ne={...B,pathname:this.trimPath(B.pathname)}:ne=B;const ge=this.appBasePath+me(z,ne,this.routePaths,this.routeParents,this.routeObjects);return(...[xe])=>ge+(0,t.Gn)(_,xe)}trimPath(C){return C&&(C.startsWith(this.appBasePath)?C.slice(this.appBasePath.length):C)}}const Oe=(0,N.CT)("routing-context"),Je=({routePaths:P,routeParents:C,routeObjects:B,routeBindings:z,basePath:_="",children:ne})=>{const ge=new Ge(P,C,B,z,_),ye=(0,N.EI)({1:ge});return r.createElement(Oe.Provider,{value:ye},ne)},rt=(P,C)=>{var B,z;try{const _=(0,t.fp)(C,{pathname:P}),ne=(B=_==null?void 0:_.filter(ye=>{var xe;return((xe=ye==null?void 0:ye.route.routeRefs)==null?void 0:xe.size)>0}).pop())==null?void 0:B.route;if(!ne)return{};let ge;return ne.routeRefs.size===1&&(ge=ne.routeRefs.values().next().value),{extension:"App",pluginId:((z=ne.plugin)==null?void 0:z.getId())||"root",...ge?{routeRef:ge.id}:{}}}catch{return{}}},Xe=({pathname:P,search:C,hash:B})=>{const z=(0,g.useAnalytics)();return(0,r.useEffect)(()=>{z.captureEvent("navigate",`${P}${C}${B}`)},[z,P,C,B]),null},mt=({tree:P})=>{const{pathname:C,search:B,hash:z}=(0,t.TH)(),{routeObjects:_}=(0,r.useMemo)(()=>u({root:P,discoverers:[y,h],collectors:{routeObjects:x}}),[P]);return r.createElement(g.AnalyticsContext,{attributes:rt(C,_)},r.createElement(Xe,{pathname:C,search:B,hash:z}))};function dt(P,C){const B=new Set(C.values());B.delete(void 0);for(const z of C.keys()){if(B.has(z))continue;let _=z,ne="";for(;_;){const ye=P.get(_);if(!ye)throw new Error(`No path for ${_}`);ne=`${ye}${ne}`,_=C.get(_)}const ge=ne.match(/:(\w+)/g);if(ge){for(let ye=0;ye<ge.length;ye++)for(let xe=ye+1;xe<ge.length;xe++)if(ge[xe]===ge[ye])throw new Error(`Parameter ${ge[xe]} is duplicated in path ${ne}`)}}}const lt=(0,N.CT)("app-context"),vt=({appContext:P,children:C})=>{const B=(0,N.EI)({1:P});return r.createElement(lt.Provider,{value:B,children:C})};function Tt(P){return new Error(`Tried to access IdentityApi ${P} before app was loaded`)}function Pt(P){console.warn(`WARNING: Call to ${P} is deprecated and will break in the future`)}class Rt{constructor(){k(this,"target")}setTarget(C){this.target=C}getUserId(){if(!this.target)throw Tt("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return Pt("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw Tt("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return Pt("getProfile"),this.target.getProfile()}async getProfileInfo(){if(!this.target)throw Tt("getProfileInfo");return this.target.getProfileInfo()}async getBackstageIdentity(){if(!this.target)throw Tt("getBackstageIdentity");const C=await this.target.getBackstageIdentity();return C.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${C.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),C}async getCredentials(){if(!this.target)throw Tt("getCredentials");return this.target.getCredentials()}async getIdToken(){if(!this.target)throw Tt("getIdToken");if(!this.target.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return Pt("getIdToken"),this.target.getIdToken()}async signOut(){if(!this.target)throw Tt("signOut");await this.target.signOut(),location.reload()}}var pt=e(72164);function Nt(P,C,B){if(P!==void 0){const _=B.find(ne=>ne.id===P);if(_)return _}if(C){const _=B.find(ne=>ne.variant==="dark");if(_)return _}const z=B.find(_=>_.variant==="light");return z||B[0]}const Ut=()=>{const P=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[C,B]=(0,r.useState)(P.matches);return(0,r.useEffect)(()=>{const z=_=>{B(_.matches)};return P.addListener(z),()=>{P.removeListener(z)}},[P]),C};function Ot({children:P}){const C=(0,g.useApi)(g.appThemeApiRef),B=(0,pt.Z)(C.activeThemeId$(),C.getActiveThemeId()),z=Boolean(window.matchMedia)?Ut():!1,_=Nt(B,z,C.getInstalledThemes());if(!_)throw new Error("App has no themes");return r.createElement(_.Provider,{children:P})}const bt=async(P="__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",requestUrl:"http://localhost:3000/api"}}}];if(!C)throw new Error("No static configuration provided");if(!Array.isArray(C))throw new Error("Static configuration has invalid format");const B=C.slice();if(P!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const _=JSON.parse(P);Array.isArray(_)?B.push(..._):B.push({data:_,context:"env"})}catch(_){throw new Error(`Failed to load runtime configuration, ${_}`)}const z=window.__APP_CONFIG__;return z&&B.push({context:"window",data:z}),B};class ht{constructor(){k(this,"apis",[])}add(C,B){return this.apis.push([C.id,B]),B}build(){return new At(new Map(this.apis))}}class At{static builder(){return new ht}static from(C){return new At(new Map(C.map(([B,z])=>[B.id,z])))}static with(C,B){return new At(new Map([[C.id,B]]))}constructor(C){this.apis=C}with(C,B){return new At(new Map([...this.apis,[C.id,B]]))}get(C){return this.apis.get(C.id)}}function $t(P){const C=new Map;return P&&P({bind:(z,_)=>{for(const[ne,ge]of Object.entries(_)){const ye=z[ne];if(!ye)throw new Error(`Key ${ne} is not an existing external route`);if(!ge&&!ye.optional)throw new Error(`External route ${ne} is required but was undefined`);ge&&C.set(ye,ge)}}}),C}function De(P){var B;let{pathname:C}=new URL((B=P.getOptionalString("app.baseUrl"))!=null?B:"/","http://dummy.dev");return C=C.replace(/\/*$/,""),C}function st(P,C,B){var xe;const z=Boolean(P),_=(0,l.default)(P||(()=>Promise.resolve([])));let ne;if(z&&_.loading){const{Progress:ze}=C;ne=r.createElement(ze,null)}else if(_.error){const{BootErrorPage:ze}=C;ne=r.createElement(ze,{step:"load-config",error:_.error})}const{ThemeProvider:ge=Ot}=C;return ne?{node:r.createElement(d.ApiProvider,{apis:At.with(g.appThemeApiRef,B)},r.createElement(ge,null,ne))}:{api:d.ConfigReader.fromConfigs((xe=_.value)!=null?xe:[])}}class it{constructor(C){this.app=C}getPlugins(){return this.app.getPlugins()}getSystemIcon(C){return this.app.getSystemIcon(C)}getComponents(){return this.app.getComponents()}}class le{constructor(C){k(this,"apiHolder");k(this,"configApi");k(this,"apis");k(this,"icons");k(this,"plugins");k(this,"components");k(this,"themes");k(this,"configLoader");k(this,"defaultApis");k(this,"bindRoutes");k(this,"appIdentityProxy",new Rt);k(this,"apiFactoryRegistry");var B,z,_,ne;this.apis=(B=C.apis)!=null?B:[],this.icons=C.icons,this.plugins=new Set((z=C.plugins)!=null?z:[]),this.components=C.components,this.themes=C.themes,this.configLoader=(_=C.configLoader)!=null?_:bt,this.defaultApis=(ne=C.defaultApis)!=null?ne:[],this.bindRoutes=C.bindRoutes,this.apiFactoryRegistry=new s.pv}getPlugins(){return Array.from(this.plugins)}getSystemIcon(C){return this.icons[C]}getComponents(){return this.components}getProvider(){const C=new it(this);return({children:z})=>{const _=(0,r.useMemo)(()=>d.AppThemeSelector.createWithStorage(this.themes),[]),{routePaths:ne,routeParents:ge,routeObjects:ye,featureFlags:xe}=(0,r.useMemo)(()=>{const be=u({root:z,discoverers:[y,h],collectors:{routePaths:F,routeParents:T,routeObjects:x,collectedPlugins:E,featureFlags:b}});return dt(be.routePaths,be.routeParents),be.collectedPlugins.forEach(de=>this.plugins.add(de)),this.verifyPlugins(this.plugins),this.getApiHolder(),be},[z]),ze=st(this.configLoader,this.components,_),Ne="api"in ze;if(Ne){const{api:be}=ze;this.configApi=be}if((0,r.useEffect)(()=>{if(Ne){const be=this.getApiHolder().get(g.featureFlagsApiRef);for(const de of this.plugins.values())if("getFeatureFlags"in de)for(const Ae of de.getFeatureFlags())be.registerFlag({name:Ae.name,pluginId:de.getId()});else for(const Ae of de.output())Ae.type==="feature-flag"&&be.registerFlag({name:Ae.name,pluginId:de.getId()});for(const de of xe)be.registerFlag({name:de,pluginId:""})}},[Ne,ze,xe]),"node"in ze)return ze.node;const{ThemeProvider:Te=Ot}=this.components;return r.createElement(d.ApiProvider,{apis:this.getApiHolder()},r.createElement(vt,{appContext:C},r.createElement(Te,null,r.createElement(Je,{routePaths:ne,routeParents:ge,routeObjects:ye,routeBindings:$t(this.bindRoutes),basePath:De(ze.api)},z))))}}getRouter(){const{Router:C,SignInPage:B}=this.components,z=({component:ne,children:ge})=>{const[ye,xe]=(0,r.useState)();return ye?(this.appIdentityProxy.setTarget(ye),ge):r.createElement(ne,{onSignInSuccess:xe})};return({children:ne})=>{const ge=(0,g.useApi)(g.configApiRef),ye=`${De(ge)}/*`;return B?r.createElement(C,null,r.createElement(mt,{tree:ne}),r.createElement(z,{component:B},r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,ne)})))):(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(C,null,r.createElement(mt,{tree:ne}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,ne)}))))}}getApiHolder(){if(this.apiHolder){for(const C of this.plugins)for(const B of C.getApis())this.apiFactoryRegistry.get(B.api)||this.apiFactoryRegistry.register("default",B);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:g.appThemeApiRef,deps:{},factory:()=>d.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:g.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:g.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:g.featureFlagsApiRef,deps:{},factory:()=>new d.LocalStorageFeatureFlags});for(const C of this.defaultApis)this.apiFactoryRegistry.register("default",C);for(const C of this.plugins)for(const B of C.getApis())if(!this.apiFactoryRegistry.register("default",B))throw new Error(`Plugin ${C.getId()} tried to register duplicate or forbidden API factory for ${B.api}`);for(const C of this.apis)if(!this.apiFactoryRegistry.register("app",C))throw new Error(`Duplicate or forbidden API factory for ${C.api} in app`);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new s.MM(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(C){const B=new Set;for(const z of C){const _=z.getId();if(B.has(_))throw new Error(`Duplicate plugin found '${_}'`);B.add(_)}}}function Q(P){return new le(P)}},44056:function(J,o,e){"use strict";e.d(o,{b:function(){return r.b}});var r=e(21998),t=e(73495),l=e.n(t);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}})},73495:function(){},49208:function(J,o,e){"use strict";e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi},OAuthRequestManager:function(){return r.OAuthRequestManager},UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return r.UrlPatternDiscovery},WebStorage:function(){return r.WebStorage},createFetchApi:function(){return r.createFetchApi},createSpecializedApp:function(){return t.b},FlatRoutes:function(){return l.w}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}});var l=e(63938)},96176:function(J,o,e){"use strict";e.d(o,{y:function(){return l}});var r=e(17678);function t(d){return[...d].join(" ")}class l{constructor(g){k(this,"discoveryApi");k(this,"environment");k(this,"provider");k(this,"joinScopesFunc");k(this,"authRequester");k(this,"sessionTransform");const{discoveryApi:s,environment:u,provider:m,joinScopes:y=t,oauthRequestApi:h,sessionTransform:E=i=>i}=g;this.authRequester=h.createAuthRequester({provider:m,onAuthRequest:i=>this.showPopup(i)}),this.discoveryApi=s,this.environment=u,this.provider=m,this.joinScopesFunc=y,this.sessionTransform=E}async createSession(g){return g.instantPopup?this.showPopup(g.scopes):this.authRequester(g.scopes)}async refreshSession(){const g=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(u=>{throw new Error(`Auth refresh request failed, ${u}`)});if(!g.ok){const u=new Error(`Auth refresh request failed, ${g.statusText}`);throw u.status=g.status,u}const s=await g.json();if(s.error){const u=new Error(s.error.message);throw s.error.name&&(u.name=s.error.name),u}return await this.sessionTransform(s)}async removeSession(){const g=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(s=>{throw new Error(`Logout request failed, ${s}`)});if(!g.ok){const s=new Error(`Logout request failed, ${g.statusText}`);throw s.status=g.status,s}}async showPopup(g){const s=this.joinScopesFunc(g),u=await this.buildUrl("/start",{scope:s,origin:location.origin}),m=await(0,r.d)({url:u,name:`${this.provider.title} Login`,origin:new URL(u).origin,width:450,height:730});return await this.sessionTransform(m)}async buildUrl(g,s){const u=await this.discoveryApi.getBaseUrl("auth"),m=this.buildQueryString({...s,env:this.environment});return`${u}/${this.provider.id}${g}${m}`}buildQueryString(g){if(!g)return"";const s=Object.entries(g).map(([u,m])=>{if(typeof m=="string")return`${encodeURIComponent(u)}=${encodeURIComponent(m)}`;if(m)return encodeURIComponent(u)}).filter(Boolean).join("&");return s?`?${s}`:""}}},91405:function(J,o,e){"use strict";e.d(o,{l:function(){return l}});var r=e(98005),t=e(36964);class l{constructor(){k(this,"subject",new r.X(t.SessionState.SignedOut));k(this,"signedIn",!1)}setIsSignedIn(g){this.signedIn!==g&&(this.signedIn=g,this.subject.next(this.signedIn?t.SessionState.SignedIn:t.SessionState.SignedOut))}sessionState$(){return this.subject}}},54842:function(J,o,e){"use strict";e.d(o,{Hc:function(){return s},q2:function(){return d},k1:function(){return g}});function r(u,m){for(const y of m)if(!u.has(y))return!1;return!0}class t{constructor(m){this.options=m}sessionExistsAndHasScope(m,y){if(!m)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const h=this.options.sessionScopes(m);return r(h,y)}getExtendedScope(m,y){const h=new Set(this.options.defaultScopes);if(m&&this.options.sessionScopes!==void 0){const E=this.options.sessionScopes(m);for(const i of E)h.add(i)}if(y)for(const E of y)h.add(E);return h}}var l=e(91405);class d{constructor(m){k(this,"connector");k(this,"helper");k(this,"sessionScopesFunc");k(this,"sessionShouldRefreshFunc");k(this,"stateTracker",new l.l);k(this,"refreshPromise");k(this,"currentSession");const{connector:y,defaultScopes:h=new Set,sessionScopes:E,sessionShouldRefresh:i}=m;this.connector=y,this.sessionScopesFunc=E,this.sessionShouldRefreshFunc=i,this.helper=new t({sessionScopes:E,defaultScopes:h})}async getSession(m){if(this.helper.sessionExistsAndHasScope(this.currentSession,m.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const h=await this.collapsedSessionRefresh(),E=this.sessionScopesFunc(this.currentSession),i=this.sessionScopesFunc(h);return r(i,E)&&(this.currentSession=h),h}catch(h){if(m.optional)return;throw h}}if(!this.currentSession&&!m.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(m)}catch{}if(!m.optional)return this.currentSession=await this.connector.createSession({...m,scopes:this.helper.getExtendedScope(this.currentSession,m.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 m=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),m}finally{delete this.refreshPromise}}}class g{constructor(m){k(this,"connector");k(this,"helper");k(this,"stateTracker",new l.l);k(this,"currentSession");const{connector:y,defaultScopes:h=new Set,sessionScopes:E}=m;this.connector=y,this.helper=new t({sessionScopes:E,defaultScopes:h})}setSession(m){this.currentSession=m,this.stateTracker.setIsSignedIn(Boolean(m))}async getSession(m){if(this.helper.sessionExistsAndHasScope(this.currentSession,m.scopes))return this.currentSession;if(!m.optional)return this.currentSession=await this.connector.createSession({...m,scopes:this.helper.getExtendedScope(this.currentSession,m.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}class s{constructor(m){k(this,"manager");k(this,"storageKey");k(this,"schema");k(this,"sessionShouldRefreshFunc");k(this,"helper");const{manager:y,storageKey:h,schema:E,sessionScopes:i,sessionShouldRefresh:S=()=>!1}=m;this.manager=y,this.storageKey=h,this.schema=E,this.sessionShouldRefreshFunc=S,this.helper=new t({sessionScopes:i,defaultScopes:new Set})}setSession(m){this.manager.setSession(m),this.saveSession(m)}async getSession(m){const{scopes:y}=m,h=this.loadSession();if(this.helper.sessionExistsAndHasScope(h,y)&&!this.sessionShouldRefreshFunc(h))return this.manager.setSession(h),h;const E=await this.manager.getSession(m);return this.saveSession(E),E}async removeSession(){localStorage.removeItem(this.storageKey),await this.manager.removeSession()}sessionState$(){return this.manager.sessionState$()}loadSession(){try{const m=localStorage.getItem(this.storageKey);if(m){const y=JSON.parse(m,(h,E)=>(E==null?void 0:E.__type)==="Set"?new Set(E.__value):E);try{return this.schema.parse(y)}catch(h){throw console.log(`Failed to load session from local storage because it did not conform to the expected schema, ${h}`),h}}return}catch{localStorage.removeItem(this.storageKey);return}}saveSession(m){if(m===void 0){localStorage.removeItem(this.storageKey);return}try{this.schema.parse(m)}catch(y){console.warn(`Failed to save session to local storage because it did not conform to the expected schema, ${y}`);return}localStorage.setItem(this.storageKey,JSON.stringify(m,(y,h)=>h instanceof Set?{__type:"Set",__value:Array.from(h)}:h))}}},17678:function(J,o,e){"use strict";e.d(o,{d:function(){return r}});function r(t){return new Promise((l,d)=>{const g=t.width||500,s=t.height||700,u=window.screen.width/2-g/2,m=window.screen.height/2-s/2,y=window.open(t.url,t.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${g},height=${s},top=${m},left=${u}`);let h="";if(!y||typeof y.closed=="undefined"||y.closed){const F=new Error("Failed to open auth popup.");F.name="PopupRejectedError",d(F);return}const E=F=>{if(F.source!==y||F.origin!==t.origin)return;const{data:T}=F;if(T.type==="config_info"){h=T.targetOrigin;return}if(T.type!=="authorization_response")return;const j=T;if("error"in j){const x=new Error(j.error.message);x.name=j.error.name,d(x)}else l(j.response);S()},i=setInterval(()=>{if(y.closed){const F=`Login failed, ${h&&h!==window.location.origin?`Incorrect app origin, expected ${h}`:"popup was closed"}`,T=new Error(F);T.name="PopupClosedError",d(T),S()}},100);function S(){window.removeEventListener("message",E),clearInterval(i)}window.addEventListener("message",E)})}},98005:function(J,o,e){"use strict";e.d(o,{J:function(){return l},X:function(){return d}});var r=e(82394),t=e.n(r);class l{constructor(){k(this,"isClosed",!1);k(this,"terminatingError");k(this,"observable",new(t())(s=>this.isClosed?(this.terminatingError?s.error(this.terminatingError):s.complete(),()=>{}):(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));k(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(u=>u.next(s))}error(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(u=>u.error(s))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,u,m){const y=typeof s=="function"?{next:s,error:u,complete:m}:s;return this.observable.subscribe(y)}}class d{constructor(s){k(this,"isClosed");k(this,"currentValue");k(this,"terminatingError");k(this,"observable");k(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=s,this.terminatingError=void 0,this.observable=new(t())(u=>this.isClosed?(this.terminatingError?u.error(this.terminatingError):u.complete(),()=>{}):(u.next(this.currentValue),this.subscribers.add(u),()=>{this.subscribers.delete(u)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=s,this.subscribers.forEach(u=>u.next(s))}error(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(u=>u.error(s))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,u,m){const y=typeof s=="function"?{next:s,error:u,complete:m}:s;return this.observable.subscribe(y)}}},88934:function(J,o,e){"use strict";e.d(o,{L:function(){return l}});var r=e(36964),t=e(2784);const l=d=>{const{children:g}=d,s=(0,r.useApi)(r.featureFlagsApiRef),u="with"in d?s.isActive(d.with):!s.isActive(d.without);return t.createElement(t.Fragment,null,u?g:null)};(0,r.attachComponentData)(l,"core.featureFlagged",!0)},63938:function(J,o,e){"use strict";e.d(o,{w:function(){return d}});var r=e(2784),t=e(10289),l=e(36964);const d=s=>{const u=(0,l.useApp)(),{NotFoundErrorPage:m}=u.getComponents(),y=(0,l.useElementFilter)(s.children,h=>h.getElements().flatMap(E=>{var S;let i=E.props.path;return i===""?[]:(i=(S=i==null?void 0:i.replace(/\/\*$/,""))!=null?S:"/",[{path:i,element:E,children:E.props.children?[{path:i==="/"?"/":"/*",element:E.props.children}]:void 0}])}).sort((E,i)=>i.path.localeCompare(E.path)).map(E=>(E.path=E.path==="/"?"/":`${E.path}/*`,E)));return y.push({element:r.createElement(m,null),path:"/*"}),(0,t.V$)(y)};var g=e(88934)},9118:function(J,o,e){"use strict";e.d(o,{Button:function(){return x},CodeSnippet:function(){return Ge},Content:function(){return Na},ContentHeader:function(){return ys},CreateButton:function(){return rt},DependencyGraph:function(){return Te},DependencyGraphTypes:function(){return r},EmptyState:function(){return D},ErrorPage:function(){return Ss},ErrorPanel:function(){return Zt},Header:function(){return Va},HeaderIconLinkRow:function(){return Xn},HeaderLabel:function(){return Fs},HeaderTabs:function(){return Ua},InfoCard:function(){return Ct},ItemCardGrid:function(){return ws},ItemCardHeader:function(){return Us},Link:function(){return T},LogViewer:function(){return Ir},MissingAnnotationEmptyState:function(){return Ce},OverflowTooltip:function(){return gr},Page:function(){return Ka},PageWithHeader:function(){return Hs},Progress:function(){return kr},ResponseErrorPanel:function(){return Kt},RoutedTabs:function(){return $a},Select:function(){return Mr},Sidebar:function(){return oi},SidebarContext:function(){return pr},SidebarDivider:function(){return Ei},SidebarItem:function(){return ao},SidebarPage:function(){return Gs},SidebarPinStateContext:function(){return yr},SubvalueCell:function(){return Wo},SupportButton:function(){return Bo},Table:function(){return ls},WarningPanel:function(){return On},sidebarConfig:function(){return Jt},useQueryParamState:function(){return Io}});var r={};e.r(r),e.d(r,{Nm:function(){return Xe},ht:function(){return lt},LJ:function(){return dt}});var t=e(2784),l=e(36964),d=e(19928);function g(n){const[a,c]=useState([]),f=useApi(alertApiRef);if(useEffect(()=>{const I=f.alert$().subscribe(U=>c(G=>G.concat(U)));return()=>{I.unsubscribe()}},[f]),a.length===0)return null;const[p]=a,R=()=>{c(I=>I.filter(U=>U!==p))};return React.createElement(Snackbar,{open:!0,anchorOrigin:{vertical:"top",horizontal:"center"}},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:R,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:p.severity},React.createElement("span",null,p.message.toString(),a.length>1&&React.createElement("em",null,` (${a.length-1} older ${pluralize("message",a.length-1)})`))))}var s=e(79692),u=e(12420);const m=(0,s.Z)(n=>(0,u.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function y(n){const{displayName:a,picture:c,customStyles:f}=n,p=m();return React.createElement(MaterialAvatar,{alt:a,src:c,className:p.avatar,style:{backgroundColor:stringToColor(a||c||""),...f}},a&&extractInitials(a))}var h=e(77277),E=e(86689),i=e(62833);const S=n=>/^([a-z+.-]+):/.test(n),F=n=>{var a;return n instanceof Array?n.map(F).join(" ").trim():typeof n=="object"&&n?F((a=n==null?void 0:n.props)==null?void 0:a.children):["string","number"].includes(typeof n)?String(n):""},T=t.forwardRef(({onClick:n,...a},c)=>{const f=(0,l.useAnalytics)(),p=String(a.to),R=F(a.children)||p,I=S(p),U=I&&!!/^https?:/.exec(p),G=Z=>{n==null||n(Z),f.captureEvent("click",R,{attributes:{to:p}})};return I?t.createElement(E.Z,{ref:c,href:p,onClick:G,...U?{target:"_blank",rel:"noopener"}:{},...a}):t.createElement(E.Z,{ref:c,component:i.rU,onClick:G,...a})}),j=t.forwardRef((n,a)=>t.createElement(T,{ref:a,...n,color:"initial"})),x=t.forwardRef((n,a)=>t.createElement(h.Z,{ref:a,component:j,...n}));var b=e(60364),N=e(61837),O=e(80030),Y=e(19353),V=e(95074);function ue(n){const{text:a,tooltipDelay:c=1e3,tooltipText:f="Text copied to clipboard"}=n,p=(0,l.useApi)(l.errorApiRef),[R,I]=(0,t.useState)(!1),[{error:U},G]=(0,V.Z)();(0,t.useEffect)(()=>{U&&p.post(U)},[U,p]);const Z=ae=>{ae.stopPropagation(),I(!0),G(a)};return t.createElement(t.Fragment,null,t.createElement(O.ZP,{id:"copy-test-tooltip",title:f,placement:"top",leaveDelay:c,onClose:()=>I(!1),open:R},t.createElement(N.Z,{onClick:Z},t.createElement(Y.Z,null))))}var Se=e(96259),je=e(397),me=e(74943);function Ge(n){const{text:a,language:c,showLineNumbers:f=!1,highlightedNumbers:p,customStyle:R,showCopyCodeButton:I=!1}=n,U=(0,b.Z)(),G=U.palette.type==="dark"?je.Z:me.Z,Z=U.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(Se.Z,{customStyle:R,language:c,style:G,showLineNumbers:f,wrapLines:!0,lineNumberStyle:{color:U.palette.textVerySubtle},lineProps:ae=>(p==null?void 0:p.includes(ae))?{style:{backgroundColor:Z}}:{}},a),I&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(ue,{text:a})))}var Oe=e(41156),Je=e(88188);function rt(n){const{title:a,to:c}=n,f=(0,Oe.Z)(p=>p.breakpoints.down("xs"));return c?f?t.createElement(N.Z,{component:i.rU,color:"primary",title:a,size:"small",to:c},t.createElement(Je.Z,null)):t.createElement(h.Z,{component:i.rU,variant:"contained",color:"primary",to:c},a):null}var Xe;(function(n){const a="TB";n.TOP_BOTTOM=a;const c="BT";n.BOTTOM_TOP=c;const f="LR";n.LEFT_RIGHT=f;const p="RL";n.RIGHT_LEFT=p})(Xe||(Xe={}));var mt;(function(n){const a="UL";n.UP_LEFT=a;const c="UR";n.UP_RIGHT=c;const f="DL";n.DOWN_LEFT=f;const p="DR";n.DOWN_RIGHT=p})(mt||(mt={}));var dt;(function(n){const a="network-simplex";n.NETWORK_SIMPLEX=a;const c="tight-tree";n.TIGHT_TREE=c;const f="longest-path";n.LONGEST_PATH=f})(dt||(dt={}));var lt;(function(n){const a="l";n.LEFT=a;const c="r";n.RIGHT=c;const f="c";n.CENTER=f})(lt||(lt={}));var vt=e(13387),Tt=e(11105),Pt=e(97963),Rt=e(46506),pt=e.n(Rt),Nt=e(54073),Ut=e.n(Nt),Ot=e(10368);const bt=(0,s.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function ht({node:{id:n}}){const a=bt(),[c,f]=t.useState(0),[p,R]=t.useState(0),I=t.useRef(null);t.useLayoutEffect(()=>{if(I.current){let{height:ae,width:ce}=I.current.getBBox();ae=Math.round(ae),ce=Math.round(ce),(ae!==p||ce!==c)&&(f(ce),R(ae))}},[c,p]);const U=10,G=c+U*2,Z=p+U*2;return t.createElement("g",null,t.createElement("rect",{className:a.node,width:G,height:Z,rx:10}),t.createElement("text",{ref:I,className:a.text,y:Z/2,x:G/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const At="arrow-marker",$t="node",De="edge",st="label",it=(0,Ot.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),le=n=>t.createElement(ht,{...n});function Q({render:n=le,setNode:a,node:c}){const{width:f,height:p,x:R=0,y:I=0}=c,U=c,G=it(),Z=t.useRef(null);return t.useLayoutEffect(()=>{if(Z.current){let{height:ae,width:ce}=Z.current.getBBox();ae=Math.round(ae),ce=Math.round(ce),(ae!==p||ce!==f)&&a(c.id,{...c,height:ae,width:ce})}},[c,f,p,a]),t.createElement("g",{ref:Z,"data-testid":$t,className:G.node,transform:`translate(${R-f/2},${I-p/2})`},n({node:U}))}var P=e(55876),C=e(66481),B=e(19574),z=e.n(B);const _=(0,Ot.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function ne({edge:{label:n}}){const a=_();return t.createElement("text",{className:a.text,textAnchor:"middle"},n)}const ge=(0,Ot.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"}),ye=n=>t.createElement(ne,{...n}),xe=P.Z().x(n=>n.x).y(n=>n.y).curve(C.Z);function ze({render:n=ye,setEdge:a,id:c,edge:f}){const{x:p=0,y:R=0,width:I,height:U,points:G}=f,Z=f,ae=ge(),ce=t.useRef(null);t.useLayoutEffect(()=>{if(ce.current){let{height:Re,width:Ie}=ce.current.getBBox();Re=Math.round(Re),Ie=Math.round(Ie),(Re!==U||Ie!==I)&&a(c,{...f,height:Re,width:Ie})}},[f,U,I,a,c]);let ve="";if(G){const Re=G.filter(Ie=>z()(Ie.x)&&z()(Ie.y));ve=xe(Re)||""}return t.createElement(t.Fragment,null,ve&&t.createElement("path",{"data-testid":De,className:ae.path,markerEnd:`url(#${At})`,d:ve}),Z.label?t.createElement("g",{ref:ce,"data-testid":st,className:ae.label,transform:`translate(${p},${R})`},n({edge:Z})):null)}const Ne="workspace";function Te(n){var rr,fo;const{edges:a,nodes:c,renderNode:f,direction:p=Xe.TOP_BOTTOM,align:R,nodeMargin:I=50,edgeMargin:U=10,rankMargin:G=50,paddingX:Z=0,paddingY:ae=0,acyclicer:ce,ranker:ve=dt.NETWORK_SIMPLEX,labelPosition:Re=lt.RIGHT,labelOffset:Ie=10,edgeRanks:gt=1,edgeWeight:Gt=1,renderLabel:cn,defs:en,zoom:_e="enabled",...Wt}=n,Dt=(0,Pt.Z)(),[rn,Vn]=t.useState(100),[mn,jr]=t.useState(100),Ft=t.useRef(new(pt()).graphlib.Graph),[zn,Aa]=t.useState(((rr=Ft.current.graph())==null?void 0:rr.width)||0),[Gn,va]=t.useState(((fo=Ft.current.graph())==null?void 0:fo.height)||0),[Vr,Gr]=t.useState([]),[Ra,tn]=t.useState([]),hn=Math.max(zn,rn),Rn=Math.max(Gn,mn),Kn=t.useMemo(()=>Ut()(jt=>{if(!jt)return;const nn=Tt.Z(jt),Ht=Tt.Z(jt.getElementById(Ne));function Tn(){nn.call(vt.sP().scaleExtent([1,10]).on("zoom",bn=>{bn.transform.x=Math.min(0,Math.max(bn.transform.x,hn-hn*bn.transform.k)),bn.transform.y=Math.min(0,Math.max(bn.transform.y,Rn-Rn*bn.transform.k)),Ht.attr("transform",bn.transform)}))}_e==="enabled"?Tn():_e==="enable-on-click"&&nn.on("click",()=>Tn());const{width:Pn,height:Kr}=jt.getBoundingClientRect();rn!==Pn&&Vn(Pn),mn!==Kr&&jr(Kr)},100),[mn,rn,hn,Rn,_e]),Yt=t.useCallback(()=>{const jt=Ft.current.nodes(),nn=Ft.current.edges();jt.forEach(Ht=>{c.some(Pn=>Pn.id===Ht)||Ft.current.removeNode(Ht)}),nn.forEach(Ht=>{a.some(Pn=>Pn.from===Ht.v&&Pn.to===Ht.w)||Ft.current.removeEdge(Ht.v,Ht.w)}),c.forEach(Ht=>{const Tn=Ft.current.nodes().find(Pn=>Ht.id===Pn);if(Tn&&Ft.current.node(Tn)){const{width:Pn,height:Kr,x:bn,y:wi}=Ft.current.node(Tn);Ft.current.setNode(Tn,{...Ht,width:Pn,height:Kr,x:bn,y:wi})}else Ft.current.setNode(Ht.id,{...Ht,width:0,height:0})}),a.forEach(Ht=>{Ft.current.setEdge(Ht.from,Ht.to,{...Ht,label:Ht.label,width:0,height:0,labelpos:Re,labeloffset:Ie,weight:Gt,minlen:gt})})},[a,c,Re,Ie,Gt,gt]),Qt=t.useMemo(()=>Ut()(()=>{pt().layout(Ft.current);const{height:jt,width:nn}=Ft.current.graph(),Ht=Math.max(0,jt||0),Tn=Math.max(0,nn||0);Aa(Tn),va(Ht),Gr(Ft.current.nodes()),tn(Ft.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(Ft.current.setGraph({rankdir:p,align:R,nodesep:I,edgesep:U,ranksep:G,marginx:Z,marginy:ae,acyclicer:ce,ranker:ve}),Yt(),Qt(),Qt.cancel),[ce,R,p,U,Z,ae,I,G,ve,Yt,Qt]);function nr(jt,nn){return Ft.current.setNode(jt,nn),Qt(),Ft.current}function Jn(jt,nn){return Ft.current.setEdge(jt,nn),Qt(),Ft.current}return t.createElement("svg",{ref:Kn,...Wt,width:"100%",height:Rn,viewBox:`0 0 ${hn} ${Rn}`},t.createElement("defs",null,t.createElement("marker",{id:At,viewBox:"0 0 24 24",markerWidth:"14",markerHeight:"14",refX:"16",refY:"12",orient:"auto",markerUnits:"strokeWidth"},t.createElement("path",{fill:Dt.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),en),t.createElement("g",{id:Ne},t.createElement("svg",{width:zn,height:Gn,y:Rn/2-Gn/2,x:hn/2-zn/2,viewBox:`0 0 ${zn} ${Gn}`},Ra.map(jt=>{const nn=Ft.current.edge(jt);return nn?t.createElement(ze,{key:`${jt.v}-${jt.w}`,id:jt,setEdge:Jn,render:cn,edge:nn}):null}),Vr.map(jt=>{const nn=Ft.current.node(jt);return nn?t.createElement(Q,{key:jt,setNode:nr,render:f,node:nn}):null}))))}var be=e(72779),de=e.n(be);const Ae=(0,s.Z)(n=>{var a;return{root:{padding:n.spacing(0),marginBottom:n.spacing(0),marginTop:n.spacing(0),display:"flex",flexFlow:"row nowrap"},topPosition:{position:"relative",marginBottom:n.spacing(6),marginTop:-n.spacing(3),zIndex:"unset"},icon:{fontSize:20},content:{width:"100%",maxWidth:"inherit",flexWrap:"nowrap"},message:{display:"flex",alignItems:"center",color:n.palette.banner.text,"& a":{color:n.palette.banner.link}},info:{backgroundColor:n.palette.banner.info},error:{backgroundColor:n.palette.banner.error},warning:{backgroundColor:(a=n.palette.banner.warning)!=null?a:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),Ue=n=>{var Re;const{variant:a,message:c,id:f,fixed:p=!1}=n,R=Ae(),U=useApi(storageApiRef).forBucket("notifications"),G=(Re=U.get("dismissedBanners"))!=null?Re:[],[Z,ae]=useState(new Set(G)),ce=useObservable(U.observe$("dismissedBanners"));useEffect(()=>{var Ie;if(ce==null?void 0:ce.newValue){const gt=(Ie=ce==null?void 0:ce.newValue)!=null?Ie:[];ae(new Set(gt))}},[ce==null?void 0:ce.newValue]);const ve=()=>{U.set("dismissedBanners",[...Z,f])};return React.createElement(Snackbar,{anchorOrigin:p?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!Z.has(f),classes:{root:classNames(R.root,!p&&R.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(R.content,R[a]),message:R.message},message:c,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:ve},React.createElement(Close,{className:R.icon}))]}))};var we=e(60905),Fe=e(90436),at=e(86284),Be=e(96465),Qe=e(19133),ke=e(3871);const ct=(0,s.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),K=({missing:n})=>{const a=ct();switch(n){case"field":return t.createElement("img",{src:at,className:a.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:Be,alt:"no Information",className:a.generalImg});case"content":return t.createElement("img",{src:Qe,alt:"create Component",className:a.generalImg});case"data":return t.createElement("img",{src:ke,alt:"no Build",className:a.generalImg});default:return null}},A=(0,s.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 D(n){const{title:a,description:c,missing:f,action:p}=n,R=A();return t.createElement(we.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:R.root,spacing:2},t.createElement(we.Z,{item:!0,xs:12,md:6},t.createElement(we.Z,{container:!0,direction:"column"},t.createElement(we.Z,{item:!0,xs:!0},t.createElement(Fe.Z,{variant:"h5"},a)),t.createElement(we.Z,{item:!0,xs:!0},t.createElement(Fe.Z,{variant:"body1"},c)),t.createElement(we.Z,{item:!0,xs:!0,className:R.action},p))),t.createElement(we.Z,{item:!0,xs:12,md:6,className:R.imageContainer},t.createElement(K,{missing:f})))}const X=`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`,q=(0,s.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function Ce(n){const{annotation:a}=n,c=q(),f=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,a)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(D,{missing:"field",title:"Missing Annotation",description:f,action:t.createElement(t.Fragment,null,t.createElement(Fe.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:c.code},t.createElement(Ge,{text:X.replace("ANNOTATION",a),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(h.Z,{color:"primary",component:T,to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"},"Read more"))})}var he=e(11776),Le=e(38402),tt=e(49378),St=e(41128),gn=e(27616),ie=e(8284),$=e(70660),ee=e(91750),pe=e(38016);const Ve=(n,a)=>(a.palette.type==="light"?St._j:St.$n)(a.palette[n].light,.6),qe=(n,a)=>(a.palette.type==="light"?St.$n:St._j)(a.palette[n].light,.9),Et=(0,s.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:a})=>Ve(a,n)}})),Bt=({severity:n})=>{const a=Et({severity:n});return t.createElement(ee.Z,{classes:a})},an=({severity:n})=>{const a=Et({severity:n});return t.createElement(pe.Z,{classes:a})},on=(0,s.Z)(n=>({panel:{backgroundColor:({severity:a})=>qe(a,n),color:({severity:a})=>Ve(a,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:a})=>Ve(a,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:a})=>Ve(a,n),backgroundColor:({severity:a})=>qe(a,n)},details:{width:"100%",display:"block",color:n.palette.textContrast,backgroundColor:n.palette.background.default,border:`1px solid ${n.palette.border}`,padding:n.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),Ln=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function On(n){const{severity:a="warning",title:c,message:f,children:p,defaultExpanded:R}=n,I=on({severity:a}),U=Ln(a)+(c?`: ${c}`:"");return t.createElement(gn.Z,{defaultExpanded:R!=null?R:!1,className:I.panel,role:"alert"},t.createElement(ie.Z,{expandIcon:t.createElement(an,{severity:a}),className:I.summary},t.createElement(Bt,{severity:a}),t.createElement(Fe.Z,{className:I.summaryText,variant:"subtitle1"},U)),(f||p)&&t.createElement($.Z,null,t.createElement(we.Z,{container:!0},f&&t.createElement(we.Z,{item:!0,xs:12},t.createElement(Fe.Z,{className:I.message,variant:"body1"},f)),p&&t.createElement(we.Z,{item:!0,xs:12,className:I.details},p))))}const Fn=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),yt=({error:n,message:a,stack:c,children:f})=>{const p=Fn();return t.createElement(he.Z,{dense:!0},t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(tt.Z,{classes:{secondary:p.text},primary:"Error",secondary:n}),t.createElement(ue,{text:n})),t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(tt.Z,{classes:{secondary:p.text},primary:"Message",secondary:a}),t.createElement(ue,{text:a})),c&&t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(tt.Z,{classes:{secondary:p.text},primary:"Stack Trace",secondary:c}),t.createElement(ue,{text:c})),f)};function Zt(n){const{title:a,error:c,defaultExpanded:f,children:p}=n;return t.createElement(On,{severity:"error",title:a!=null?a:c.message,defaultExpanded:f},t.createElement(yt,{error:c.name,message:c.message,stack:c.stack,children:p}))}var sn=e(85256);const Bn=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function Kt(n){var Ie;const{title:a,error:c,defaultExpanded:f}=n,p=Bn();if(c.name!=="ResponseError")return t.createElement(Zt,{title:a!=null?a:c.message,defaultExpanded:f,error:c});const{body:R,cause:I}=c,{request:U,response:G}=R,Z=`${G.statusCode}: ${I.name}`,ae=U&&`${U.method} ${U.url}`,ce=I.message.replace(/\\n/g,`
12
+ `),ve=(Ie=I.stack)==null?void 0:Ie.replace(/\\n/g,`
13
+ `),Re=JSON.stringify(R,void 0,2);return t.createElement(Zt,{title:a!=null?a:c.message,defaultExpanded:f,error:{name:Z,message:ce,stack:ve}},ae&&t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(tt.Z,{classes:{secondary:p.text},primary:"Request",secondary:U?`${ae}`:void 0}),t.createElement(ue,{text:ae})),t.createElement(t.Fragment,null,t.createElement(sn.Z,{component:"li",className:p.divider}),t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(tt.Z,{classes:{secondary:p.text},primary:"Full Error as JSON"})),t.createElement(Ge,{language:"json",text:Re,showCopyCodeButton:!0})))}var Yn=e(9832);function ar(n){const a=document.createElement("div");return a.setAttribute("id",n),a}function xn(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function Ar(n){const a=useRef(null);useEffect(function(){const p=document.querySelector(`#${n}`),R=p||ar(n);return p||xn(R),R.appendChild(a.current),function(){a.current.remove(),R.childNodes.length===-1&&R.remove()}},[n]);function c(){return a.current||(a.current=document.createElement("div")),a.current}return c()}var vr=null;const Wn="core.calloutSeen";function or(){const[n,a]=useState(()=>{const f=localStorage.getItem(Wn);return f?JSON.parse(f):{}}),c=useCallback((f,p)=>{const R=localStorage.getItem(Wn),U={...R?JSON.parse(R):{},[f]:p};a(U),localStorage.setItem(Wn,JSON.stringify(U))},[]);return{states:n,setState:c}}function sr(n){const{states:a,setState:c}=or(),f=useCallback(()=>{c(n,!0)},[c,n]);return{seen:a[n]===!0,markSeen:f}}function ir(n){const{seen:a,markSeen:c}=sr(n);return{show:a===!1,hide:c}}const Qn=(0,s.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 Rr(n){const{featureId:a,title:c,description:f,children:p}=n,{show:R,hide:I}=useShowCallout(a),U=usePortal("core.callout"),G=useRef(null),[Z,ae]=useState(),ce=Qn(),ve=useCallback(()=>{if(G.current){const Re=G.current.getBoundingClientRect(),Ie=Math.max(Re.width,Re.height),gt=800,Gt=Re.x-(Ie-Re.width)/2-gt,cn=Re.y-(Ie-Re.height)/2-gt,en=Ie+2*gt,_e=450,Wt=Re.x+Re.width/2-_e,Dt=Re.y-(Ie-Re.height)/2+Ie+20;ae({dotLeft:Gt,dotTop:cn,dotSize:en,borderWidth:gt,textTop:Dt,textLeft:Wt,textWidth:_e})}},[]);return useEffect(()=>(window.addEventListener("resize",ve),window.addEventListener("scroll",ve),()=>{window.removeEventListener("resize",ve),window.removeEventListener("scroll",ve)}),[ve]),useLayoutEffect(ve,[G.current,ve]),R?React.createElement(React.Fragment,null,React.createElement("div",{className:ce.featureWrapper,ref:G},p),createPortal(React.createElement("div",{className:ce.backdrop},React.createElement(ClickAwayListener,{onClickAway:I},React.createElement(React.Fragment,null,React.createElement("div",{className:ce.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:I,onKeyDown:I,role:"button",tabIndex:0},React.createElement("div",{className:ce.pulseCircle})),React.createElement("div",{className:ce.text,"data-testid":"text",style:{left:Z==null?void 0:Z.textLeft,top:Z==null?void 0:Z.textTop,width:Z==null?void 0:Z.textWidth}},React.createElement(Typography,{variant:"h2",paragraph:!0},c),React.createElement(Typography,null,f))))),U)):React.createElement(React.Fragment,null,p)}var lr=e(35292);const Mn=(0,s.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 Sr({color:n="primary",disabled:a=!1,href:c="#",icon:f=t.createElement(lr.Z,null),label:p,onClick:R,title:I}){const U=Mn();return a?t.createElement(E.Z,{title:I,className:de()(U.link,U.disabled),underline:"none"},f,t.createElement("span",{className:U.label},p)):t.createElement(E.Z,{title:I,className:de()(U.link,U[n]),to:c,component:T,onClick:R},f,t.createElement("span",{className:U.label},p))}const Cr=(0,s.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function Xn(n){const{links:a}=n,c=Cr();return t.createElement("nav",{className:c.links},a.map((f,p)=>t.createElement(Sr,{key:p+1,...f})))}const kn=n=>{const a=n==="dark"?"16%":"97%";return`
14
+ hsl(0, 0%, ${a}) 0%,
15
+ hsla(0, 0%, ${a}, 0.987) 8.1%,
16
+ hsla(0, 0%, ${a}, 0.951) 15.5%,
17
+ hsla(0, 0%, ${a}, 0.896) 22.5%,
18
+ hsla(0, 0%, ${a}, 0.825) 29%,
19
+ hsla(0, 0%, ${a}, 0.741) 35.3%,
20
+ hsla(0, 0%, ${a}, 0.648) 41.2%,
21
+ hsla(0, 0%, ${a}, 0.55) 47.1%,
22
+ hsla(0, 0%, ${a}, 0.45) 52.9%,
23
+ hsla(0, 0%, ${a}, 0.352) 58.8%,
24
+ hsla(0, 0%, ${a}, 0.259) 64.7%,
25
+ hsla(0, 0%, ${a}, 0.175) 71%,
26
+ hsla(0, 0%, ${a}, 0.104) 77.5%,
27
+ hsla(0, 0%, ${a}, 0.049) 84.5%,
28
+ hsla(0, 0%, ${a}, 0.013) 91.9%,
29
+ hsla(0, 0%, ${a}, 0) 100%
30
+ `},cr=100,pn=10,yn=(0,s.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:cr,height:`calc(100% + ${pn}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-pn,background:`linear-gradient(90deg, ${kn(n.palette.type)})`},fadeRight:{right:-pn,background:`linear-gradient(270deg, ${kn(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function ur(n){const[[a,c],f]=React.useState([0,0]);return React.useLayoutEffect(()=>{const p=n.current;if(!p){f([0,0]);return}const R=()=>{const I=p.scrollLeft,U=p.scrollWidth-p.offsetWidth-p.scrollLeft;f([I,U])};return R(),p.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{p.removeEventListener("scroll",R),window.removeEventListener("resize",R)}},[n]),[a,c]}function dr(n,a,c){const[f,p]=React.useState(0);return React.useLayoutEffect(()=>{if(f===0)return;const R=performance.now(),I=requestAnimationFrame(U=>{if(!n.current)return;const G=U-R,Z=Math.abs(f)*G/a,ce=Math.max(c,Z)*Math.sign(f);n.current.scrollBy({left:ce});const ve=f-ce;Math.sign(f)!==Math.sign(ve)?p(0):p(ve)});return()=>cancelAnimationFrame(I)},[n,f,a,c]),p}function Tr(n){const{scrollStep:a=100,scrollSpeed:c=50,minScrollDistance:f=5,children:p,...R}=n,I=yn(n),U=React.useRef(),[G,Z]=ur(U),ae=dr(U,c,f),ce=ve=>{!U.current||ae(ve?a:-a)};return React.createElement("div",{...R,className:I.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:I.container,ref:U},p),React.createElement("div",{className:classNames(I.fade,I.fadeLeft,{[I.fadeHidden]:G===0})}),React.createElement("div",{className:classNames(I.fade,I.fadeRight,{[I.fadeHidden]:Z===0})}),G>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>ce(!1),className:classNames(I.button,I.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),Z>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>ce(!0),className:classNames(I.button,I.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const Pr=(0,s.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function fr(n){const a=Pr(n),{shorthand:c,alpha:f}=n;return c?React.createElement("span",{className:a[f?"alpha":"beta"],style:{fontSize:"120%"}},f?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:a[f?"alpha":"beta"]},f?"Alpha":"Beta")}const Xt=(0,t.lazy)(()=>Promise.all([e.e(1110),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function Ir(n){const{Progress:a}=(0,l.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(a,null)},t.createElement(Xt,{...n}))}const qn=(0,s.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"}),Lr={code:({inline:n,className:a,children:c,...f})=>{const p=String(c).replace(/\n+$/,""),R=/language-(\w+)/.exec(a||"");return!n&&R?t.createElement(Ge,{language:R[1],text:p}):t.createElement("code",{className:a,...f},c)}};function Jr(n){const{content:a,dialect:c="gfm"}=n,f=qn();return React.createElement(ReactMarkdown,{remarkPlugins:c==="gfm"?[gfm]:[],className:f.markdown,children:a,components:Lr})}var Or=e(10179);const mr=(0,s.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),Yr=({request:n,busy:a,setBusy:c})=>{const f=mr(),[p,R]=useState(),I=async()=>{c(!0);try{await n.trigger()}catch(G){R(isError(G)?G.message:"An unspecified error occurred")}finally{c(!1)}},U=n.provider.icon;return React.createElement(ListItem,{button:!0,disabled:a,classes:{root:f.root}},React.createElement(ListItemAvatar,null,React.createElement(U,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:p&&React.createElement(Typography,{color:"error"},p)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:I},"Log in"))};var Qr=null;const xr=(0,s.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function Xr(n){const a=xr(),[c,f]=useState(!1),p=useApi(oauthRequestApiRef),R=useObservable(useMemo(()=>p.authRequest$(),[p]),[]),I=()=>{R.forEach(U=>U.reject())};return React.createElement(Dialog,{open:Boolean(R.length),fullWidth:!0,maxWidth:"xs",classes:{paper:a.dialog}},React.createElement(DialogTitle,{classes:{root:a.title}},"Login Required"),React.createElement(DialogContent,{dividers:!0,classes:{root:a.contentList}},React.createElement(List,null,R.map(U=>React.createElement(LoginRequestListItem,{key:U.provider.title,request:U,busy:c,setBusy:f})))),React.createElement(DialogActions,{classes:{root:a.actionButtons}},React.createElement(Button,{onClick:I},"Reject All")))}var Dr=e(15277),br=e.n(Dr),Nn=e(90736);const hr=(0,s.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function gr(n){var I;const[a,c]=(0,t.useState)(!1),f=(0,Nn.default)(),p=hr(),R=U=>{f()&&c(U)};return t.createElement(O.ZP,{title:(I=n.title)!=null?I:n.text||"",placement:n.placement,disableHoverListener:!a},t.createElement(br(),{text:n.text,line:n.line,onToggled:R,containerClassName:p.container}))}var Fr=e(67358);function kr(n){const[a,c]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const f=setTimeout(()=>c(!0),250);return()=>clearTimeout(f)},[]),a?t.createElement(Fr.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var w=e(94339),M=e(14503),H=e(24579),te=e(32552),se=e(15459),re=e(95544),fe=e(27597);const We=(0,s.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 Ye(n){const{link:a,title:c,onClick:f}=n,p=We();return t.createElement("div",null,t.createElement(sn.Z,null),t.createElement(T,{to:a,onClick:f,underline:"none"},t.createElement(re.Z,{display:"flex",alignItems:"center",className:p.root},t.createElement(re.Z,{className:p.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(Fe.Z,null,t.createElement("strong",null,c))),t.createElement(fe.Z,{className:p.arrow}))))}const nt=n=>{const{slackChannel:a}=n;if(a){if(typeof a=="string")return t.createElement(t.Fragment,null,"Please contact ",a," for help.");if(!a.href)return t.createElement(t.Fragment,null,"Please contact ",a.name," for help.")}else return null;return t.createElement(x,{to:a.href,variant:"contained"},a.name)},ot=class extends t.Component{constructor(a){super(a);this.state={error:void 0,errorInfo:void 0}}componentDidCatch(a,c){console.error(`ErrorBoundary, error: ${a}, info: ${c}`),this.setState({error:a,errorInfo:c})}render(){const{slackChannel:a,children:c}=this.props,{error:f}=this.state;return f?t.createElement(Zt,{title:"Something Went Wrong",error:f},t.createElement(nt,{slackChannel:a})):c}},$e=(0,s.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:{}}),{name:"BackstageInfoCard"}),Me=(0,se.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(M.Z),ut={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 Ct(n){const{title:a,subheader:c,divider:f=!0,deepLink:p,slackChannel:R,errorBoundaryProps:I,variant:U,children:G,headerStyle:Z,headerProps:ae,action:ce,actionsClassName:ve,actions:Re,cardClassName:Ie,actionsTopRight:gt,className:Gt,noPadding:cn,titleTypographyProps:en}=n,_e=$e();let Wt={},Dt={};U&&U.split(/[\s]+/g).forEach(mn=>{Wt={...Wt,...ut.card[mn]},Dt={...Dt,...ut.cardContent[mn]}});const rn=I||(R?{slackChannel:R}:{});return t.createElement(w.Z,{style:Wt,className:Gt},t.createElement(ot,{...rn},a&&t.createElement(te.Z,{classes:{root:_e.header,title:_e.headerTitle,subheader:_e.headerSubheader,avatar:_e.headerAvatar,action:_e.headerAction,content:_e.headerContent},title:a,subheader:c,action:ce,style:{...Z},titleTypographyProps:en,...ae}),gt&&t.createElement(Me,null,gt),f&&t.createElement(sn.Z,null),t.createElement(H.Z,{className:de()(Ie,{[_e.noPadding]:cn}),style:Dt},G),Re&&t.createElement(M.Z,{className:ve},Re),p&&t.createElement(Ye,{...p})))}var wt=e(94137);const kt=(0,s.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},circle:{width:"80%",transform:"translate(10%, 0)"},colorUnknown:{}}),{name:"BackstageGauge"}),Vt={fractional:!0,inverse:!1,unit:"%",max:100},qt=({palette:n,value:a,inverse:c,max:f})=>{if(isNaN(a))return"#ddd";const p=f||Vt.max,R=c?p-a:a;return R<p/3?n.status.error:R<p*(2/3)?n.status.warning:n.status.ok};function En(n){const{getColor:a=qt}=n,c=kt(n),{palette:f}=useTheme(),{value:p,fractional:R,inverse:I,unit:U,max:G}={...Vt,...n},Z=R?Math.round(p*G):p,ae=G!==100?Math.round(p):Z;return React.createElement("div",{className:c.root},React.createElement(Circle,{strokeLinecap:"butt",percent:Z,strokeWidth:12,trailWidth:12,strokeColor:a({palette:f,value:ae,inverse:I,max:G}),className:c.circle}),React.createElement("div",{className:c.overlay},isNaN(p)?"N/A":`${ae}${U}`))}const Mt=(0,s.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function An(n){const a=Mt(n),{title:c,subheader:f,progress:p,inverse:R,deepLink:I,variant:U,getColor:G}=n,Z={inverse:R,getColor:G,value:p};return React.createElement("div",{className:a.root},React.createElement(InfoCard,{title:c,subheader:f,deepLink:I,variant:U},React.createElement(Gauge,{...Z})))}function Un(n){const{value:a,getColor:c=getProgressColor}=n,{palette:f}=useTheme();if(isNaN(a))return null;let p=Math.round(a*100*100)/100;p>100&&(p=100);const R=c({palette:f,value:p,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${p}%`},React.createElement("span",null,React.createElement(Line,{percent:p,strokeWidth:4,trailWidth:4,strokeColor:R})))}var zt=e(21324),_t=e(7089),$n=e(1292),Zn=e(42494),qr=e(74603),Br=e(12231),_r=e(73698),ea=e(72379);const ta=(0,s.Z)(()=>(0,u.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var Ca=()=>{const n=ta();return t.createElement(ea.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 na=(0,s.Z)(()=>(0,u.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var ra=()=>{const n=na();return t.createElement(ea.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 aa=(0,se.Z)(n=>(0,u.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"})(qr.Z),oa=(0,s.Z)(n=>(0,u.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 Mr(n){const{multiple:a,items:c,label:f,placeholder:p,selected:R,onChange:I,triggerReset:U,native:G=!1,disabled:Z=!1}=n,ae=oa(),[ce,ve]=(0,t.useState)(R||(a?[]:"")),[Re,Ie]=(0,t.useState)(!1);(0,t.useEffect)(()=>{ve(a?[]:"")},[U,a]),(0,t.useEffect)(()=>{R!==void 0&&ve(R)},[R]);const gt=_e=>{ve(_e.target.value),I(_e.target.value)},Gt=_e=>{if(Z){_e.preventDefault();return}Ie(Wt=>a&&!(_e.target instanceof HTMLElement)?!0:!Wt)},cn=()=>{Ie(!1)},en=_e=>()=>{const Wt=ce.filter(Dt=>Dt!==_e);ve(Wt),I(Wt)};return t.createElement("div",{className:ae.root},t.createElement(Fe.Z,{variant:"button"},f),t.createElement($n.Z,{onClickAway:cn},t.createElement(Zn.Z,{className:ae.formControl},t.createElement(_r.Z,{value:ce,native:G,disabled:Z,"data-testid":"select",displayEmpty:!0,multiple:a,onChange:gt,onClick:Gt,open:Re,input:t.createElement(aa,null),renderValue:_e=>{var Wt;return a&&ce.length!==0?t.createElement("div",{className:ae.chips},_e.map(Dt=>{var rn,Vn;return t.createElement(_t.Z,{key:(rn=c.find(mn=>mn.value===Dt))==null?void 0:rn.value,label:(Vn=c.find(mn=>mn.value===Dt))==null?void 0:Vn.label,clickable:!0,onDelete:en(Dt),className:ae.chip})})):t.createElement(Fe.Z,null,ce.length===0?p||"":(Wt=c.find(Dt=>Dt.value===_e))==null?void 0:Wt.label)},IconComponent:()=>Re?t.createElement(ra,null):t.createElement(Ca,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},p&&!a&&t.createElement(Br.Z,{value:[]},p),G?c&&c.map(_e=>t.createElement("option",{value:_e.value,key:_e.value},_e.label)):c&&c.map(_e=>t.createElement(Br.Z,{key:_e.value,value:_e.value},a&&t.createElement(zt.Z,{color:"primary",checked:ce.includes(_e.value)||!1,className:ae.checkbox}),_e.label))))))}const _n=()=>{},sa=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:_n,stepHistory:[],setStepHistory:_n,onStepChange:_n});function Pa(n){const{children:a,elevated:c,onStepChange:f,activeStep:p=0}=n,[R,I]=useState(p),[U,G]=useState([0]);useEffect(()=>{I(p)},[p]);const Z=[];let ae;return Children.forEach(a,ce=>{isValidElement(ce)&&(ce.props.end?ae=ce:Z.push(ce))}),React.createElement(React.Fragment,null,React.createElement(sa.Provider,{value:{stepIndex:R,setStepIndex:I,stepHistory:U,setStepHistory:G,onStepChange:f,stepperLength:Children.count(a)}},React.createElement(MuiStepper,{activeStep:R,orientation:"vertical",elevation:c?2:0},Z)),R>=Children.count(a)-1&&ae)}const ia=(0,s.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),Ia=({text:n,handleClick:a})=>React.createElement(Button,{onClick:a},n||"Reset"),la=({text:n,handleClick:a,disabled:c,last:f,stepIndex:p})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:c,"data-testid":`nextButton-${p}`,onClick:a},n||(f?"Finish":"Next")),v=({text:n,handleClick:a,disabled:c,stepIndex:f})=>React.createElement(Button,{onClick:a,"data-testid":`backButton-${f}`,disabled:c},n||"Back"),L=({actions:n={},children:a})=>{const c=ia(),{stepperLength:f,stepIndex:p,setStepIndex:R,stepHistory:I,setStepHistory:U,onStepChange:G}=useContext(VerticalStepperContext),Z=(Re,Ie)=>{Ie&&Ie(),G&&G(p,Re),R(Re)},ae=()=>{const Re=n.nextStep?n.nextStep(p,f-1):p+1;Z(Re,n.onNext),U([...I,Re])},ce=()=>{I.pop(),Z(I[I.length-1],n.onBack),U([...I])},ve=()=>{Z(0,n.onRestart),U([0])};return React.createElement("div",{className:c.root},[void 0,!0].includes(n.showBack)&&p!==0&&React.createElement(v,{text:n.backText,handleClick:ce,disabled:p===0,stepIndex:p}),[void 0,!0].includes(n.showNext)&&React.createElement(la,{text:n.nextText,handleClick:ae,disabled:!!f&&p>=f||!!n.canNext&&!n.canNext(),stepIndex:p}),n.showRestart&&p!==0&&React.createElement(Ia,{text:n.restartText,handleClick:ve,stepIndex:p}),a)},W=(0,s.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function oe(n){const{title:a,children:c,end:f,actions:p,...R}=n,I=W();return f?React.createElement("div",{className:I.end},React.createElement(Typography,{variant:"h6"},a),c,React.createElement(SimpleStepperFooter,{actions:{...p||{},showNext:!1}})):React.createElement(MuiStep,{...R},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},a)),React.createElement(StepContent,null,c,React.createElement(SimpleStepperFooter,{actions:p})))}const Ee=(0,s.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 Ze(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function Pe(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function Ke(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.error),"aria-label":"Status error","aria-hidden":"true",...n})}function He(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function ft(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.running),"aria-label":"Status running","aria-hidden":"true",...n})}function xt(n){const a=Ee(n);return React.createElement("span",{className:classNames(a.status,a.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var It=e(74600),Lt=e(15584);const un=n=>(0,u.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),dn={root:{border:"0",verticalAlign:"top"}},wn=n=>(0,u.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),er=n=>(0,u.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),Hn=(0,se.Z)(un,{name:"BackstageMetadataTableTitleCell"})(Lt.Z),jn=(0,se.Z)(dn,{name:"BackstageMetadataTableCell"})(Lt.Z),ca=({dense:n,children:a})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,a)),La=({title:n,children:a,...c})=>React.createElement(TableRow,null,n&&React.createElement(Hn,null,n),React.createElement(jn,{colSpan:n?1:2,...c},a)),Dn=(0,se.Z)(wn,{name:"BackstageMetadataTableList"})(({classes:n,children:a})=>t.createElement("ul",{className:n.root},a)),Hi=(0,se.Z)(er,{name:"BackstageMetadataTableListItem"})(({classes:n,children:a})=>t.createElement("li",{className:n.root},a)),Oa=(0,u.Z)({root:{margin:"0 0",listStyleType:"none"}}),ho=n=>(0,u.Z)({root:{...Oa.root,paddingLeft:n.spacing(1)}}),xa=(0,se.Z)(Oa,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:a})=>t.createElement(Dn,{classes:n},a)),Da=(0,se.Z)(ho,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:a})=>t.createElement(Dn,{classes:n},a));function go(n,a){const c=n.map((f,p)=>React.createElement(MetadataListItem,{key:p},ua(f)));return a?React.createElement(Da,null,c):React.createElement(xa,null,c)}function po(n,a,c){const f=Object.keys(n).map(p=>{const R=ua(n[p],!0),I=c&&c.titleFormat?c.titleFormat(p):startCase(p);return React.createElement(MetadataListItem,{key:p},`${I}: `,R)});return a?React.createElement(Da,null,f):React.createElement(xa,null,f)}function ua(n,a,c){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?po(n,a,c):Array.isArray(n)?go(n,c):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const yo=({value:n,options:a})=>React.createElement(Fragment,null,ua(n,a)),Eo=({title:n,value:a,options:c})=>React.createElement(MetadataTableItem,{title:c&&c.titleFormat?c.titleFormat(n):startCase(n)},React.createElement(yo,{value:a,options:c}));function Ao(n,a){return Object.keys(n).map(c=>React.createElement(Eo,{key:c,title:c,value:n[c],options:a}))}function ji(n){const{metadata:a,dense:c=!0,options:f}=n,p=Ao(a,f||{});return React.createElement(MetadataTable,{dense:c},p)}var vo=e(49429),Ro=e(86136),ba=e(79784),tr=e(76635),So=e(19126),Nr=e.n(So),Co=e(48760);function To(n){return Nr().stringify(n,{strictNullHandling:!0})}function Fa(n){return Nr().parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function Ba(n,a){return Fa(n)[a]}function Po(n,a,c){const f={...Fa(n),[a]:c};return To(f)}function Io(n,a=250){const[c,f]=(0,i.lr)(),p=c.toString(),[R,I]=(0,t.useState)(Ba(p,n));return(0,t.useEffect)(()=>{const U=Ba(p,n);I(G=>(0,tr.isEqual)(U,G)?G:U)},[p,I,n]),(0,Co.Z)(()=>{const U=Po(p,n,R);p!==U&&f(U,{replace:!0})},a,[f,R,p,n]),[R,I]}const Lo={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/andrewthauer/backstage/blob/master/app-config.yaml"}]}]};function Ma(){const a=(0,l.useApi)(l.configApiRef).getOptionalConfig("app.support");return a?{url:a.getString("url"),items:a.getConfigArray("items").flatMap(c=>{var f;return{title:c.getString("title"),icon:c.getOptionalString("icon"),links:((f=c.getOptionalConfigArray("links"))!=null?f:[]).flatMap(p=>({url:p.getString("url"),title:p.getString("title")}))}})}:Lo}var Oo=e(80079);function Cn(n,a){const f=(0,l.useApp)().getSystemIcon(n);return f?t.createElement(f,{...a}):t.createElement(Oo.Z,{...a})}function Vi(n){return Cn("brokenImage",n)}function Gi(n){return Cn("catalog",n)}function Ki(n){return Cn("chat",n)}function Ji(n){return Cn("dashboard",n)}function Yi(n){return Cn("docs",n)}function Qi(n){return Cn("email",n)}function Xi(n){return Cn("github",n)}function ki(n){return Cn("group",n)}function Ur(n){return Cn("help",n)}function qi(n){return Cn("user",n)}function _i(n){return Cn("warning",n)}const xo=(0,s.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),Do=({icon:n})=>{var f;const a=(0,l.useApp)(),c=n&&(f=a.getSystemIcon(n))!=null?f:Ur;return t.createElement(c,null)},bo=({link:n})=>{var a;return t.createElement(T,{to:n.url},(a=n.title)!=null?a:n.url)},Fo=({item:n})=>{var a;return t.createElement(Le.Z,null,t.createElement(Ro.Z,null,t.createElement(Do,{icon:n.icon})),t.createElement(tt.Z,{primary:n.title,secondary:(a=n.links)==null?void 0:a.reduce((c,f,p)=>[...c,p>0&&t.createElement("br",{key:p}),t.createElement(bo,{link:f,key:f.url})],[])}))};function Bo(n){const{title:a,children:c}=n,{items:f}=Ma(),[p,R]=(0,t.useState)(!1),[I,U]=(0,t.useState)(null),G=xo(),Z=(0,Oe.Z)(ve=>ve.breakpoints.down("sm")),ae=ve=>{U(ve.currentTarget),R(!0)},ce=()=>{R(!1)};return t.createElement(t.Fragment,null,t.createElement(re.Z,{display:"flex",ml:1},Z?t.createElement(N.Z,{color:"primary",size:"small",onClick:ae,"data-testid":"support-button"},t.createElement(Ur,null)):t.createElement(h.Z,{"data-testid":"support-button",color:"primary",onClick:ae,startIcon:t.createElement(Ur,null)},"Support")),t.createElement(ba.ZP,{"data-testid":"support-button-popover",open:p,anchorEl:I,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:ce},t.createElement(he.Z,{className:G.popoverList},a&&t.createElement(Le.Z,{alignItems:"flex-start"},t.createElement(Fe.Z,{variant:"subtitle1"},a)),t.Children.map(c,(ve,Re)=>t.createElement(Le.Z,{alignItems:"flex-start",key:`child-${Re}`},ve)),f&&f.map((ve,Re)=>t.createElement(Fo,{item:ve,key:`item-${Re}`}))),t.createElement(vo.Z,null,t.createElement(h.Z,{color:"primary",onClick:ce},"Close"))))}var da=e(18671),vn=e(10289);const Mo=(0,s.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 Na(n){const{className:a,stretch:c,noPadding:f,children:p,...R}=n,I=Mo();return t.createElement("article",{...R,className:de()(I.root,a,{[I.stretch]:c,[I.noPadding]:f})},p)}var No=e(6487),Uo=e(99152);const $o=(0,s.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 Ua(n){const{tabs:a,onChange:c,selectedIndex:f}=n,[p,R]=(0,t.useState)(f!=null?f:0),I=$o(),U=(G,Z)=>{f===void 0&&R(Z),c&&c(Z)};return(0,t.useEffect)(()=>{f!==void 0&&R(f)},[f]),t.createElement("div",{className:I.tabsWrapper},t.createElement(Uo.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:U,value:p},a.map((G,Z)=>t.createElement(No.Z,{...G.tabProps,"data-testid":`header-tab-${Z}`,label:G.label,key:G.id,value:Z,className:I.defaultTab,classes:{selected:I.selected,root:I.tabRoot}}))))}function Zo(n){var U,G,Z;const a=(0,vn.UO)(),f=n.map(({path:ae,children:ce})=>({caseSensitive:!1,path:`${ae}/*`,element:ce})).sort((ae,ce)=>ce.path.replace(/\/\*$/,"").localeCompare(ae.path.replace(/\/\*$/,""))),p=(U=(0,vn.V$)(f))!=null?U:n[0].children,[R]=(G=(0,vn.fp)(f,`/${a["*"]}`))!=null?G:[],I=R?n.findIndex(ae=>`${ae.path}/*`===R.route.path):0;return{index:I===-1?0:I,element:p,route:(Z=n[I])!=null?Z:n[0]}}function $a(n){const{routes:a}=n,c=(0,vn.s0)(),{index:f,route:p,element:R}=Zo(a),I=(0,t.useMemo)(()=>a.map(G=>({id:G.path,label:G.title,tabProps:G.tabProps})),[a]),U=G=>c(a[G].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(Ua,{tabs:I,selectedIndex:f,onChange:U}),t.createElement(Na,null,t.createElement(da.q,{title:p.title}),R))}const fa=()=>null;(0,l.attachComponentData)(fa,"core.gatherMountPoints",!0);function Za(n){const a=t.createElement(fa,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(c=>{if(!(0,t.isValidElement)(c))return[];if(c.type===t.Fragment)return Za(c.props.children);if(c.type!==a)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:f,title:p,children:R,tabProps:I}=c.props;return[{path:f,title:p,children:R,tabProps:I}]})}function wo(n){const a=Za(n.children);return t.createElement($a,{routes:a})}wo.Route=fa;const zo=(0,s.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Wo(n){const{value:a,subvalue:c}=n,f=zo();return t.createElement(t.Fragment,null,t.createElement("div",{className:f.value},a),t.createElement("div",{className:f.subvalue},c))}var Ho=e(21070),jo=e(90324),Vo=e(98281),Go=e(48049),wa=e(51209),za=e(33375),Ko=e(44233),Jo=e(27604),ma=e(36444),Yo=e(37971),Qo=e(59709),Xo=e(17373),ko=e(3702),qo=e(93111),$r=e(67222);const _o=(0,s.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"}),es=n=>{var G;const a=_o(),{onChangeFilters:c}=n,[f,p]=(0,t.useState)({...n.selectedFilters}),[R,I]=(0,t.useState)(!1),U=()=>{p({}),I(Z=>!Z)};return(0,t.useEffect)(()=>{c(f)},[f,c]),t.createElement("div",{className:a.root},t.createElement("div",{className:a.header},t.createElement("div",{className:a.value},"Filters"),t.createElement(h.Z,{color:"primary",onClick:U},"Clear all")),t.createElement("div",{className:a.filters},((G=n.filters)==null?void 0:G.length)&&n.filters.map(Z=>t.createElement(Mr,{triggerReset:R,key:Z.element.label,...Z.element,selected:f[Z.element.label],onChange:ae=>p({...f,[Z.element.label]:ae})}))))},ts={Add:(0,t.forwardRef)((n,a)=>t.createElement(Ho.Z,{...n,ref:a})),Check:(0,t.forwardRef)((n,a)=>t.createElement(Vo.Z,{...n,ref:a})),Clear:(0,t.forwardRef)((n,a)=>t.createElement(za.Z,{...n,ref:a})),Delete:(0,t.forwardRef)((n,a)=>t.createElement(Ko.Z,{...n,ref:a})),DetailPanel:(0,t.forwardRef)((n,a)=>t.createElement(wa.Z,{...n,ref:a})),Edit:(0,t.forwardRef)((n,a)=>t.createElement(Jo.Z,{...n,ref:a})),Export:(0,t.forwardRef)((n,a)=>t.createElement(ko.Z,{...n,ref:a})),Filter:(0,t.forwardRef)((n,a)=>t.createElement(ma.Z,{...n,ref:a})),FirstPage:(0,t.forwardRef)((n,a)=>t.createElement(Yo.Z,{...n,ref:a})),LastPage:(0,t.forwardRef)((n,a)=>t.createElement(Qo.Z,{...n,ref:a})),NextPage:(0,t.forwardRef)((n,a)=>t.createElement(wa.Z,{...n,ref:a})),PreviousPage:(0,t.forwardRef)((n,a)=>t.createElement(Go.Z,{...n,ref:a})),ResetSearch:(0,t.forwardRef)((n,a)=>t.createElement(za.Z,{...n,ref:a})),Search:(0,t.forwardRef)((n,a)=>t.createElement(ma.Z,{...n,ref:a})),SortArrow:(0,t.forwardRef)((n,a)=>t.createElement(jo.Z,{...n,ref:a})),ThirdStateCheck:(0,t.forwardRef)((n,a)=>t.createElement(Xo.Z,{...n,ref:a})),ViewColumn:(0,t.forwardRef)((n,a)=>t.createElement(qo.Z,{...n,ref:a}))};function Wa(n,a){const c=a.split(".");let f=n[c[0]];for(let p=1;p<c.length;++p){if(f===void 0)return f;const R=c[p];f=f[R]}return f}const ns=(0,se.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"})($r.W$),Ha=(0,se.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})($r.UW),rs=(0,s.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),as=(0,s.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function os(n,a){return n.map(c=>{const f={};let p=c.cellStyle||{};if(c.highlight)if(f.color=a.palette.textContrast,typeof p=="object")p.fontWeight=a.typography.fontWeightBold;else{const R=p;p=(I,U,G)=>({...R(I,U,G),fontWeight:a.typography.fontWeightBold})}return{...c,headerStyle:f,cellStyle:p}})}function ss(n,a){return(0,tr.transform)(n,(c,f,p)=>{(0,tr.isEqual)(f,a[p])||(c[p]=f)})}const ja={search:"",filtersOpen:!1,filters:{}};function is(n){const{toolbarRef:a,setSearch:c,hasFilters:f,selectedFiltersLength:p,toggleFilters:R}=n,I=rs(),U=(0,t.useCallback)(G=>{n.onSearchChanged(G),c(G)},[n,c]);return f?t.createElement("div",{className:I.root},t.createElement("div",{className:I.root},t.createElement(N.Z,{onClick:R,"aria-label":"filter list"},t.createElement(ma.Z,null)),t.createElement(Fe.Z,{className:I.title},"Filters (",p,")")),t.createElement(Ha,{...n,ref:a,onSearchChanged:U})):t.createElement(Ha,{...n,ref:a,onSearchChanged:U})}function ls(n){const{data:a,columns:c,options:f,title:p,subtitle:R,filters:I,initialState:U,emptyContent:G,onStateChange:Z,...ae}=n,ce=as(),ve=(0,b.Z)(),Re={...ja,...U},[Ie,gt]=(0,t.useState)(Re.filtersOpen),Gt=(0,t.useCallback)(()=>gt(tn=>!tn),[gt]),[cn,en]=(0,t.useState)(0),[_e,Wt]=(0,t.useState)(a),[Dt,rn]=(0,t.useState)(Re.filters),Vn=os(c,ve),[mn,jr]=(0,t.useState)(Re.search);(0,t.useEffect)(()=>{if(Z){const tn=ss({search:mn,filtersOpen:Ie,filters:Dt},ja);Z(tn)}},[mn,Ie,Dt,Z]);const Ft={headerStyle:{textTransform:"uppercase"}},zn=(0,t.useCallback)(tn=>{var hn;return(hn=c.find(Rn=>Rn.title===tn))==null?void 0:hn.field},[c]);(0,t.useEffect)(()=>{if(typeof a=="function")return;if(!Dt){Wt(a);return}const tn=Object.values(Dt);if(a&&tn.flat().length){const hn=a.filter(Rn=>!!Object.entries(Dt).filter(([,Kn])=>!!Kn.length).every(([Kn,Yt])=>{const Qt=Wa(Rn,zn(Kn));return Array.isArray(Qt)&&Array.isArray(Yt)?Qt.some(nr=>Yt.includes(nr)):Array.isArray(Qt)?Qt.includes(Yt):Array.isArray(Yt)?Yt.includes(Qt):Qt===Yt}));Wt(hn)}else Wt(a);en(tn.flat().length)},[a,Dt,zn]);const Aa=(tn,hn)=>{const Rn=Yt=>{const Qt=new Set,nr=Jn=>{Jn!=null&&Qt.add(Jn)};return hn&&hn.forEach(Jn=>{const rr=Wa(Jn,zn(Yt));Array.isArray(rr)?rr.forEach(nr):nr(rr)}),Qt},Kn=Yt=>({placeholder:"All results",label:Yt.column,multiple:Yt.type==="multiple-select",items:[...Rn(Yt.column)].sort().map(Qt=>({label:Qt,value:Qt}))});return tn.map(Yt=>({type:Yt.type,element:Kn(Yt)}))},Gn=!!(I==null?void 0:I.length),va=(0,t.useCallback)(tn=>t.createElement(is,{setSearch:jr,hasFilters:Gn,selectedFiltersLength:cn,toggleFilters:Gt,...tn}),[Gt,Gn,cn,jr]),Vr=typeof a!="function"&&a.length===0,Gr=c.length,Ra=(0,t.useCallback)(tn=>G&&Vr?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:Gr},G))):t.createElement($r.os,{...tn}),[Vr,G,Gr]);return t.createElement("div",{className:ce.root},Ie&&a&&typeof a!="function"&&(I==null?void 0:I.length)&&t.createElement(es,{filters:Aa(I,a),selectedFilters:Dt,onChangeFilters:rn}),t.createElement($r.ZP,{components:{Header:ns,Toolbar:va,Body:Ra},options:{...Ft,...f},columns:Vn,icons:ts,title:t.createElement(t.Fragment,null,t.createElement(Fe.Z,{variant:"h5",component:"h3"},p),R&&t.createElement(Fe.Z,{color:"textSecondary",variant:"body1"},R)),data:typeof a=="function"?a:_e,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...ae}))}const el=n=>{const{children:a,value:c,index:f,...p}=n;return React.createElement("div",{role:"tabpanel",hidden:c!==f,"aria-labelledby":`scrollable-auto-tab-${f}`,...p},c===f&&React.createElement(Box,{p:3},a))},cs=(0,s.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"}),tl=n=>{const a=cs(n),{ariaLabel:c,onClick:f}=n;return React.createElement(IconButton,{onClick:f,className:a.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":c},n.children)},us=(n,a)=>a?n?"20px":"0":"40px",ds=(0,s.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:a=>us(a.isFirstNav,a.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}})),nl=n=>{const a=ds(n),{isFirstNav:c,isFirstIndex:f,...p}=n;return React.createElement(Tab,{className:a.root,disableRipple:!0,...p})},fs=(0,s.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),rl=n=>{const a=fs(n);return React.createElement(Tabs,{classes:a,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},ms=(0,s.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 al(n){const{tabs:a}=n,c=ms(),[f,p]=useState([0,0]),[R,I]=useState(0),[U,G]=useState(0),[Z,ae]=useState([[]]),ce=useRef(),{width:ve}=useWindowSize(),Re=(en,_e)=>{p([R,_e])},Ie=()=>{I(R-1)},gt=()=>{I(R+1)},Gt=()=>R+1<Z.length;useEffect(()=>{const en=20,_e=R===0?1:2,Wt=ce.current.offsetWidth-en-_e*30,Dt=f[0]*U+f[1],rn=Math.floor(Wt/170);G(rn),ae(chunkArray(a,rn)),p([Math.floor(Dt/rn),Dt%rn])},[ve,a]);const cn=R===f[0]?f[1]:!1;return React.createElement("div",{className:c.root},React.createElement(AppBar,{ref:ce,className:c.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:cn,onChange:Re,selectionFollowsFocus:!0},R!==0&&React.createElement(StyledIcon,{onClick:Ie,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),Z[R].map((en,_e)=>React.createElement(StyledTab,{value:_e,isFirstIndex:_e===0,isFirstNav:R===0,key:_e,icon:en.icon||void 0,label:en.label||void 0})),Gt()&&React.createElement(StyledIcon,{isNext:!0,onClick:gt,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),cn!==!1?Z[R].map((en,_e)=>React.createElement(TabPanel,{key:_e,value:_e,index:cn},en.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:f[1],index:f[1]},Z[f[0]][f[1]].content))}var ol=e(44311);function hs(n,a){const c=n[n.length-1];if(!!c)return c>=.9?a.palette.status.ok:c>=.5?a.palette.status.warning:a.palette.status.error}function sl(n){var c;const a=useTheme();return n.data?React.createElement(Sparklines,{width:120,height:30,min:0,max:1,...n},n.title&&React.createElement("title",null,n.title),React.createElement(SparklinesLine,{color:(c=n.color)!=null?c:hs(n.data,a)})):null}const gs=n=>(0,s.Z)(a=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:a.spacing(2),textAlign:n.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:a.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),ps=({title:n="Unknown page",className:a})=>t.createElement(Fe.Z,{variant:"h4",component:"h2",className:a,"data-testid":"header-title"},n);function ys(n){const{description:a,title:c,titleComponent:f=void 0,children:p,textAlign:R="left"}=n,I=gs({textAlign:R})(),U=f||t.createElement(ps,{title:c,className:I.title});return t.createElement(t.Fragment,null,t.createElement(da.q,{title:c}),t.createElement("div",{className:I.container},t.createElement("div",{className:I.leftItemsBox},U,a&&t.createElement(Fe.Z,{className:I.description,variant:"body2"},a)),t.createElement("div",{className:I.rightItemsBox},p)))}var Es=e(29788);const As=(0,s.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"}),vs=()=>{const n=As();return t.createElement("img",{src:Es,className:n.micDrop,alt:"Girl dropping mic from her hands"})},Rs=(0,s.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 Ss(n){const{status:a,statusMessage:c,additionalInfo:f}=n,p=Rs(),R=(0,vn.s0)(),I=Ma();return t.createElement(we.Z,{container:!0,spacing:0,className:p.container},t.createElement(vs,null),t.createElement(we.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(Fe.Z,{"data-testid":"error",variant:"body1",className:p.subtitle},"ERROR ",a,": ",c),t.createElement(Fe.Z,{variant:"body1",className:p.subtitle},f),t.createElement(Fe.Z,{variant:"h2",className:p.title},"Looks like someone dropped the mic!"),t.createElement(Fe.Z,{variant:"h6"},t.createElement(T,{to:"#","data-testid":"go-back-link",onClick:()=>R(-1)},"Go back"),"... or please ",t.createElement(T,{to:I.url},"contact support")," if you think this is a bug.")))}var Cs=e(16173);const Ts=(0,se.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(Fe.Z),ha=(0,se.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(re.Z);function Ps(n){const{children:a,...c}=n,[f,p]=t.useState(null),R=t.Children.toArray(a),[I,U,...G]=R,Z=G.length?G.pop():R[R.length-1],ae=R.length>3,ce=Ie=>{p(Ie.currentTarget)},ve=()=>{p(null)},Re=Boolean(f);return t.createElement(t.Fragment,null,t.createElement(Cs.Z,{"aria-label":"breadcrumb",...c},R.length>1&&t.createElement(ha,{clone:!0},I),R.length>2&&t.createElement(ha,{clone:!0},U),ae&&t.createElement(Ts,{onClick:ce},"..."),t.createElement(re.Z,{style:{fontStyle:"italic"}},Z)),t.createElement(ba.ZP,{open:Re,anchorEl:f,onClose:ve,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(he.Z,null,G.map((Ie,gt)=>t.createElement(Le.Z,{key:gt,button:!0},t.createElement(ha,{clone:!0},Ie))))))}const Is=(0,s.Z)(n=>({header:{gridArea:"pageHeader",padding:n.spacing(3),width:"100%",boxShadow:n.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",backgroundImage:n.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover"},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto"},title:{color:n.palette.bursts.fontColor,wordBreak:"break-all",fontSize:n.typography.h3.fontSize,marginBottom:0},subtitle:{color:n.palette.common.white,opacity:.8,display:"inline-block",marginTop:n.spacing(1)},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"}),Ls=({type:n,typeLink:a,classes:c,pageTitle:f})=>n?a?t.createElement(Ps,{className:c.breadcrumb},t.createElement(T,{to:a},n),t.createElement(Fe.Z,null,f)):t.createElement(Fe.Z,{className:c.type},n):null,Os=({pageTitle:n,classes:a,tooltip:c})=>{const f=t.createElement(Fe.Z,{className:a.title,variant:"h1"},n);return c?t.createElement(O.ZP,{title:c,placement:"top-start"},f):f},xs=({classes:n,subtitle:a})=>a?typeof a!="string"?t.createElement(t.Fragment,null,a):t.createElement(Fe.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},a):null;function Va(n){const{children:a,pageTitleOverride:c,style:f,subtitle:p,title:R,tooltip:I,type:U,typeLink:G}=n,Z=Is(),ce=(0,l.useApi)(l.configApiRef).getOptionalString("app.title")||"Backstage",ve=c||R,Re=R||c,Ie=`${ve} | %s | ${ce}`,gt=`${ve} | ${ce}`;return t.createElement(t.Fragment,null,t.createElement(da.q,{titleTemplate:Ie,defaultTitle:gt}),t.createElement("header",{style:f,className:Z.header},t.createElement(re.Z,{className:Z.leftItemsBox},t.createElement(Ls,{classes:Z,type:U,typeLink:G,pageTitle:Re}),t.createElement(Os,{classes:Z,pageTitle:Re,tooltip:I}),t.createElement(xs,{classes:Z,subtitle:p})),t.createElement(we.Z,{container:!0,className:Z.rightItemsBox,spacing:4},a)))}const Ds=(0,s.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"}),bs=({value:n,className:a})=>t.createElement(Fe.Z,{className:a},n);function Fs(n){const{label:a,value:c,url:f}=n,p=Ds(),R=t.createElement(bs,{className:p.value,value:c||"<Unknown>"});return t.createElement(we.Z,{item:!0},t.createElement("span",{className:p.root},t.createElement(Fe.Z,{className:p.label},a),f?t.createElement(T,{to:f},R):R))}const Bs={hour:"2-digit",minute:"2-digit"};function Ga(n){const a=new Date,c=window.navigator.language,f=[];if(!n.has("homepage.clocks"))return f;const p=n.getConfigArray("homepage.clocks");for(const R of p)if(R.has("label")&&R.has("timezone")){let I=R.getString("label");const U={timeZone:R.getString("timezone"),...Bs};try{new Date().toLocaleString(c,U)}catch{console.warn(`The timezone ${U.timeZone} is invalid. Defaulting to GMT`),U.timeZone="GMT",I="GMT"}const G=a.toLocaleTimeString(c,U);f.push({time:G,label:I})}return f}function il(n){const a=useApi(configApiRef),c=[],[f,p]=React.useState(c);return React.useEffect(()=>{p(Ga(a));const R=setInterval(()=>{p(Ga(a))},1e3);return()=>{clearInterval(R)}},[a]),f.length!==0?React.createElement(React.Fragment,null,f.map(R=>React.createElement(HeaderLabel,{label:R.label,value:R.time,key:R.label}))):null}const Ms=n=>(0,u.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),Ns=(0,s.Z)(Ms,{name:"BackstageItemCardHeader"});function Us(n){const{title:a,subtitle:c,children:f}=n,p=Ns(n);return t.createElement("div",{className:p.root},c&&t.createElement(Fe.Z,{variant:"subtitle2",component:"h3"},c),a&&t.createElement(Fe.Z,{variant:"h6",component:"h4"},a),f)}function ll(n){const{description:a,tags:c,title:f,type:p,subtitle:R,label:I,onClick:U,href:G}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:f,subtitle:R||p})),React.createElement(CardContent,null,(c==null?void 0:c.length)?React.createElement(Box,null,c.map((Z,ae)=>React.createElement(Chip,{size:"small",label:Z,key:ae}))):null,a),React.createElement(CardActions,null,!G&&React.createElement(Button,{to:"#",onClick:U,color:"primary"},I),G&&React.createElement(Button,{to:G,color:"primary"},I)))}const $s=n=>(0,u.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Zs=(0,s.Z)($s,{name:"BackstageItemCardGrid"});function ws(n){const{children:a,...c}=n,f=Zs(c);return t.createElement("div",{className:f.root,...c},a)}var zs=e(41547);const Ws=(0,s.Z)(()=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",height:"100%",overflowY:"auto"}}),{name:"BackstagePage"});function Ka(n){const{themeId:a,children:c}=n,f=Ws();return t.createElement(zs.Z,{theme:p=>({...p,page:p.getPageTheme({themeId:a})})},t.createElement("div",{className:f.root},c))}function Hs(n){const{themeId:a,children:c,...f}=n;return t.createElement(Ka,{themeId:a},t.createElement(Va,{...f}),c)}var ln=e(30195);const cl=ln.z.object({providerInfo:ln.z.object({}).catchall(ln.z.unknown()).optional(),profile:ln.z.object({email:ln.z.string().optional(),displayName:ln.z.string().optional(),picture:ln.z.string().optional()}),backstageIdentity:ln.z.object({token:ln.z.string(),identity:ln.z.object({type:ln.z.literal("user"),userEntityRef:ln.z.string(),ownershipEntityRefs:ln.z.array(ln.z.string())})})}),Ja={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function js(n){const a=new Date(Date.now()+Ja.defaultTokenExpiryMillis);if(!n)return a;const[c,f,p]=n.split("."),R=JSON.parse(atob(f));return typeof R.exp!="number"?a:new Date(R.exp*1e3-Ja.tokenExpiryMarginMillis)}class ul{constructor(a){k(this,"options");k(this,"abortController");k(this,"state");this.options=a,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:a}=this.getSessionSync(),c=a.identity.userEntityRef,f=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(c);if(!f)throw new TypeError(`Invalid user entity reference "${c}"`);return f[3]}async getIdToken(){return(await this.getSessionAsync()).backstageIdentity.token}getProfile(){return this.getSessionSync().profile}async getProfileInfo(){return(await this.getSessionAsync()).profile}async getBackstageIdentity(){return(await this.getSessionAsync()).backstageIdentity.identity}async getCredentials(){return{token:(await this.getSessionAsync()).backstageIdentity.token}}async signOut(){this.abortController.abort()}getSessionSync(){if(this.state.type==="active")return this.state.session;if(this.state.type==="fetching"&&this.state.previous)return this.state.previous;throw new Error("No session available. Try reloading your browser page.")}async getSessionAsync(){if(this.state.type==="fetching")return this.state.promise;if(this.state.type==="active"&&new Date<this.state.expiresAt)return this.state.session;const a=this.state.type==="active"?this.state.session:void 0,c=this.fetchSession().then(f=>(this.state={type:"active",session:f,expiresAt:js(f.backstageIdentity.token)},f),f=>{throw this.state={type:"failed",error:f},f});return this.state={type:"fetching",promise:c,previous:a},c}async fetchSession(){const a=await this.options.discoveryApi.getBaseUrl("auth"),c=await fetch(`${a}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!c.ok)throw await ResponseError.fromResponse(c);return proxiedSessionSchema.parse(await c.json())}}const dl=n=>{const a=useApi(discoveryApiRef),{loading:c,error:f}=useAsync(async()=>{const p=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:a});await p.start(),n.onSignInSuccess(p)},[]);return c?React.createElement(Progress,null):f?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:f}):null},Zr=72,Ya=24,Qa=18,Jt={drawerWidthClosed:Zr,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:Zr,iconSize:Zr-Ya*2,iconPadding:Ya,selectedIndicatorWidth:3,userBadgePadding:Qa,userBadgeDiameter:Zr-Qa*2,mobileSidebarHeight:56},ga={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:Jt.defaultOpenDelayMs+200},fl="@backstage/core/sidebar-intro-dismissed",pr=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),Xa=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var wr;(function(n){const a="sidebarPinState";n.SIDEBAR_PIN_STATE=a})(wr||(wr={}));const ka={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(wr.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(wr.SIDEBAR_PIN_STATE,JSON.stringify(n))}},Vs=(0,s.Z)(n=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",[n.breakpoints.up("sm")]:{paddingLeft:({isPinned:a})=>a?Jt.drawerWidthOpen:Jt.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:Jt.mobileSidebarHeight}}}),{name:"BackstageSidebarPage"}),yr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1});function Gs(n){const[a,c]=(0,t.useState)(()=>ka.getSidebarPinState());(0,t.useEffect)(()=>{ka.setSidebarPinState(a)},[a]);const f=(0,Oe.Z)(I=>I.breakpoints.down("xs"),{noSsr:!0}),p=()=>c(!a),R=Vs({isPinned:a});return t.createElement(yr.Provider,{value:{isPinned:a,toggleSidebarPinState:p,isMobile:f}},t.createElement("div",{className:R.root},n.children))}var Ks=e(50023),Js=e(4190),Ys=e(87685),Qs=e(44882),Xs=e(57998);const ks=(0,s.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:{color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${Jt.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"},label:{display:"none"}})),_s=n=>{const{to:a,label:c,icon:f,value:p}=n,R=ks(),I=(0,vn.TH)(),{selectedMenuItemIndex:U,setSelectedMenuItemIndex:G}=(0,t.useContext)(eo),Z=(ce,ve)=>{G(ve===U?-1:ve)},ae=p===U&&U>=0||p!==U&&!(U>=0)&&a===I.pathname;return t.createElement(Xs.Z,{label:c,icon:f,component:T,to:a||I.pathname,onChange:Z,value:p,selected:ae,classes:R})},qa=n=>{const{children:a,to:c,label:f,icon:p,value:R}=n,{isMobile:I}=(0,t.useContext)(yr);return I?t.createElement(_s,{to:c,label:f,icon:p,value:R}):t.createElement(t.Fragment,null,a)},_a=(0,s.Z)(n=>({root:{position:"fixed",backgroundColor:n.palette.navigation.background,color:n.palette.navigation.color,bottom:0,left:0,right:0,zIndex:n.zIndex.snackbar,borderTop:"1px solid #383838"},overlay:{background:n.palette.navigation.background,width:"100%",bottom:`${Jt.mobileSidebarHeight}px`,height:`calc(100% - ${Jt.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}})),ei=n=>(0,tr.orderBy)(n,({props:{priority:a}})=>Number.isInteger(a)?a:-1,"desc"),ti=({children:n,label:a="Menu",open:c,onClose:f})=>{const p=_a();return t.createElement(Js.ZP,{anchor:"bottom",open:c,onClose:f,classes:{paperAnchorBottom:p.overlay}},t.createElement(re.Z,{className:p.overlayHeader},t.createElement(Fe.Z,{variant:"h3"},a),t.createElement(N.Z,{onClick:f,classes:{root:p.overlayHeaderClose}},t.createElement(Ys.Z,null))),t.createElement(re.Z,null,n))},eo=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),ni=n=>{const{children:a}=n,c=_a(),f=(0,vn.TH)(),[p,R]=(0,t.useState)(-1);(0,t.useEffect)(()=>{R(-1)},[f.pathname]);let I=(0,l.useElementFilter)(a,G=>G.getElements().filter(Z=>Z.type===qa));if(a)I.length?I=ei(I):I.push(t.createElement(qa,{key:"default_menu",icon:t.createElement(Qs.Z,null)},a));else return null;const U=p>=0&&!I[p].props.to;return t.createElement(pr.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(eo.Provider,{value:{selectedMenuItemIndex:p,setSelectedMenuItemIndex:R}},t.createElement(ti,{label:I[p]&&I[p].props.label,open:U,onClose:()=>R(-1)},I[p]&&I[p].props.children),t.createElement(Ks.Z,{className:c.root,"data-testid":"mobile-sidebar-root"},I)))},ri=(0,s.Z)(n=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:n.zIndex.appBar,background:n.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",width:Jt.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:Jt.drawerWidthOpen,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shorter})}}),{name:"BackstageSidebar"});var fn;(function(n){const a=0;n[n.Closed=a]="Closed";const c=a+1;n[n.Idle=c]="Idle";const f=c+1;n[n.Open=f]="Open"})(fn||(fn={}));const ai=n=>{const{openDelayMs:a=Jt.defaultOpenDelayMs,closeDelayMs:c=Jt.defaultCloseDelayMs,disableExpandOnHover:f,children:p}=n,R=ri(),I=(0,Oe.Z)(Gt=>Gt.breakpoints.down("md"),{noSsr:!0}),[U,G]=(0,t.useState)(fn.Closed),Z=(0,t.useRef)(),{isPinned:ae,toggleSidebarPinState:ce}=(0,t.useContext)(yr),ve=()=>{ae||f||(Z.current&&(clearTimeout(Z.current),Z.current=void 0),U!==fn.Open&&!I&&(Z.current=window.setTimeout(()=>{Z.current=void 0,G(fn.Open)},a),G(fn.Idle)))},Re=()=>{ae||f||(Z.current&&(clearTimeout(Z.current),Z.current=void 0),U===fn.Idle?G(fn.Closed):U===fn.Open&&(Z.current=window.setTimeout(()=>{Z.current=void 0,G(fn.Closed)},c)))},Ie=U===fn.Open&&!I||ae,gt=Gt=>{Gt?(G(fn.Open),ce()):(G(fn.Closed),ce())};return t.createElement(pr.Provider,{value:{isOpen:Ie,setOpen:gt}},t.createElement("div",{onMouseEnter:ve,onFocus:ve,onMouseLeave:Re,onBlur:Re,"data-testid":"sidebar-root",className:de()(R.drawer,{[R.drawerOpen]:Ie})},p))},oi=n=>{const{children:a,openDelayMs:c,closeDelayMs:f,disableExpandOnHover:p}=n,{isMobile:R}=(0,t.useContext)(yr);return R?t.createElement(ni,null,a):t.createElement(ai,{openDelayMs:c,closeDelayMs:f,disableExpandOnHover:p},a)};function to(n,a){const c=new URLSearchParams(a.search).toString(),f=Nr().parse(c),p=new URLSearchParams(n.search).toString(),R=Nr().parse(p);return(0,tr.isEqual)(a.pathname,n.pathname)&&(0,tr.isMatch)(R,f)}const si=(0,s.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"}})),ml=n=>{const{title:a,to:c,icon:f,dropdownItems:p}=n,R=si(),{setIsHoveredOn:I}=useContext(SidebarItemWithSubmenuContext),U=()=>{I(!1)},G=useResolvedPath(c),Z=useLocation();let ae=isLocationMatch(Z,G);const[ce,ve]=useState(!1),Re=()=>{ve(!ce)};return p!==void 0?(p.some(Ie=>{const gt=resolvePath(Ie.to);return ae=isLocationMatch(Z,gt),ae}),React.createElement("div",{className:R.itemContainer},React.createElement("button",{onClick:Re,onTouchStart:Ie=>Ie.stopPropagation(),className:classnames(R.item,ae?R.selected:void 0)},React.createElement(f,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a),ce?React.createElement(ArrowDropUpIcon,{className:R.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:R.dropdownArrow})),p&&ce&&React.createElement("div",{className:R.dropdown},p.map((Ie,gt)=>React.createElement(Link,{component:NavLink,to:Ie.to,underline:"none",className:R.dropdownItem,onClick:U,onTouchStart:Gt=>Gt.stopPropagation(),key:gt},React.createElement(Typography,{className:R.textContent},Ie.title)))))):React.createElement("div",{className:R.itemContainer},React.createElement(Link,{component:NavLink,to:c,underline:"none",className:classnames(R.item,ae?R.selected:void 0),onClick:U,onTouchStart:Ie=>Ie.stopPropagation()},React.createElement(f,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a)))},ii=n=>(0,s.Z)(a=>{var c,f;return{root:{zIndex:1e3,position:"relative",overflow:"visible",width:a.spacing(7)+1},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[a.breakpoints.up("sm")]:{marginLeft:n.left,transition:a.transitions.create("margin-left",{easing:a.transitions.easing.sharp,duration:a.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(f=(c=a.palette.navigation.submenu)==null?void 0:c.background)!=null?f:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:ga.drawerWidthClosed,transitionDelay:`${ga.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:ga.drawerWidthOpen,[a.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:a.spacing(3),left:0,top:0}},title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[a.breakpoints.down("xs")]:{display:"none"}}}}),li=n=>{const{isOpen:a}=(0,t.useContext)(pr),c=a?Jt.drawerWidthOpen:Jt.drawerWidthClosed,f=ii({left:c})(),{isHoveredOn:p}=(0,t.useContext)(Xa),[R,I]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{I(p)},[p]),t.createElement("div",{className:de()(f.drawer,{[f.drawerOpen]:R})},t.createElement(Fe.Z,{variant:"h5",className:f.title},n.title),n.children)};var zr=e(76600),ci=e(26739),ui=e(98989),di=e(59797),fi=e(83543);const mi=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),hl=()=>{const n=mi();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 gl=null;const hi=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),pl=()=>{const n=hi();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 yl=null;const Wr=(0,s.Z)(n=>{var R,I,U,G;const{selectedIndicatorWidth:a,drawerWidthClosed:c,drawerWidthOpen:f,iconContainerWidth:p}=Jt;return{root:{color:n.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit"},closed:{width:c,justifyContent:"center"},open:{[n.breakpoints.up("sm")]:{width:f}},highlightable:{"&:hover":{background:(I=(R=n.palette.navigation.navItem)==null?void 0:R.hoverBackground)!=null?I:"#404040"}},highlighted:{background:(G=(U=n.palette.navigation.navItem)==null?void 0:U.hoverBackground)!=null?G:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:p,marginRight:-n.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:n.typography.fontSize},searchFieldHTMLInput:{padding:n.spacing(2,0,2)},searchContainer:{width:f-p},secondaryAction:{width:n.spacing(6),textAlign:"center",marginRight:n.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:n.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${a}px ${n.palette.navigation.indicator}`,color:n.palette.navigation.selectedColor},"&$closed":{width:c},"& $closedItemIcon":{paddingRight:a},"& $iconContainer":{marginLeft:-a}}}},{name:"BackstageSidebarItem"}),gi=(n,a)=>(0,l.useElementFilter)(n.props.children,c=>{let f=!1;return c.getElements().forEach(({props:{to:p,dropdownItems:R}})=>{if(!f){if(R==null?void 0:R.length){R.forEach(({to:I})=>f=f||to(a,(0,vn.i3)(I)));return}p&&(f=to(a,(0,vn.i3)(p)))}}),f},[a.pathname]);function no(n){return n.to===void 0}const pi=t.forwardRef(function({to:a,end:c,style:f,className:p,activeStyle:R,caseSensitive:I,activeClassName:U="active","aria-current":G="page",...Z},ae){let{pathname:ce}=(0,vn.TH)(),{pathname:ve}=(0,vn.WU)(a);I||(ce=ce.toLocaleLowerCase("en-US"),ve=ve.toLocaleLowerCase("en-US"));let Re=ce===ve;!Re&&!c&&(Re=ce.startsWith(`${ve}/`));const Ie=Re?G:void 0;return t.createElement(i.rU,{...Z,to:a,ref:ae,"aria-current":Ie,style:{...f,...Re?R:void 0},className:de()([p,Re?U:void 0])})}),ro=(0,t.forwardRef)((n,a)=>{const{icon:c,text:f,hasNotifications:p=!1,disableHighlight:R=!1,onClick:I,children:U,className:G,...Z}=n,ae=Wr(),{isOpen:ce}=(0,t.useContext)(pr),ve=t.createElement(ci.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!p,className:de()({[ae.closedItemIcon]:!ce})},t.createElement(c,{fontSize:"small"})),Re=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:ae.iconContainer},ve),f&&t.createElement(Fe.Z,{variant:"subtitle2",className:ae.label},f),t.createElement("div",{className:ae.secondaryAction},U)),Ie=ce?Re:ve,gt={onClick:I,className:de()(G,ae.root,ce?ae.open:ae.closed,no(n)&&ae.buttonItem,{[ae.highlightable]:!R})};return no(n)?t.createElement("button",{"aria-label":f,...gt,ref:a},Ie):t.createElement(pi,{...gt,activeClassName:ae.selected,to:n.to?n.to:"",ref:a,"aria-label":f||n.to,...Z},Ie)}),yi=({children:n,...a})=>{const c=Wr(),[f,p]=(0,t.useState)(!1),R=(0,vn.TH)(),I=gi(n,R),U=(0,Oe.Z)(ce=>ce.breakpoints.down("sm")),G=()=>{p(!0)},Z=()=>{p(!1)},ae=()=>U?f?t.createElement(di.Z,{fontSize:"small",className:c.submenuArrow}):t.createElement(fi.Z,{fontSize:"small",className:c.submenuArrow}):!f&&t.createElement(ui.Z,{fontSize:"small",className:c.submenuArrow});return t.createElement(Xa.Provider,{value:{isHoveredOn:f,setIsHoveredOn:p}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:Z,onTouchStart:f?Z:G,onMouseEnter:G,className:de()(f&&c.highlighted)},t.createElement(ro,{className:I?c.selected:"",...a},ae()),f&&n))},ao=(0,t.forwardRef)((n,a)=>{const[c]=(0,l.useElementFilter)(n.children,f=>f.getElements().filter(p=>p.type===li));return c?t.createElement(yi,{...n},c):t.createElement(ro,{...n,ref:a})});function El(n){const[a,c]=useState(""),f=Wr(),p=n.icon?n.icon:SearchIcon,R=()=>{n.onSearch(a),c("")},I=ae=>{ae.key==="Enter"&&(ae.preventDefault(),R())},U=ae=>{c(ae.target.value)},G=ae=>{ae.preventDefault(),ae.stopPropagation()},Z=ae=>{R(),ae.preventDefault()};return React.createElement("div",{className:f.searchRoot},React.createElement(ao,{icon:p,to:n.to,onClick:Z,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:a,onClick:G,onChange:U,onKeyDown:I,className:f.searchContainer,InputProps:{disableUnderline:!0,className:f.searchField},inputProps:{className:f.searchFieldHTMLInput}})))}const Al=(0,zr.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),vl=(0,zr.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),Ei=(0,zr.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),Ai=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),Rl=(0,zr.Z)("div")(({theme:n})=>{const a=Ai(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":a,"&:hover":a}}),Sl=()=>{const n=Wr(),{isOpen:a,setOpen:c}=useContext(SidebarContext);if(useMediaQuery(R=>R.breakpoints.down("md"),{noSsr:!0}))return null;const p=()=>{c(!a)};return React.createElement("button",{onClick:p,className:n.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:n.arrows},a?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},vi=(0,s.Z)(n=>({introCard:{color:"#b5b5b5",fontSize:12,width:Jt.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:Jt.iconPadding,paddingRight:Jt.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 Ri(n){const a=vi(),{text:c,onClose:f}=n,p=()=>f();return React.createElement("div",{className:a.introCard},React.createElement(Typography,{variant:"subtitle2"},c),React.createElement("div",{className:a.introDismiss},React.createElement(Link,{component:"button",onClick:p,underline:"none",className:a.introDismissLink},React.createElement(CloseIcon,{className:a.introDismissIcon}),React.createElement(Typography,{component:"span",className:a.introDismissText},"Dismiss"))))}const oo=n=>{const{text:a,onDismiss:c}=n,[f,p]=useState(!1),R=()=>{p(!0)};return React.createElement(Collapse,{in:!f,onExited:c},React.createElement(Ri,{text:a,onClose:R}))},Si=null,Ci="And your recently viewed plugins will pop up here!";function Cl(n){const{isOpen:a}=useContext(SidebarContext),c={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[f,p]=useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:R,recentlyViewedItemsDismissed:I}=f!=null?f:{},U=()=>{p(Z=>({...c,...Z,starredItemsDismissed:!0}))},G=()=>{p(Z=>({...c,...Z,recentlyViewedItemsDismissed:!0}))};return a?React.createElement(React.Fragment,null,!R&&React.createElement(React.Fragment,null,React.createElement(oo,{text:Si,onDismiss:U}),React.createElement(SidebarDivider,null)),!I&&React.createElement(oo,{text:Ci,onDismiss:G})):null}const Ti=(0,s.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),pa=({children:n})=>{const a=Ti();return t.createElement(we.Z,{component:"li",item:!0,classes:a},n)};class ya{getUserId(){return"guest"}async getIdToken(){}getProfile(){return{email:"guest@example.com",displayName:"Guest"}}async getProfileInfo(){return{email:"guest@example.com",displayName:"Guest"}}async getBackstageIdentity(){const a="user:default/guest";return{type:"user",userEntityRef:a,ownershipEntityRefs:[a]}}async getCredentials(){return{}}async signOut(){}}function Pi(n){const[a,c,f]=n.split(".");return JSON.parse(atob(c))}class Ea{constructor(a){this.result=a}getUserId(){return this.result.userId}static fromResult(a){return new Ea(a)}async getIdToken(){var a,c;return(c=(a=this.result).getIdToken)==null?void 0:c.call(a)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const a=await this.getIdToken();if(!a){const p=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:p,ownershipEntityRefs:[p]}}const{sub:c,ent:f}=Pi(a);return{type:"user",userEntityRef:c,ownershipEntityRefs:f!=null?f:[]}}async getCredentials(){var c,f;return{token:await((f=(c=this.result).getIdToken)==null?void 0:f.call(c))}}async signOut(){var a,c;return(c=(a=this.result).signOut)==null?void 0:c.call(a)}}class Er{constructor(a,c,f){k(this,"profilePromise");this.identity=a,this.authApi=c,this.profile=f}static createGuest(){return new ya}static fromLegacy(a){return Ea.fromResult(a)}static create(a){return new Er(a.identity,a.authApi,a.profile)}getUserId(){const a=this.identity.userEntityRef,c=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(a);if(!c)throw new TypeError(`Invalid user entity reference "${a}"`);return c[3]}async getIdToken(){return(await this.authApi.getBackstageIdentity()).token}getProfile(){if(!this.profile)throw new Error("The identity API does not implement synchronous profile fetching, use getProfileInfo() instead");return this.profile}async getProfileInfo(){if(this.profilePromise)return await this.profilePromise;try{return this.profilePromise=this.authApi.getProfile(),await this.profilePromise}catch(a){throw this.profilePromise=void 0,a}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const Ii={Component:({config:n,onSignInSuccess:a})=>{const{apiRef:c,title:f,message:p}=n,R=(0,l.useApi)(c),I=(0,l.useApi)(l.errorApiRef),U=async()=>{try{const G=await R.getBackstageIdentity({instantPopup:!0});if(!G)throw new Error(`The ${f} provider is not configured to support sign-in`);const Z=await R.getProfile();a(Er.create({identity:G.identity,profile:Z,authApi:R}))}catch(G){I.post(new Or.SP("Login failed",G))}};return t.createElement(pa,null,t.createElement(Ct,{variant:"fullHeight",title:f,actions:t.createElement(h.Z,{color:"primary",variant:"outlined",onClick:U},"Sign In")},t.createElement(Fe.Z,{variant:"body1"},p)))},loader:async(n,a)=>{const c=n.get(a),f=await c.getBackstageIdentity({optional:!0});if(!f)return;const p=await c.getProfile();return Er.create({identity:f.identity,profile:p,authApi:c})}},Li={Component:({onSignInSuccess:n})=>t.createElement(pa,null,t.createElement(Ct,{title:"Guest",variant:"fullHeight",actions:t.createElement(h.Z,{color:"primary",variant:"outlined",onClick:()=>n(new ya)},"Enter")},t.createElement(Fe.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 ya};var Oi=e(94106),so=e(86619),io=e(74828),xi=e(45455),Di=e.n(xi);const bi=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,Fi=(0,s.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),lo=n=>{const{ref:a,...c}=n;return{inputRef:a,...c}},Bi={Component:({onSignInSuccess:n})=>{const a=Fi(),{register:c,handleSubmit:f,formState:p}=(0,Oi.cI)({mode:"onChange"}),{errors:R}=p,I=({userId:U})=>{n(Er.fromLegacy({userId:U,profile:{email:`${U}@example.com`}}))};return t.createElement(pa,null,t.createElement(Ct,{title:"Custom User",variant:"fullHeight"},t.createElement(Fe.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:a.form,onSubmit:f(I)},t.createElement(Zn.Z,null,t.createElement(so.Z,{...lo(c("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(R.userId)}),R.userId&&t.createElement(io.Z,{error:!0},R.userId.message)),t.createElement(Zn.Z,null,t.createElement(so.Z,{...lo(c("idToken",{required:!1,validate:U=>!U||bi.test(U)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(R.idToken)}),R.idToken&&t.createElement(io.Z,{error:!0},R.idToken.message)),t.createElement(h.Z,{type:"submit",color:"primary",variant:"outlined",className:a.button,disabled:!(p==null?void 0:p.isDirty)||!Di()(R)},"Continue"))))},loader:async()=>{}},Hr="@backstage/core:SignInPage:provider",co={guest:Li,custom:Bi,common:Ii};function uo(n,a){if(n in a)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function Dl(n){return n.reduce((c,f)=>{if(typeof f=="string")return uo(f,c),c[f]={components:co[f],id:f},c;const{id:p}=f;return uo(p,c),c[p]={components:co.common,id:p,config:f},c},{})}const bl=(n,a)=>{const c=useApi(errorApiRef),f=useApiHolder(),[p,R]=useState(!0),I=useCallback(G=>{a(IdentityApiSignOutProxy.from({identityApi:G,signOut:async()=>{var Z;localStorage.removeItem(Hr),await((Z=G.signOut)==null?void 0:Z.call(G))}}))},[a]);useLayoutEffect(()=>{var ce;if(!p)return;const G=localStorage.getItem(Hr);if(G===null){R(!1);return}const Z=n[G];if(!Z){R(!1);return}let ae=!1;return Z.components.loader(f,(ce=Z.config)==null?void 0:ce.apiRef).then(ve=>{ae||(ve?I(ve):R(!1))}).catch(ve=>{ae||(localStorage.removeItem(Hr),c.post(ve),R(!1))}),()=>{ae=!0}},[p,c,a,f,n,I]);const U=useMemo(()=>Object.keys(n).map(G=>{const Z=n[G],{Component:ae}=Z.components,ce=ve=>{localStorage.setItem(Hr,Z.id),I(ve)};return React.createElement(ae,{key:Z.id,config:Z.config,onSignInSuccess:ce})}),[n,I]);return[p,U]},Mi=({onSignInSuccess:n,providers:a=[],title:c,align:f="left"})=>{const p=useApi(configApiRef),R=useStyles(),I=getSignInProviders(a),[U,G]=useSignInProviders(I,n);return U?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:p.getString("app.title")}),React.createElement(Content,null,c&&React.createElement(ContentHeader,{title:c,textAlign:f}),React.createElement(Grid,{container:!0,justifyContent:f==="center"?f:"flex-start",spacing:2,component:"ul",classes:R},G)))},Ni=({provider:n,auto:a,onSignInSuccess:c})=>{const f=useStyles(),p=useApi(n.apiRef),R=useApi(configApiRef),[I,U]=useState(),[G,Z]=useState(!1),ae=async({checkExisting:ce,showPopup:ve})=>{try{let Re;if(ce&&(Re=await p.getBackstageIdentity({optional:!0})),!Re&&(ve||a)&&(Z(!0),Re=await p.getBackstageIdentity({instantPopup:!0}),!Re))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Re){Z(!0);return}const Ie=await p.getProfile();c(UserIdentity.create({identity:Re.identity,authApi:p,profile:Ie}))}catch(Re){U(Re),Z(!0)}};return useMount(()=>ae({checkExisting:!0})),G?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:R.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:f},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{ae({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),I&&I.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},I.message)))))):React.createElement(Progress,null)};function Fl(n){return"provider"in n?React.createElement(Ni,{...n}):React.createElement(Mi,{...n})}const Ui=(0,s.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"}),$i=(0,se.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(te.Z);function Bl(n){const{slackChannel:a,errorBoundaryProps:c,children:f,title:p,deepLink:R,value:I,onChange:U}=n,G=Ui(),[Z,ae]=useState(0),ce=U||((Ie,gt)=>ae(gt));let ve;I?React.Children.map(f,Ie=>{(Ie==null?void 0:Ie.props.value)===I&&(ve=Ie==null?void 0:Ie.props.children)}):React.Children.map(f,(Ie,gt)=>{gt===Z&&(ve=Ie==null?void 0:Ie.props.children)});const Re=c||(a?{slackChannel:a}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Re},p&&React.createElement($i,{title:p}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:G,value:I||Z,onChange:ce},f),React.createElement(Divider,null),React.createElement(CardContent,null,ve),R&&React.createElement(BottomLink,{...R})))}const Zi=(0,s.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 Ml(n){const{children:a,...c}=n,f=Zi();return React.createElement(Tab,{disableRipple:!0,classes:f,...c})}},88609:function(J,o,e){"use strict";e.d(o,{Os:function(){return d},fC:function(){return g}});var r=e(76241),t=e(2784);const l=(0,r.CT)("analytics-context"),d=()=>{const u=(0,t.useContext)(l);if(u===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const m=u.atVersion(1);if(m===void 0)throw new Error("No context found for version 1.");return m},g=u=>{const{attributes:m,children:y}=u,E={...d(),...m},i=(0,r.EI)({1:E});return t.createElement(l.Provider,{value:i},y)};function s(u,m){const y=h=>React.createElement(g,{attributes:m},React.createElement(u,{...h}));return y.displayName=`WithAnalyticsContext(${u.displayName||u.name||"Component"})`,y}},28461:function(J,o,e){"use strict";e.d(o,{f:function(){return r.fC},z:function(){return s}});var r=e(88609),t=e(27399),l=e(2784);class d{constructor(m,y={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=m,this.context=y}setContext(m){this.context=m}captureEvent(m,y,{value:h,attributes:E}={}){try{this.analyticsApi.captureEvent({action:m,subject:y,value:h,attributes:E,context:this.context})}catch(i){console.warn("Error during analytics event capture. %o",i)}}}function g(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function s(){const u=(0,l.useRef)(null),m=(0,r.Os)(),y=g();function h(){return u.current===null&&(u.current=new d(y)),u.current}const E=h();return E.setContext(m),E}},39135:function(J,o,e){"use strict";e.d(o,{CL:function(){return Y},sM:function(){return t},$v:function(){return T},v_:function(){return j},hg:function(){return x},uB:function(){return F},iW:function(){return u},bq:function(){return S},Ds:function(){return b},NW:function(){return N},VE:function(){return O},W0:function(){return V},gP:function(){return ue},F4:function(){return d},ux:function(){return s},Kp:function(){return l},$4:function(){return Se},p_:function(){return m},br:function(){return y},ZM:function(){return je},eC:function(){return h},D:function(){return g},gW:function(){return i},Yp:function(){return E},E6:function(){return me}});var r=e(86833),t;(function(Ge){const Oe="SignedIn";Ge.SignedIn=Oe;const Je="SignedOut";Ge.SignedOut=Je})(t||(t={}));const l=(0,r.T0)({id:"core.auth.google"}),d=(0,r.T0)({id:"core.auth.github"}),g=(0,r.T0)({id:"core.auth.okta"}),s=(0,r.T0)({id:"core.auth.gitlab"}),u=(0,r.T0)({id:"core.auth.auth0"}),m=(0,r.T0)({id:"core.auth.microsoft"}),y=(0,r.T0)({id:"core.auth.oauth2"}),h=(0,r.T0)({id:"core.auth.oidc"}),E=(0,r.T0)({id:"core.auth.saml"}),i=(0,r.T0)({id:"core.auth.onelogin"}),S=(0,r.T0)({id:"core.auth.bitbucket"}),F=(0,r.T0)({id:"core.auth.atlassian"}),T=(0,r.T0)({id:"core.alert"}),j=(0,r.T0)({id:"core.analytics"}),x=(0,r.T0)({id:"core.apptheme"}),b=(0,r.T0)({id:"core.config"}),N=(0,r.T0)({id:"core.discovery"}),O=(0,r.T0)({id:"core.error"});var Y;(function(Ge){const Oe=0;Ge[Ge.None=Oe]="None";const Je=1;Ge[Ge.Active=Je]="Active"})(Y||(Y={}));const V=(0,r.T0)({id:"core.featureflags"}),ue=(0,r.T0)({id:"core.fetch"}),Se=(0,r.T0)({id:"core.identity"}),je=(0,r.T0)({id:"core.oauthrequest"}),me=(0,r.T0)({id:"core.storage"})},27399:function(J,o,e){"use strict";e.d(o,{createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.T0},useApi:function(){return r.h_},useApiHolder:function(){return r.I_},FeatureFlagState:function(){return t.CL},SessionState:function(){return t.sM},alertApiRef:function(){return t.$v},analyticsApiRef:function(){return t.v_},appThemeApiRef:function(){return t.hg},atlassianAuthApiRef:function(){return t.uB},auth0AuthApiRef:function(){return t.iW},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},discoveryApiRef:function(){return t.NW},errorApiRef:function(){return t.VE},featureFlagsApiRef:function(){return t.W0},fetchApiRef:function(){return t.gP},githubAuthApiRef:function(){return t.F4},gitlabAuthApiRef:function(){return t.ux},googleAuthApiRef:function(){return t.Kp},identityApiRef:function(){return t.$4},microsoftAuthApiRef:function(){return t.p_},oauth2ApiRef:function(){return t.br},oauthRequestApiRef:function(){return t.ZM},oidcAuthApiRef:function(){return t.eC},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},samlAuthApiRef:function(){return t.Yp},storageApiRef:function(){return t.E6}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(o,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(o,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(o,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return r.auth0AuthApiRef}}),e.o(r,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(o,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(o,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(o,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(o,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(o,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(o,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return r.oauth2ApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return r.oidcAuthApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return r.samlAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(o,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(o,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(o,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(o,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(J,o,e){"use strict";e.d(o,{T:function(){return t}});class r{constructor(d){if(this.config=d,!d.id.split(".").flatMap(s=>s.split("-")).every(s=>s.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${d.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function t(l){return new r(l)}},25182:function(J,o,e){"use strict";e.d(o,{n:function(){return r}});function r(t,l){return"id"in t?{api:t,deps:{},factory:()=>l}:t}},86833:function(J,o,e){"use strict";e.d(o,{h_:function(){return r.h_},I_:function(){return r.I_},T0:function(){return t.T},createApiFactory:function(){return g.n}});var r=e(5761),t=e(90515),l=e(16362),d=e.n(l);e.o(l,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return l.FeatureFlagState}}),e.o(l,"SessionState")&&e.d(o,{SessionState:function(){return l.SessionState}}),e.o(l,"alertApiRef")&&e.d(o,{alertApiRef:function(){return l.alertApiRef}}),e.o(l,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return l.analyticsApiRef}}),e.o(l,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return l.appThemeApiRef}}),e.o(l,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return l.atlassianAuthApiRef}}),e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return l.auth0AuthApiRef}}),e.o(l,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return l.bitbucketAuthApiRef}}),e.o(l,"configApiRef")&&e.d(o,{configApiRef:function(){return l.configApiRef}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return l.discoveryApiRef}}),e.o(l,"errorApiRef")&&e.d(o,{errorApiRef:function(){return l.errorApiRef}}),e.o(l,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return l.featureFlagsApiRef}}),e.o(l,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return l.fetchApiRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return l.githubAuthApiRef}}),e.o(l,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return l.gitlabAuthApiRef}}),e.o(l,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return l.googleAuthApiRef}}),e.o(l,"identityApiRef")&&e.d(o,{identityApiRef:function(){return l.identityApiRef}}),e.o(l,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return l.microsoftAuthApiRef}}),e.o(l,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return l.oauth2ApiRef}}),e.o(l,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return l.oauthRequestApiRef}}),e.o(l,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return l.oidcAuthApiRef}}),e.o(l,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return l.oktaAuthApiRef}}),e.o(l,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return l.oneloginAuthApiRef}}),e.o(l,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return l.samlAuthApiRef}}),e.o(l,"storageApiRef")&&e.d(o,{storageApiRef:function(){return l.storageApiRef}}),e.o(l,"useApp")&&e.d(o,{useApp:function(){return l.useApp}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var g=e(25182)},16362:function(){},5761:function(J,o,e){"use strict";e.d(o,{I_:function(){return l},h_:function(){return d}});var r=e(2784),t=e(76241);function l(){const s=(0,t.Vt)("api-context");if(!s)throw new Error("API context is not available");const u=s.atVersion(1);if(!u)throw new Error("ApiContext v1 not available");return u}function d(s){const m=l().get(s);if(!m)throw new Error(`No implementation available for ${s}`);return m}function g(s){return function(m){const y=E=>{const i=l(),S={};for(const F in s)if(s.hasOwnProperty(F)){const T=s[F],j=i.get(T);if(!j)throw new Error(`No implementation available for ${T}`);S[F]=j}return React.createElement(m,{...E,...S})},h=m.displayName||m.name||"Component";return y.displayName=`withApis(${h})`,y}}},31311:function(J,o,e){"use strict";e.d(o,{q:function(){return r.q}});var r=e(32483),t=e(67229),l=e.n(t);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(J,o,e){"use strict";e.d(o,{q:function(){return t}});var r=e(76241);const t=()=>{const l=(0,r.Vt)("app-context");if(!l)throw new Error("App context is not available");const d=l.atVersion(1);if(!d)throw new Error("AppContext v1 not available");return d}},74181:function(J,o,e){"use strict";e.d(o,{R5:function(){return d},CO:function(){return i},P4:function(){return E},IY:function(){return g},vJ:function(){return x}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),l="__backstage_data";function d(b,N,O){var ue;const Y=b;let V=(ue=Y[l])!=null?ue:t.get(b);if(V||(V={map:new Map},Object.defineProperty(Y,l,{enumerable:!1,configurable:!0,writable:!1,value:V}),t.set(b,V)),V.map.has(N)){const Se=b.displayName||b.name;throw new Error(`Attempted to attach duplicate data "${N}" to component "${Se}"`)}V.map.set(N,O)}function g(b,N){var V;if(!b)return;const O=b.type;if(!O)return;const Y=(V=O[l])!=null?V:t.get(O);if(!!Y)return Y.map.get(N)}var s=e(2784),u=e(88609),m=e(31311),y=e(82772);class h extends s.Component{constructor(){super(...arguments);k(this,"state",{error:void 0});k(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(N){return{error:N}}render(){const{error:N}=this.state,{app:O,plugin:Y}=this.props,{ErrorBoundaryFallback:V}=O.getComponents();return N?s.createElement(V,{error:N,resetError:this.handleErrorReset,plugin:Y}):this.props.children}}function E(b){const{component:N,mountPoint:O,name:Y}=b;return S({component:{lazy:()=>N().then(V=>{const ue=je=>{try{(0,y.tg)(O)}catch(me){if(typeof me=="object"&&me!==null){const{message:Ge}=me;if(typeof Ge=="string"&&Ge.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${O} 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 me}return s.createElement(V,{...je})},Se=Y||V.displayName||V.name||"LazyComponent";return ue.displayName=`RoutableExtension(${Se})`,ue},V=>Se=>{const je=(0,m.q)(),{BootErrorPage:me}=je.getComponents();return s.createElement(me,{step:"load-chunk",error:V})})},data:{"core.mountPoint":O},name:Y})}function i(b){const{component:N,name:O}=b;return S({component:N,name:O})}function S(b){const{data:N={},name:O}=b;O||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let Y;if("lazy"in b.component){const ue=b.component.lazy;Y=(0,s.lazy)(()=>ue().then(Se=>({default:Se})))}else Y=b.component.sync;const V=O||Y.displayName||Y.name||"Component";return{expose(ue){const Se=je=>{const me=(0,m.q)(),{Progress:Ge}=me.getComponents(),Oe=N==null?void 0:N["core.mountPoint"];return s.createElement(s.Suspense,{fallback:s.createElement(Ge,null)},s.createElement(h,{app:me,plugin:ue},s.createElement(u.fC,{attributes:{pluginId:ue.getId(),...O&&{extension:O},...Oe&&{routeRef:Oe.id}}},s.createElement(Y,{...je}))))};d(Se,"core.plugin",ue);for(const[je,me]of Object.entries(N))d(Se,je,me);return Se.displayName=`Extension(${V})`,Se}}}var F=e(27399);function T(b,N,O,Y){return s.Children.toArray(b).flatMap(V=>{if(!(0,s.isValidElement)(V))return[];if(V.type===s.Fragment)return T(V.props.children,N,O,Y);if(g(V,"core.featureFlagged")){const ue=V.props;return("with"in ue?N.isActive(ue.with):!N.isActive(ue.without))?T(V.props.children,N,O,Y):[]}if(O===void 0||O(V))return[V];if(Y)throw new Error(Y);return T(V.props.children,N,O,Y)})}class j{constructor(N,O){this.node=N,this.featureFlagsApi=O}selectByComponentData(N){const O=T(this.node,this.featureFlagsApi,Y=>g(Y,N.key)!==void 0,N.withStrictError);return new j(O,this.featureFlagsApi)}findComponentData(N){return T(this.node,this.featureFlagsApi,Y=>g(Y,N.key)!==void 0).map(Y=>g(Y,N.key)).filter(Y=>Y!==void 0)}getElements(){return T(this.node,this.featureFlagsApi)}}function x(b,N,O=[]){const Y=(0,F.useApi)(F.featureFlagsApiRef),V=new j(b,Y);return(0,s.useMemo)(()=>N(V),[b,...O])}},80274:function(){},36964:function(J,o,e){"use strict";e.d(o,{AnalyticsContext:function(){return r.f},useAnalytics:function(){return r.z},FeatureFlagState:function(){return t.FeatureFlagState},SessionState:function(){return t.SessionState},alertApiRef:function(){return t.alertApiRef},analyticsApiRef:function(){return t.analyticsApiRef},appThemeApiRef:function(){return t.appThemeApiRef},atlassianAuthApiRef:function(){return t.atlassianAuthApiRef},auth0AuthApiRef:function(){return t.auth0AuthApiRef},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},githubAuthApiRef:function(){return t.githubAuthApiRef},gitlabAuthApiRef:function(){return t.gitlabAuthApiRef},googleAuthApiRef:function(){return t.googleAuthApiRef},identityApiRef:function(){return t.identityApiRef},microsoftAuthApiRef:function(){return t.microsoftAuthApiRef},oauth2ApiRef:function(){return t.oauth2ApiRef},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oidcAuthApiRef:function(){return t.oidcAuthApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},samlAuthApiRef:function(){return t.samlAuthApiRef},storageApiRef:function(){return t.storageApiRef},useApp:function(){return l.q},attachComponentData:function(){return d.R5},createComponentExtension:function(){return d.CO},createRoutableExtension:function(){return d.P4},getComponentData:function(){return d.IY},useElementFilter:function(){return d.vJ},createPlugin:function(){return u.r},createExternalRouteRef:function(){return m.x8},createRouteRef:function(){return m.NT},useRouteRef:function(){return m.tg},useRouteRefParams:function(){return m.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(o,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}});var l=e(31311);e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createApiRef")&&e.d(o,{createApiRef:function(){return l.createApiRef}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"useApi")&&e.d(o,{useApi:function(){return l.useApi}}),e.o(l,"useApiHolder")&&e.d(o,{useApiHolder:function(){return l.useApiHolder}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var d=e(74181),g=e(80274),s=e.n(g);e.o(g,"createApiFactory")&&e.d(o,{createApiFactory:function(){return g.createApiFactory}}),e.o(g,"createApiRef")&&e.d(o,{createApiRef:function(){return g.createApiRef}}),e.o(g,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return g.createExternalRouteRef}}),e.o(g,"createPlugin")&&e.d(o,{createPlugin:function(){return g.createPlugin}}),e.o(g,"createRouteRef")&&e.d(o,{createRouteRef:function(){return g.createRouteRef}}),e.o(g,"useApi")&&e.d(o,{useApi:function(){return g.useApi}}),e.o(g,"useApiHolder")&&e.d(o,{useApiHolder:function(){return g.useApiHolder}}),e.o(g,"useRouteRef")&&e.d(o,{useRouteRef:function(){return g.useRouteRef}}),e.o(g,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return g.useRouteRefParams}});var u=e(96896),m=e(82772)},96896:function(J,o,e){"use strict";e.d(o,{r:function(){return t}});class r{constructor(d){this.config=d}getId(){return this.config.id}getApis(){var d;return(d=this.config.apis)!=null?d:[]}getFeatureFlags(){var d,g;return(g=(d=this.config.featureFlags)==null?void 0:d.slice())!=null?g:[]}get routes(){var d;return(d=this.config.routes)!=null?d:{}}get externalRoutes(){var d;return(d=this.config.externalRoutes)!=null?d:{}}provide(d){return d.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(l){return new r(l)}},82772:function(J,o,e){var F,T,j;"use strict";e.d(o,{x8:function(){return y},NT:function(){return d},tg:function(){return i},Oi:function(){return S}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class l{constructor(b,N){k(this,F,"absolute");this.id=b,this.params=N}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}F=t;function d(x){var b;return new l(x.id,(b=x.params)!=null?b:[])}const g=/^\w+$/;class s{constructor(b,N,O,Y){k(this,T,"sub");this.id=b,this.path=N,this.parent=O,this.params=Y}toString(){return`routeRef{type=sub,id=${this.id}}`}}T=t;function u(x){const{id:b,path:N,parent:O}=x,Y=N.split("/").filter(Se=>Se.startsWith(":")).map(Se=>Se.substring(1)),V=[...O.params,...Y];if(O.params.some(Se=>Y.includes(Se)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!N.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${N}'`);if(N.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${N}'`);for(const Se of Y)if(!g.test(Se))throw new Error(`SubRouteRef path has invalid param, got '${Se}'`);return new s(b,N,O,V)}class m{constructor(b,N,O){k(this,j,"external");this.id=b,this.params=N,this.optional=O}toString(){return`routeRef{type=external,id=${this.id}}`}}j=t;function y(x){var b;return new m(x.id,(b=x.params)!=null?b:[],Boolean(x.optional))}var h=e(2784),E=e(10289);function i(x){const b=(0,E.TH)(),N=(0,r.Vt)("routing-context");if(!N)throw new Error("Routing context is not available");const O=N.atVersion(1),Y=(0,h.useMemo)(()=>O&&O.resolve(x,b),[O,x,b]);if(!N)throw new Error("useRouteRef used outside of routing context");if(!O)throw new Error("RoutingContext v1 not available");const V="optional"in x&&x.optional;if(!Y&&!V)throw new Error(`No path for ${x}`);return Y}function S(x){return(0,E.UO)()}},63865:function(J,o,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return ut}});var t=e(2784),l=e(9832),d=e(10289),g=e(49208),s=e(36964);const u=(0,s.createApiRef)({id:"plugin.permission.api"});var m;(function(v){const L="DENY";v.DENY=L;const W="ALLOW";v.ALLOW=W;const oe="CONDITIONAL";v.CONDITIONAL=oe})(m||(m={}));var y=e(10179),h=e(96279),E=e.n(h),i=e(9571),S=e(30195);const F=S.z.lazy(()=>S.z.object({rule:S.z.string(),params:S.z.array(S.z.unknown())}).or(S.z.object({anyOf:S.z.array(F)})).or(S.z.object({allOf:S.z.array(F)})).or(S.z.object({not:F}))),T=S.z.object({items:S.z.array(S.z.object({id:S.z.string(),result:S.z.literal(m.ALLOW).or(S.z.literal(m.DENY))}).or(S.z.object({id:S.z.string(),result:S.z.literal(m.CONDITIONAL),conditions:F})))});class j{constructor(L){k(this,"enabled");k(this,"discovery");var W;this.discovery=L.discovery,this.enabled=(W=L.config.getOptionalBoolean("permission.enabled"))!=null?W:!1}async authorize(L,W){if(!this.enabled)return L.map(He=>({result:m.ALLOW}));const oe={items:L.map(He=>({id:i.Z(),...He}))},Ee=await this.discovery.getBaseUrl("permission"),Ze=await E()(`${Ee}/authorize`,{method:"POST",body:JSON.stringify(oe),headers:{...this.getAuthorizationHeader(W==null?void 0:W.token),"content-type":"application/json"}});if(!Ze.ok)throw await y.VL.fromResponse(Ze);const Pe=await Ze.json();this.assertValidResponse(oe,Pe);const Ke=Pe.items.reduce((He,ft)=>(He[ft.id]=ft,He),{});return oe.items.map(He=>Ke[He.id])}getAuthorizationHeader(L){return L?{Authorization:`Bearer ${L}`}:{}}assertValidResponse(L,W){const Ee=T.parse(W).items.map(Pe=>Pe.id);if(!L.items.every(Pe=>Ee.includes(Pe.id)))throw new Error("Unexpected authorization response from permission-backend")}}class x{constructor(L,W){this.permissionClient=L,this.identityApi=W}static create(L){const{config:W,discovery:oe,identity:Ee}=L,Ze=new j({discovery:oe,config:W});return new x(Ze,Ee)}async authorize(L){return(await this.permissionClient.authorize([L],await this.identityApi.getCredentials()))[0]}}const b=(v,L)=>{const W=useApi(permissionApiRef),{loading:oe,error:Ee,value:Ze}=useAsync(async()=>{const{result:Pe}=await W.authorize({permission:v,resourceRef:L});return Pe},[W,v,L]);return oe?{loading:!0,allowed:!1}:Ee?{error:Ee,loading:!1,allowed:!1}:{loading:!1,allowed:Ze===AuthorizeResult.ALLOW}},N=v=>{const{permission:L,resourceRef:W,errorComponent:oe,...Ee}=v,Ze=usePermission(L,W),Pe=useApp(),{NotFoundErrorPage:Ke}=Pe.getComponents();let He=oe===void 0?React.createElement(Ke,null):oe;return Ze.loading?He=null:Ze.allowed&&(He=v.element),React.createElement(Route,{...Ee,element:He})},O=[(0,s.createApiFactory)({api:s.discoveryApiRef,deps:{configApi:s.configApiRef},factory:({configApi:v})=>g.UrlPatternDiscovery.compile(`${v.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,s.createApiFactory)({api:s.alertApiRef,deps:{},factory:()=>new g.AlertApiForwarder}),(0,s.createApiFactory)({api:s.analyticsApiRef,deps:{},factory:()=>new g.NoOpAnalyticsApi}),(0,s.createApiFactory)({api:s.errorApiRef,deps:{alertApi:s.alertApiRef},factory:({alertApi:v})=>{const L=new g.ErrorAlerter(v,new g.ErrorApiForwarder);return g.UnhandledErrorForwarder.forward(L,{hidden:!1}),L}}),(0,s.createApiFactory)({api:s.storageApiRef,deps:{errorApi:s.errorApiRef},factory:({errorApi:v})=>g.WebStorage.create({errorApi:v})}),(0,s.createApiFactory)({api:s.fetchApiRef,deps:{configApi:s.configApiRef,identityApi:s.identityApiRef,discoveryApi:s.discoveryApiRef},factory:({configApi:v,identityApi:L,discoveryApi:W})=>(0,g.createFetchApi)({middleware:[g.FetchMiddlewares.resolvePluginProtocol({discoveryApi:W}),g.FetchMiddlewares.injectIdentityAuth({identityApi:L,config:v})]})}),(0,s.createApiFactory)({api:s.oauthRequestApiRef,deps:{},factory:()=>new g.OAuthRequestManager}),(0,s.createApiFactory)({api:s.googleAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.GoogleAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.microsoftAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.MicrosoftAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.githubAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.GithubAuth.create({discoveryApi:v,oauthRequestApi:L,defaultScopes:["read:user"],environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oktaAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.OktaAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.gitlabAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.GitlabAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.auth0AuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.Auth0Auth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oauth2ApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.OAuth2.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.samlAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,configApi:L})=>g.SamlAuth.create({discoveryApi:v,environment:L.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oneloginAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.OneLoginAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oidcAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.OAuth2.create({discoveryApi:v,oauthRequestApi:L,provider:{id:"oidc",title:"Your Identity Provider",icon:()=>null},environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.bitbucketAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.BitbucketAuth.create({discoveryApi:v,oauthRequestApi:L,defaultScopes:["team"],environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.atlassianAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:L,configApi:W})=>g.AtlassianAuth.create({discoveryApi:v,oauthRequestApi:L,environment:W.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:u,deps:{discovery:s.discoveryApiRef,identity:s.identityApiRef,config:s.configApiRef},factory:({config:v,discovery:L,identity:W})=>x.create({config:v,discovery:L,identity:W})})];var Y=e(77277),V=e(9118),ue=e(62833);function Se({children:v}){return(0,d.GV)()?t.createElement(t.Fragment,null,v):t.createElement(d.VA,null,v)}const je=()=>t.createElement(V.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),me=({step:v,error:L})=>{let W="";return v==="load-config"?W=`The configuration failed to load, someone should have a look at this error: ${L.message}`:v==="load-chunk"&&(W=`Lazy loaded chunk failed to load, try to reload the page: ${L.message}`),t.createElement(Se,null,t.createElement(V.ErrorPage,{status:"501",statusMessage:W}))},Ge=({error:v,resetError:L,plugin:W})=>t.createElement(V.ErrorPanel,{title:`Error in ${W==null?void 0:W.getId()}`,defaultExpanded:!0,error:v},t.createElement(Y.Z,{variant:"outlined",onClick:L},"Retry")),Oe={Progress:V.Progress,Router:ue.VK,NotFoundErrorPage:je,BootErrorPage:me,ErrorBoundaryFallback:Ge};var Je=e(43642),rt=e(80079),Xe=e(90941),mt=e(32915),dt=e(40562),lt=e(21853),vt=e(60744),Tt=e(66569),Pt=e(30254),Rt=e(13384),pt=e(15933),Nt=e(58838),Ut=e(86737),Ot=e(4989),bt=e(44407),ht=e(18628),At=e(84219),$t=e(98685),De=e(39781);const st={brokenImage:rt.Z,catalog:ht.Z,scaffolder:mt.Z,techdocs:dt.Z,search:lt.Z,chat:vt.Z,dashboard:Tt.Z,docs:Pt.Z,email:Rt.Z,github:Nt.Z,group:At.Z,help:Ut.Z,"kind:api":pt.Z,"kind:component":bt.Z,"kind:domain":Je.Z,"kind:group":At.Z,"kind:location":Ot.Z,"kind:system":Xe.Z,"kind:user":$t.Z,user:$t.Z,warning:De.Z};var it=e(73689),le=e(48032);const Q={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")`},P={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 C(v,L){const oe=`linear-gradient(90deg, ${(v.length===1?[v[0],v[0]]:v).join(", ")})`,Ee=`${L}, ${oe}`;return{colors:v,shape:L,backgroundImage:Ee}}const B={home:C(P.teal,Q.wave),documentation:C(P.pinkSea,Q.wave2),tool:C(P.purpleSky,Q.round),service:C(P.marineBlue,Q.wave),website:C(P.veryBlue,Q.wave),library:C(P.rubyRed,Q.wave),other:C(P.darkGrey,Q.wave),app:C(P.toastyOrange,Q.wave),apis:C(P.teal,Q.wave2)},z='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function _(v){const{palette:L,fontFamily:W=z,defaultPageTheme:oe,pageTheme:Ee=B}=v;if(!Ee[oe])throw new Error(`${oe} is not defined in pageTheme.`);return{palette:L,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:W,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:Ee[oe],getPageTheme:({themeId:Ze})=>{var Pe;return(Pe=Ee[Ze])!=null?Pe:Ee[oe]}}}function ne(v){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:v.typography.fontFamily},body:{height:"100%",fontFamily:v.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:v.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:v.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:v.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:v.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:v.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,le.darken)(v.palette.link,.3),background:(0,le.lighten)(v.palette.link,.95)},[v.breakpoints.up("md")]:{minWidth:120,fontSize:v.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:v.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:v.spacing(1),marginBottom:v.spacing(1),color:v.palette.grey[900]},outlined:{color:v.palette.text.primary},label:{lineHeight:`${v.spacing(2.5)}px`,fontWeight:v.typography.fontWeightMedium,fontSize:`${v.spacing(1.75)}px`},labelSmall:{fontSize:`${v.spacing(1.5)}px`},deleteIcon:{color:v.palette.grey[500],width:`${v.spacing(3)}px`,height:`${v.spacing(3)}px`,margin:`0 ${v.spacing(.75)}px 0 -${v.spacing(.75)}px`},deleteIconSmall:{width:`${v.spacing(2)}px`,height:`${v.spacing(2)}px`,margin:`0 ${v.spacing(.5)}px 0 -${v.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 ge(v){const L=_(v),W=(0,it.Z)(L),oe=ne(W);return{...W,overrides:oe}}var ye=e(34505);const xe=ge({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:ye.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:B}),ze=ge({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:ye.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:B});var Ne=e(98192),Te=e(15222),be=e(41547),de=e(87561);const Ae=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(Te.Z,null),Provider:({children:v})=>t.createElement(be.Z,{theme:xe},t.createElement(de.ZP,null,v))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(Ne.Z,null),Provider:({children:v})=>t.createElement(be.Z,{theme:ze},t.createElement(de.ZP,null,v))}];function Ue(v){var L,W,oe;return(0,g.createSpecializedApp)({...v,apis:(L=v==null?void 0:v.apis)!=null?L:[],bindRoutes:v==null?void 0:v.bindRoutes,components:{...Oe,...v==null?void 0:v.components},configLoader:v==null?void 0:v.configLoader,defaultApis:O,icons:{...st,...v==null?void 0:v.icons},plugins:(W=v==null?void 0:v.plugins)!=null?W:[],themes:(oe=v==null?void 0:v.themes)!=null?oe:Ae})}var we=e(39398),Fe=e(49782),at=e(79692);const Be=(0,at.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}}),Qe=({result:v})=>{const L=Be();return React.createElement(Link,{to:v.location},React.createElement(ListItem,{alignItems:"flex-start",className:L.flexContainer},React.createElement(ListItemText,{className:L.itemText,primaryTypographyProps:{variant:"h6"},primary:v.title,secondary:v.text}),React.createElement(Box,null,v.kind&&React.createElement(Chip,{label:`Kind: ${v.kind}`,size:"small"}),v.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${v.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))};var ke=e(91730),ct=e(17499),K=e(52890),A=e(85653),D=e(95544),X=e(99688),q=e(12231),Ce=e(86136),he=e(49378),Le=e(85256),tt=e(61837),St=e(79784),gn=e(50758),ie=e(49166),$=e(43054);const ee=(0,at.Z)({button:{color:"white"}}),pe=({UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:L,onUnregisterEntity:W})=>{var xt;const[oe,Ee]=(0,t.useState)(),Ze=ee(),Pe=It=>{Ee(It.currentTarget)},Ke=()=>{Ee(void 0)},He=v&&[...v.map(It=>t.createElement(q.Z,{key:It.title,onClick:()=>{Ke(),It.onClick()}},t.createElement(Ce.Z,null,t.createElement(It.Icon,{fontSize:"small"})),t.createElement(he.Z,{primary:It.title}))),t.createElement(Le.Z,{key:"the divider is here!"})],ft=(xt=L==null?void 0:L.disableUnregister)!=null?xt:!1;return t.createElement(t.Fragment,null,t.createElement(tt.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true",onClick:Pe,"data-testid":"menu-button",className:Ze.button},t.createElement($.Z,null)),t.createElement(St.ZP,{open:Boolean(oe),onClose:Ke,anchorEl:oe,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},t.createElement(gn.Z,null,He,t.createElement(q.Z,{onClick:()=>{Ke(),W()},disabled:ft},t.createElement(Ce.Z,null,t.createElement(ie.Z,{fontSize:"small"})),t.createElement(he.Z,{primary:"Unregister entity"})))))},Ve="plugin.catalog.entityLayoutRoute",qe=()=>null;(0,s.attachComponentData)(qe,Ve,!0),(0,s.attachComponentData)(qe,"core.gatherMountPoints",!0);const Et=({entity:v,title:L})=>t.createElement(D.Z,{display:"inline-flex",alignItems:"center",height:"1em",maxWidth:"100%"},t.createElement(D.Z,{component:"span",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},L),v&&t.createElement(A.FavoriteEntity,{entity:v})),Bt=(v,L,W,oe)=>{var Ke,He,ft,xt,It;const Ee=(Ke=v!=null?v:oe==null?void 0:oe.kind)!=null?Ke:"",Ze=(He=L!=null?L:oe==null?void 0:oe.metadata.namespace)!=null?He:"";return{headerTitle:`${(It=(xt=(ft=oe==null?void 0:oe.metadata.title)!=null?ft:W)!=null?xt:oe==null?void 0:oe.metadata.name)!=null?It:""}${Ze&&Ze!==K.sk?` in ${Ze}`:""}`,headerType:(()=>{let Lt=Ee.toLocaleLowerCase("en-US");return oe&&oe.spec&&"type"in oe.spec&&(Lt+=" \u2014 ",Lt+=oe.spec.type.toLocaleLowerCase("en-US")),Lt})()}},an=({entity:v})=>{var W;const L=(0,A.getEntityRelations)(v,K.S4);return t.createElement(t.Fragment,null,L.length>0&&t.createElement(V.HeaderLabel,{label:"Owner",value:t.createElement(A.EntityRefLinks,{entityRefs:L,defaultKind:"Group",color:"inherit"})}),((W=v.spec)==null?void 0:W.lifecycle)&&t.createElement(V.HeaderLabel,{label:"Lifecycle",value:v.spec.lifecycle}))},on=({UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:L,children:W})=>{var Hn,jn,ca;const{kind:oe,namespace:Ee,name:Ze}=(0,A.useEntityCompoundName)(),{entity:Pe,loading:Ke,error:He}=(0,t.useContext)(A.EntityContext),ft=(0,s.useElementFilter)(W,La=>La.selectByComponentData({key:Ve,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:Dn})=>Dn.if&&Pe&&!Dn.if(Pe)?[]:[{path:Dn.path,title:Dn.title,children:Dn.children,tabProps:Dn.tabProps}]),[Pe]),{headerTitle:xt,headerType:It}=Bt(oe,Ee,Ze,Pe),[Lt,un]=(0,t.useState)(!1),dn=(0,d.s0)(),wn=async()=>{un(!1),dn("/")},er=()=>un(!0);return t.createElement(V.Page,{themeId:(ca=(jn=(Hn=Pe==null?void 0:Pe.spec)==null?void 0:Hn.type)==null?void 0:jn.toString())!=null?ca:"home"},t.createElement(V.Header,{title:t.createElement(Et,{title:xt,entity:Pe}),pageTitleOverride:xt,type:It},Pe&&t.createElement(t.Fragment,null,t.createElement(an,{entity:Pe}),t.createElement(pe,{UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:L,onUnregisterEntity:er}))),Ke&&t.createElement(V.Progress,null),Pe&&t.createElement(V.RoutedTabs,{routes:ft}),He&&t.createElement(V.Content,null,t.createElement(X.Z,{severity:"error"},He.toString())),!Ke&&!He&&!Pe&&t.createElement(V.Content,null,t.createElement(V.WarningPanel,{title:"Entity not found"},"There is no ",oe," with the requested"," ",t.createElement(V.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(A.UnregisterEntityDialog,{open:Lt,entity:Pe,onConfirm:wn,onClose:()=>un(!1)}))};on.Route=qe;const Ln=({open:v,onClose:L,onConfirm:W,entity:oe})=>{const[Ee,Ze]=useState(!1),Pe=useApi(catalogApiRef),Ke=useApi(alertApiRef),He=async()=>{Ze(!0);try{const ft=oe.metadata.uid;await Pe.removeEntityByUid(ft),W()}catch(ft){assertError(ft),Ke.post({message:ft.message})}finally{Ze(!1)}};return React.createElement(Dialog,{open:v,onClose:L},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:Ee,onClick:He},"Delete"),React.createElement(Button,{onClick:L,color:"primary"},"Cancel")))},On=v=>{var L,W;return((W=(L=v==null?void 0:v.metadata)==null?void 0:L.annotations)==null?void 0:W["backstage.io/orphan"])==="true"},Fn=()=>{const v=useNavigate(),L=useRouteRef(catalogRouteRef),[W,oe]=useState(!1),{entity:Ee}=useEntity(),Ze=async()=>{oe(!1),v(L())};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:W,entity:Ee,onConfirm:Ze,onClose:()=>oe(!1)}))};var yt=e(30001);const Zt=v=>v.error&&v.level==="error"&&v.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function sn(v,L){return{items:(await L.getEntityAncestors({entityRef:v})).items.map(Ee=>{var Ke,He;return{errors:((He=(Ke=Ee.entity.status)==null?void 0:Ke.items)!=null?He:[]).filter(Zt).map(ft=>ft.error).filter(ft=>Boolean(ft)),entity:Ee.entity}}).filter(Ee=>Ee.errors.length>0)}}const Bn=async(v,L)=>{const W=L.apis.get(catalogApiRef);if(!W)throw new Error(`No implementation available for ${catalogApiRef}`);return(await sn(stringifyEntityRef(v),W)).items.length>0},Kt=()=>{const{entity:v}=useEntity(),L=stringifyEntityRef(v),W=useApi(catalogApiRef),{loading:oe,error:Ee,value:Ze}=useAsync(async()=>sn(L,W),[L,W]);return Ee?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Ee})):oe||!Ze?null:React.createElement(React.Fragment,null,Ze.items.map((Pe,Ke)=>React.createElement(Box,{key:Ke,mb:1},!compareEntityToRef(v,stringifyEntityRef(Pe.entity))&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:Pe.entity})),Pe.errors.map((He,ft)=>React.createElement(ResponseErrorPanel,{key:ft,error:He})))))};var Yn=e(18671);const ar=(v,L,W=0)=>{if(!v)return W;const oe=L.findIndex(Ee=>Ee.id===v.route.path);return~oe?oe:W},xn={Layout:({children:v})=>{var It,Lt,un;const L=[],W=[],oe=(0,d.UO)(),Ee=(0,d.s0)();t.Children.forEach(v,dn=>{if(!t.isValidElement(dn))return;if(dn.type!==xn.Content)throw new Error("This component only accepts Content elements as direct children. Check the code of the EntityPage.");const wn=dn.props.path;W.push({id:wn,label:dn.props.title}),L.push({path:wn,element:dn.props.element})}),((Lt=(It=L==null?void 0:L[0])==null?void 0:It.path)!=null?Lt:"")!==""&&L.push({path:"/*",element:t.createElement(d.Fg,{to:L[0].path})});const[Ze]=(un=(0,d.fp)(L,`/${oe["*"]}`))!=null?un:[],Pe=ar(Ze,W),Ke=W[Pe],He=Ke==null?void 0:Ke.label,ft=dn=>Ee(W[dn].id.replace(/\/\*$/,"").replace(/^\//,"")),xt=(0,d.V$)(L);return Ke?t.createElement(t.Fragment,null,t.createElement(V.HeaderTabs,{tabs:W,selectedIndex:Pe,onChange:ft}),t.createElement(V.Content,null,t.createElement(Yn.q,{title:He}),xt)):null},Content:v=>null},Ar=({entity:v,title:L})=>t.createElement(D.Z,{display:"inline-flex",alignItems:"center",height:"1em"},L,v&&t.createElement(A.FavoriteEntity,{entity:v})),vr=({entity:v})=>{var W;const L=(0,A.getEntityRelations)(v,K.S4);return t.createElement(t.Fragment,null,L.length>0&&t.createElement(V.HeaderLabel,{label:"Owner",value:t.createElement(A.EntityRefLinks,{entityRefs:L,defaultKind:"Group",color:"inherit"})}),((W=v.spec)==null?void 0:W.lifecycle)&&t.createElement(V.HeaderLabel,{label:"Lifecycle",value:v.spec.lifecycle}))},Wn=(v,L,W,oe)=>({headerTitle:`${W}${L&&L!==K.sk?` in ${L}`:""}`,headerType:(()=>{let Ee=v.toLocaleLowerCase("en-US");return oe&&oe.spec&&"type"in oe.spec&&(Ee+=" \u2014 ",Ee+=oe.spec.type.toLocaleLowerCase("en-US")),Ee})()}),or=({children:v,UNSTABLE_extraContextMenuItems:L,UNSTABLE_contextMenuOptions:W})=>{var er,Hn,jn;const{kind:oe,namespace:Ee,name:Ze}=(0,A.useEntityCompoundName)(),{entity:Pe,loading:Ke,error:He}=(0,t.useContext)(A.EntityContext),{headerTitle:ft,headerType:xt}=Wn(oe,Ee,Ze,Pe),[It,Lt]=(0,t.useState)(!1),un=(0,d.s0)(),dn=async()=>{Lt(!1),un("/")},wn=()=>Lt(!0);return t.createElement(V.Page,{themeId:(jn=(Hn=(er=Pe==null?void 0:Pe.spec)==null?void 0:er.type)==null?void 0:Hn.toString())!=null?jn:"home"},t.createElement(V.Header,{title:t.createElement(Ar,{title:ft,entity:Pe}),pageTitleOverride:ft,type:xt},Pe&&t.createElement(t.Fragment,null,t.createElement(vr,{entity:Pe}),t.createElement(pe,{UNSTABLE_extraContextMenuItems:L,UNSTABLE_contextMenuOptions:W,onUnregisterEntity:wn}))),Ke&&t.createElement(V.Content,null,t.createElement(V.Progress,null)),Pe&&t.createElement(xn.Layout,null,v),He&&t.createElement(V.Content,null,t.createElement(V.ResponseErrorPanel,{error:He})),!Ke&&!He&&!Pe&&t.createElement(V.Content,null,t.createElement(V.WarningPanel,{title:"Entity not found"},"There is no ",oe," with the requested"," ",t.createElement(V.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(A.UnregisterEntityDialog,{open:It,entity:Pe,onConfirm:dn,onClose:()=>Lt(!1)}))};or.Content=xn.Content;var sr=e(64279);const ir="core.backstage.entitySwitch",Qn=v=>null;(0,s.attachComponentData)(Qn,ir,!0);const Rr=({children:v})=>{var Ze,Pe;const{entity:L}=(0,A.useEntity)(),W=(0,s.useApiHolder)(),oe=(0,s.useElementFilter)(v,Ke=>Ke.selectByComponentData({key:ir,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(He=>{var It;const{if:ft,children:xt}=He.props;return[{if:(It=ft==null?void 0:ft(L,{apis:W}))!=null?It:!0,children:xt}]}),[W,L]);return oe.some(Ke=>typeof Ke.if=="object"&&"then"in Ke.if)?t.createElement(lr,{results:oe}):(Pe=(Ze=oe.find(Ke=>Ke.if))==null?void 0:Ze.children)!=null?Pe:null};function lr({results:v}){const{loading:L,value:W}=(0,sr.default)(async()=>{var Ee;const oe=v.map(async({if:Ze,children:Pe})=>{try{if(await Ze)return Pe}catch{}return null});return(Ee=(await Promise.all(oe)).find(Boolean))!=null?Ee:null},[v]);return L||!W?null:W}Rr.Case=Qn;var Mn=e(26997),Sr=e(7758),Cr=e(219);const Xn=(0,at.Z)(v=>({illo:{maxWidth:"60%",top:100,right:20,position:"absolute",[v.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",top:"unset",right:"unset",margin:`${v.spacing(10)}px auto ${v.spacing(4)}px`}}})),kn=()=>{const v=Xn();return React.createElement("img",{src:IlloSvgUrl,className:v.illo,alt:"Illustration on entity not found page"})},cr=(0,at.Z)(v=>({container:{paddingTop:v.spacing(24),paddingLeft:v.spacing(8),[v.breakpoints.down("xs")]:{padding:v.spacing(2)}},title:{paddingBottom:v.spacing(2),[v.breakpoints.down("xs")]:{fontSize:32}},body:{paddingBottom:v.spacing(6),[v.breakpoints.down("xs")]:{paddingBottom:v.spacing(5)}}})),pn=()=>{const v=cr();return React.createElement(Grid,{container:!0,spacing:0,className:v.container},React.createElement(Illo,null),React.createElement(Grid,{item:!0,xs:12,sm:6},React.createElement(Typography,{variant:"h2",className:v.title},"Entity was not found"),React.createElement(Typography,{variant:"body1",className:v.body},"Want to help us build this? Check out our Getting Started documentation."),React.createElement(Button,{variant:"contained",color:"primary",href:"https://backstage.io/docs"},"DOCS")))},yn=()=>React.createElement(EntityPageLayout,null,React.createElement(EntityPageLayout.Content,{path:"/",title:"Overview",element:React.createElement(Content,null,React.createElement(Typography,{variant:"h2"},"This is the default entity page."),React.createElement(Typography,{variant:"body1"},"To override this component with your custom implementation, read docs on"," ",React.createElement(Link,{to:"https://backstage.io/docs"},"backstage.io/docs")))})),ur=({EntityPage:v})=>{const{entity:L,loading:W,error:oe}=useEntity();return W?React.createElement(EntityPageLayout,null):oe||!L?React.createElement(EntityNotFound,null):React.createElement(v,null)},dr=()=>{var Pe;const{optionalNamespaceAndName:v,"*":L}=useParams(),[W,oe]=v.split(":").reverse(),Ee=(Pe=oe==null?void 0:oe.toLocaleLowerCase("en-US"))!=null?Pe:ENTITY_DEFAULT_NAMESPACE,Ze=L?`/${L}`:"";return React.createElement(Navigate,{to:`../../${Ee}/component/${W}${Ze}`})},Tr=v=>React.createElement(AsyncEntityProvider,{...useEntityFromUrl(),...v}),Pr=({EntityPage:v=yn})=>React.createElement(Routes,null,React.createElement(Route,{path:"/",element:React.createElement(CatalogPage,null)}),React.createElement(Route,{path:"/:namespace/:kind/:name",element:React.createElement(Tr,null,React.createElement(ur,{EntityPage:v}))}),React.createElement(Route,{path:"Component/:optionalNamespaceAndName/*",element:React.createElement(dr,null)}));var fr=e(47851);const Xt=(0,s.createPlugin)({id:"catalog",apis:[(0,s.createApiFactory)({api:A.Ah,deps:{discoveryApi:s.discoveryApiRef,fetchApi:s.fetchApiRef},factory:({discoveryApi:v,fetchApi:L})=>new yt.MS({discoveryApi:v,fetchApi:L})}),(0,s.createApiFactory)({api:A.starredEntitiesApiRef,deps:{storageApi:s.storageApiRef},factory:({storageApi:v})=>new A.DefaultStarredEntitiesApi({storageApi:v})})],routes:{catalogIndex:A.M4,catalogEntity:A.wi},externalRoutes:{createComponent:fr.y,viewTechDoc:fr.j}}),Ir=Xt.provide((0,s.createRoutableExtension)({name:"CatalogIndexPage",component:()=>Promise.resolve().then(e.bind(e,7758)).then(v=>v.CatalogPage),mountPoint:A.M4})),qn=Xt.provide((0,s.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6650).then(e.bind(e,76650)).then(v=>v.CatalogEntityPage),mountPoint:A.wi})),Lr=Xt.provide((0,s.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(v=>v.AboutCard)}})),Jr=Xt.provide((0,s.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(v=>v.EntityLinksCard)}})),Or=Xt.provide((0,s.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(v=>v.HasSystemsCard)}})),mr=Xt.provide((0,s.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(v=>v.HasComponentsCard)}})),Yr=Xt.provide((0,s.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(v=>v.HasSubcomponentsCard)}})),Qr=Xt.provide((0,s.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(v=>v.HasResourcesCard)}})),xr=Xt.provide((0,s.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(v=>v.DependsOnComponentsCard)}})),Xr=Xt.provide((0,s.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(v=>v.DependencyOfComponentsCard)}})),Dr=Xt.provide((0,s.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(v=>v.DependsOnResourcesCard)}})),br=Xt.provide((0,s.createComponentExtension)({name:"EntitySystemDiagramCard",component:{lazy:()=>e.e(4960).then(e.bind(e,14960)).then(v=>v.SystemDiagramCard)}}));var Nn=e(3337),hr=e(76372);class gr{constructor({configApi:L,discoveryApi:W,identityApi:oe}){k(this,"configApi");k(this,"discoveryApi");k(this,"identityApi");this.configApi=L,this.discoveryApi=W,this.identityApi=oe}async getApiOrigin(){var L;return(L=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?L:await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(L){const{kind:W,namespace:oe,name:Ee}=L,Pe=`${await this.getApiOrigin()}/metadata/techdocs/${oe}/${W}/${Ee}`,{token:Ke}=await this.identityApi.getCredentials(),He=await fetch(`${Pe}`,{headers:Ke?{Authorization:`Bearer ${Ke}`}:{}});if(!He.ok)throw await y.VL.fromResponse(He);return await He.json()}async getEntityMetadata(L){const{kind:W,namespace:oe,name:Ee}=L,Pe=`${await this.getApiOrigin()}/metadata/entity/${oe}/${W}/${Ee}`,{token:Ke}=await this.identityApi.getCredentials(),He=await fetch(`${Pe}`,{headers:Ke?{Authorization:`Bearer ${Ke}`}:{}});if(!He.ok)throw await y.VL.fromResponse(He);return await He.json()}}class Fr{constructor({configApi:L,discoveryApi:W,identityApi:oe}){k(this,"configApi");k(this,"discoveryApi");k(this,"identityApi");this.configApi=L,this.discoveryApi=W,this.identityApi=oe}async getApiOrigin(){var L;return(L=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?L:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var L;return(L=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?L:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(L,W){const{kind:oe,namespace:Ee,name:Ze}=L,Ke=`${await this.getStorageUrl()}/${Ee}/${oe}/${Ze}/${W}`,{token:He}=await this.identityApi.getCredentials(),ft=await fetch(`${Ke.endsWith("/")?Ke:`${Ke}/`}index.html`,{headers:He?{Authorization:`Bearer ${He}`}:{}});let xt="";switch(ft.status){case 404:throw xt="Page not found. ",W||(xt+="This could be because there is no index.md file in the root of the docs directory of this repository."),new y.dR(xt);case 500:throw xt="Could not generate documentation or an error in the TechDocs backend. ",new Error(xt);default:break}return ft.text()}async syncEntityDocs(L,W=()=>{}){const{kind:oe,namespace:Ee,name:Ze}=L,Ke=`${await this.getApiOrigin()}/sync/${Ee}/${oe}/${Ze}`,{token:He}=await this.identityApi.getCredentials();return new Promise((ft,xt)=>{const It=new hr.EventSourcePolyfill(Ke,{withCredentials:!0,headers:He?{Authorization:`Bearer ${He}`}:{}});It.addEventListener("log",Lt=>{Lt.data&&W(JSON.parse(Lt.data))}),It.addEventListener("finish",Lt=>{let un=!1;Lt.data&&({updated:un}=JSON.parse(Lt.data)),ft(un?"updated":"cached")}),It.onerror=Lt=>{switch(It.close(),Lt.status){case 404:xt(new y.dR(Lt.message));return;default:xt(new Error(Lt.data));return}}})}async getBaseUrl(L,W,oe){const{kind:Ee,namespace:Ze,name:Pe}=W,He=`${await this.getApiOrigin()}/static/docs/${Ze}/${Ee}/${Pe}/${oe}`;return new URL(L,He.endsWith("/")?He:`${He}/`).toString()}}var kr=e(71226),w=e(95074),M=e(76635),H=e(83201),te=e(50294),se=e(67430);const re=({columns:v,actions:L})=>{var It,Lt;const{loading:W,error:oe,entities:Ee,filters:Ze}=(0,A.useEntityListProvider)(),{isStarredEntity:Pe,toggleStarredEntity:Ke}=(0,A.useStarredEntities)(),[,He]=(0,w.Z)(),ft=(0,M.capitalize)((Lt=(It=Ze.user)==null?void 0:It.value)!=null?Lt:"all"),xt=[te.createCopyDocsUrlAction(He),te.createStarEntityAction(Pe,Ke)];return oe?t.createElement(V.WarningPanel,{severity:"error",title:"Could not load available documentation."},t.createElement(V.CodeSnippet,{language:"text",text:oe.toString()})):t.createElement(H.DocsTable,{title:ft,entities:Ee,loading:W,actions:L||xt,columns:v})};re.columns=se,re.actions=te;var fe=e(1114);class We{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":A.n3}}}const Ye=()=>{const{updateFilters:v}=(0,A.useEntityListProvider)();return(0,t.useEffect)(()=>{v({techdocs:new We})},[v]),null},nt=({initialFilter:v="all",columns:L,actions:W})=>t.createElement(fe.j,null,t.createElement(V.Content,null,t.createElement(V.ContentHeader,{title:""},t.createElement(V.SupportButton,null,"Discover documentation in your ecosystem.")),t.createElement(A.EntityListProvider,null,t.createElement(Mn.q7,null,t.createElement(Mn.Gh,null,t.createElement(Ye,null),t.createElement(A.UserListPicker,{initialFilter:v}),t.createElement(A.EntityOwnerPicker,null),t.createElement(A.EntityTagPicker,null)),t.createElement(Mn.Nz,null,t.createElement(re,{actions:W,columns:L}))))));var ot=e(10187);const $e=()=>{const{loading:v,error:L,entities:W}=useEntityListProvider();return L?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:L.toString()})):v||!W?React.createElement(Progress,null):(W.sort((oe,Ee)=>{var Ze,Pe;return((Ze=oe.metadata.title)!=null?Ze:oe.metadata.name).localeCompare((Pe=Ee.metadata.title)!=null?Pe:Ee.metadata.name)}),React.createElement(DocsCardGrid,{entities:W}))};var Me=e(68725);const ut=(0,s.createPlugin)({id:"techdocs",apis:[(0,s.createApiFactory)({api:Nn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:L,identityApi:W})=>new Fr({configApi:v,discoveryApi:L,identityApi:W})}),(0,s.createApiFactory)({api:Nn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:L,identityApi:W})=>new gr({configApi:v,discoveryApi:L,identityApi:W})})],routes:{root:Me._Z,docRoot:Me.Fw,entityContent:Me.pd}}),Ct=ut.provide((0,s.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(v=>v.Router),mountPoint:Me._Z})),wt=ut.provide((0,s.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(v=>v.EmbeddedDocsRouter),mountPoint:Me.pd})),kt=ut.provide((0,s.createComponentExtension)({name:"DocsCardGrid",component:{lazy:()=>Promise.resolve().then(e.bind(e,10187)).then(v=>v.DocsCardGrid)}})),Vt=ut.provide((0,s.createComponentExtension)({name:"DocsTable",component:{lazy:()=>Promise.resolve().then(e.bind(e,83201)).then(v=>v.DocsTable)}})),qt=ut.provide((0,s.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>Promise.resolve().then(e.bind(e,57110)).then(v=>v.TechDocsCustomHome),mountPoint:Me._Z})),En=ut.provide((0,s.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,41481)).then(v=>v.TechDocsIndexPage),mountPoint:Me._Z})),Mt=ut.provide((0,s.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,31752)).then(v=>v.TechDocsPage),mountPoint:Me.Fw}));var An=e(73873),Un=e(94067),zt=e(36356);class _t{constructor({configApi:L,discoveryApi:W,identityApi:oe}){k(this,"configApi");k(this,"discoveryApi");k(this,"identityApi");this.configApi=L,this.discoveryApi=W,this.identityApi=oe}async getApiOrigin(){var L;return(L=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?L:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var L;return(L=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?L:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(L,W){const Ee=`${await this.getApiOrigin()}/${W}`,Ze=await fetch(`${Ee.endsWith("/")?Ee:`${Ee}/`}index.html`);if(Ze.status===404)throw new Error("Page not found");return Ze.text()}async syncEntityDocs(L){return"cached"}async getBaseUrl(L,W,oe){const Ee=await this.getApiOrigin();return new URL(L,`${Ee}/${oe}`).toString()}}class $n{constructor({configApi:L,discoveryApi:W,identityApi:oe}){k(this,"configApi");k(this,"discoveryApi");k(this,"identityApi");this.configApi=L,this.discoveryApi=W,this.identityApi=oe}async getApiOrigin(){var L;return(L=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?L:await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(L){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(L){return{site_name:"Live preview environment",site_description:""}}}const Zn=[(0,s.createApiFactory)({api:Nn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:L,identityApi:W})=>new _t({configApi:v,discoveryApi:L,identityApi:W})}),(0,s.createApiFactory)({api:Nn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:L,identityApi:W})=>new $n({configApi:v,discoveryApi:L,identityApi:W})}),(0,s.createApiFactory)({api:zt.q3,deps:{configApi:s.configApiRef},factory:({configApi:v})=>zt.ae.fromConfig(v)})];var qr=e(86689),Br=e(58845);const _r=(0,at.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var ta=()=>{const v=_r();return t.createElement("svg",{className:v.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:v.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 Sa=(0,at.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var na=()=>{const v=Sa();return t.createElement("svg",{className:v.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:v.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 Ta=(0,at.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}}),ra=()=>{const v=Ta(),{isOpen:L}=(0,t.useContext)(V.SidebarContext);return t.createElement("div",{className:v.root},t.createElement(qr.Z,{component:ue.OL,to:"/docs/default/component/local/",underline:"none",className:v.link},L?t.createElement(ta,null):t.createElement(na,null)))},aa=({children:v})=>t.createElement(V.SidebarPage,null,t.createElement(V.Sidebar,null,t.createElement(ra,null),t.createElement(V.SidebarDivider,null),t.createElement(V.SidebarItem,{icon:Br.Z,to:"docs/default/component/local/",text:"Docs Preview"})),v),oa=()=>{const v={site_name:"Live preview environment",site_description:""};return t.createElement(An.EV,null,({entityRef:L,onReady:W})=>t.createElement(t.Fragment,null,t.createElement(An.nN,{techDocsMetadata:v,entityRef:L}),t.createElement(V.Content,{"data-testid":"techdocs-content"},t.createElement(An.Ej,{onReady:W,entityRef:L,withSearch:!1}))))},Mr=t.createElement(oa,null),_n=Ue({apis:Zn,plugins:Object.values(r)}),sa=_n.getProvider(),Pa=_n.getRouter(),ia=t.createElement(g.FlatRoutes,null,t.createElement(d.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(d.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(qn,null)}),t.createElement(d.AW,{path:"/docs",element:t.createElement(En,null)},t.createElement(nt,null)),t.createElement(d.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(Mt,null)},Mr));var la=()=>t.createElement(sa,null,t.createElement(Pa,null,t.createElement(aa,null,ia)));l.render(t.createElement(la,null),document.getElementById("root"))},10179:function(J,o,e){"use strict";e.d(o,{SP:function(){return F},dR:function(){return E},VL:function(){return j},BD:function(){return t}});function r(x){if(typeof x!="object"||x===null||Array.isArray(x))return!1;const b=x;return!(typeof b.name!="string"||b.name===""||typeof b.message!="string")}function t(x){if(typeof x!="object"||x===null||Array.isArray(x))throw new Error(`Encountered invalid error, not an object, got '${x}'`);const b=x;if(typeof b.name!="string"||b.name==="")throw new Error(`Encountered error object without a name, got '${x}'`);if(typeof b.message!="string")throw new Error(`Encountered error object without a message, got '${x}'`)}var l=e(24852);function d(x,b){const N=serializeErrorInternal(x),O={name:"Unknown",message:"<no reason given>",...N};return(b==null?void 0:b.includeStack)||delete O.stack,O}function g(x){const b=(0,l.deserializeError)(x);return x.stack||(b.stack=void 0),b}function s(x){if(r(x)){const b=String(x);return b!=="[object Object]"?b:`${x.name}: ${x.message}`}return`unknown error '${x}'`}class u extends Error{constructor(b,N){var Y;let O=b;if(N!==void 0){const V=s(N);O?O+=`; caused by ${V}`:O=`caused by ${V}`}super(O);k(this,"cause");(Y=Error.captureStackTrace)==null||Y.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(N)?N:void 0}}class m extends null{}class y extends null{}class h extends null{}class E extends u{}class i extends null{}class S extends null{}class F extends u{constructor(b,N){super(b,N);this.name=r(N)?N.name:"Error"}}async function T(x){var b;try{const N=await x.text();if(N){if((b=x.headers.get("content-type"))==null?void 0:b.startsWith("application/json"))try{const O=JSON.parse(N);if(O.error&&O.response)return O}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}, ${N}`},response:{statusCode:x.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}`},response:{statusCode:x.status}}}class j extends Error{constructor(b){super(b.message);k(this,"response");k(this,"body");k(this,"cause");this.name="ResponseError",this.response=b.response,this.body=b.data,this.cause=b.cause}static async fromResponse(b){const N=await T(b),O=N.response.statusCode||b.status,Y=N.error.name||b.statusText,V=`Request failed with ${O} ${Y}`,ue=g(N.error);return new j({message:V,response:b,data:N,cause:ue})}}},36356:function(J,o,e){var E,i,S,F;"use strict";e.d(o,{nW:function(){return h},ae:function(){return s},q3:function(){return u}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class l{constructor(x){Sn(this,E,void 0);In(this,E,x)}async getCredentials(x){const b=new URL(x.url),N=et(this,E).find(O=>O.isUrlSupported(b));if(!N)throw new Error(`No authentication provider available for access to '${x.url}'`);return N.getCredentials(x)}}E=new WeakMap;const T=class{constructor(x,b,N){Sn(this,i,void 0);Sn(this,S,void 0);Sn(this,F,void 0);In(this,i,x),In(this,S,b),In(this,F,N)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef},factory:({github:x,gitlab:b,azure:N})=>T.merge(T.forGithub(x),T.forGitlab(b),T.forAzure(N))})}static forAuthApi(x,b){return new T(x,b.host,b.scopeMapping)}static forGithub(x,b){var O;const N=(O=b==null?void 0:b.host)!=null?O:"github.com";return new T(x,N,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(x,b){var O;const N=(O=b==null?void 0:b.host)!=null?O:"gitlab.com";return new T(x,N,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(x,b){var O;const N=(O=b==null?void 0:b.host)!=null?O:"dev.azure.com";return new T(x,N,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(x,b){var O;const N=(O=b==null?void 0:b.host)!=null?O:"bitbucket.org";return new T(x,N,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...x){return new l(x)}isUrlSupported(x){return x.host===et(this,S)}async getCredentials(x){const{url:b,additionalScope:N,...O}=x,Y=et(this,F).default.slice();(N==null?void 0:N.repoWrite)&&Y.push(...et(this,F).repoWrite);const V=await et(this,i).getAccessToken(Y,O);return{token:V,headers:{Authorization:`Bearer ${V}`}}}};let d=T;i=new WeakMap,S=new WeakMap,F=new WeakMap;var g=e(63925);class s{static fromConfig(x){return g.Lx.fromConfig(x)}}const u=(0,r.createApiRef)({id:"integration.scmintegrations"});var m=e(73250),y=e(2784);const h=j=>{var Y;const{type:x}=j,b=(0,r.useApp)(),N=m.Z,O=x&&(Y=b.getSystemIcon(x))!=null?Y:N;return y.createElement(O,null)}},63925:function(J,o,e){var Ne,Te,be,de,Ae,Ue,we;"use strict";e.d(o,{Lx:function(){return ze},Pb:function(){return At}});var r=e(82717),t=e.n(r),l=e(76635);function d(K){const A=new URL("http://example.com");return A.host=K,A.host===K}function g(K){try{return new URL(K),!0}catch{return!1}}function s(K,A){return{list(){return K},byUrl(D){try{const X=typeof D=="string"?new URL(D):D;return K.find(q=>A(q)===X.host)}catch{return}},byHost(D){return K.find(X=>A(X)===D)}}}function u(K){const{url:A,base:D,lineNumber:X}=K;try{return new URL(A),A}catch{}let q;if(A.startsWith("/")){const{filepath:Ce}=t()(D);q=new URL(D);const he=(0,l.trimEnd)(q.pathname.substring(0,q.pathname.length-Ce.length),"/");q.pathname=`${he}${A}`}else q=new URL(A,D);return q.search=new URL(D).search,X&&(q.hash=`L${X}`),q.toString()}const m="GB",Fe=class{constructor(A,D,X,q,Ce,he){Sn(this,Ne,void 0);Sn(this,Te,void 0);Sn(this,be,void 0);Sn(this,de,void 0);Sn(this,Ae,void 0);Sn(this,Ue,void 0);Sn(this,we,(...A)=>{const D=new URL(et(this,Ne));return D.pathname=A.map(X=>encodeURIComponent(X)).join("/"),D});In(this,Ne,A),In(this,Te,D),In(this,be,X),In(this,de,q),In(this,Ae,Ce),In(this,Ue,he)}static fromRepoUrl(A){var gn;const D=new URL(A);let X,q,Ce;const he=D.pathname.split("/").map(ie=>decodeURIComponent(ie));if(he[2]==="_git"?(X=he[1],q=Ce=he[3]):he[3]==="_git"&&(X=he[1],q=he[2],Ce=he[4]),!X||!q||!Ce)throw new Error("Azure URL must point to a git repository");const Le=(gn=D.searchParams.get("path"))!=null?gn:void 0;let tt;const St=D.searchParams.get("version");if(St){if(St.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");tt=St.slice(2)}return new Fe(D.origin,X,q,Ce,Le,tt)}toRepoUrl(){let A;return et(this,be)===et(this,de)?A=et(this,we).call(this,et(this,Te),"_git",et(this,de)):A=et(this,we).call(this,et(this,Te),et(this,be),"_git",et(this,de)),et(this,Ae)&&A.searchParams.set("path",et(this,Ae)),et(this,Ue)&&A.searchParams.set("version",m+et(this,Ue)),A.toString()}toFileUrl(){if(!et(this,Ae))throw new Error("Azure URL must point to a specific path to be able to download a file");const A=et(this,we).call(this,et(this,Te),et(this,be),"_apis","git","repositories",et(this,de),"items");return A.searchParams.set("api-version","6.0"),A.searchParams.set("path",et(this,Ae)),et(this,Ue)&&A.searchParams.set("version",et(this,Ue)),A.toString()}toArchiveUrl(){const A=et(this,we).call(this,et(this,Te),et(this,be),"_apis","git","repositories",et(this,de),"items");return A.searchParams.set("recursionLevel","full"),A.searchParams.set("download","true"),A.searchParams.set("api-version","6.0"),et(this,Ae)&&A.searchParams.set("scopePath",et(this,Ae)),et(this,Ue)&&A.searchParams.set("version",et(this,Ue)),A.toString()}toCommitsUrl(){const A=et(this,we).call(this,et(this,Te),et(this,be),"_apis","git","repositories",et(this,de),"commits");return A.searchParams.set("api-version","6.0"),et(this,Ue)&&A.searchParams.set("searchCriteria.itemVersion.version",et(this,Ue)),A.toString()}getOwner(){return et(this,Te)}getProject(){return et(this,be)}getRepo(){return et(this,de)}getPath(){return et(this,Ae)}getRef(){return et(this,Ue)}};let y=Fe;Ne=new WeakMap,Te=new WeakMap,be=new WeakMap,de=new WeakMap,Ae=new WeakMap,Ue=new WeakMap,we=new WeakMap;const h="dev.azure.com";function E(K){var X;const A=(X=K.getOptionalString("host"))!=null?X:h,D=K.getOptionalString("token");if(!d(A))throw new Error(`Invalid Azure integration config, '${A}' is not a valid host`);return{host:A,token:D}}function i(K){const A=K.map(E);return A.some(D=>D.host===h)||A.push({host:h}),A}const at=class{constructor(A){this.integrationConfig=A}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){var q;const{url:D,base:X}=A;if(g(D))return D;try{const Ce=y.fromRepoUrl(X),he=new URL(X),Le=new URL(`https://a.com${(q=Ce.getPath())!=null?q:""}`),tt=new URL(D,Le).pathname;return he.searchParams.set("path",tt),A.lineNumber&&(he.searchParams.set("line",String(A.lineNumber)),he.searchParams.set("lineEnd",String(A.lineNumber+1)),he.searchParams.set("lineStartColumn","1"),he.searchParams.set("lineEndColumn","1")),he.toString()}catch{return new URL(D,X).toString()}}resolveEditUrl(A){return A}};let S=at;k(S,"factory",({config:A})=>{var X;const D=i((X=A.getOptionalConfigArray("integrations.azure"))!=null?X:[]);return s(D.map(q=>new at(q)),q=>q.config.host)});var F=e(48834).Buffer;function T(K){return AzureUrl.fromRepoUrl(K).toFileUrl()}function j(K){return AzureUrl.fromRepoUrl(K).toArchiveUrl()}function x(K){return AzureUrl.fromRepoUrl(K).toCommitsUrl()}function b(K,A){const D=A?{...A}:{};if(K.token){const X=F.from(`:${K.token}`,"utf8");D.Authorization=`Basic ${X.toString("base64")}`}return{headers:D}}const N="bitbucket.org",O="https://api.bitbucket.org/2.0";function Y(K){var he;const A=(he=K.getOptionalString("host"))!=null?he:N;let D=K.getOptionalString("apiBaseUrl");const X=K.getOptionalString("token"),q=K.getOptionalString("username"),Ce=K.getOptionalString("appPassword");if(!d(A))throw new Error(`Invalid Bitbucket integration config, '${A}' is not a valid host`);return D?D=(0,l.trimEnd)(D,"/"):A===N&&(D=O),{host:A,apiBaseUrl:D,token:X,username:q,appPassword:Ce}}function V(K){const A=K.map(Y);return A.some(D=>D.host===N)||A.push({host:N,apiBaseUrl:O}),A}const Be=class{constructor(A){this.integrationConfig=A}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){const D=u(A);if(A.lineNumber){const X=new URL(D),q=X.pathname.split("/").slice(-1)[0];return X.hash=`${q}-${A.lineNumber}`,X.toString()}return D}resolveEditUrl(A){const D=t()(A),X=new URL(A);return X.searchParams.set("mode","edit"),X.searchParams.set("spa","0"),X.searchParams.set("at",D.ref),X.toString()}};let ue=Be;k(ue,"factory",({config:A})=>{var X;const D=V((X=A.getOptionalConfigArray("integrations.bitbucket"))!=null?X:[]);return s(D.map(q=>new Be(q)),q=>q.config.host)});var Se=e(96279),je=e(48834).Buffer;async function me(K,A){const{name:D,owner:X,resource:q}=parseGitUrl(K),Ce=q==="bitbucket.org";let he=Ce?`${A.apiBaseUrl}/repositories/${X}/${D}`:`${A.apiBaseUrl}/projects/${X}/repos/${D}/default-branch`,Le=await fetch(he,Je(A));if(Le.status===404&&!Ce&&(he=`${A.apiBaseUrl}/projects/${X}/repos/${D}/branches/default`,Le=await fetch(he,Je(A))),!Le.ok){const St=`Failed to retrieve default branch from ${he}, ${Le.status} ${Le.statusText}`;throw new Error(St)}let tt;if(Ce)tt=(await Le.json()).mainbranch.name;else{const{displayId:St}=await Le.json();tt=St}if(!tt)throw new Error(`Failed to read default branch from ${he}. Response ${Le.status} ${Le.json()}`);return tt}async function Ge(K,A){const{name:D,owner:X,ref:q,protocol:Ce,resource:he,filepath:Le}=parseGitUrl(K),tt=he==="bitbucket.org";let St=q;St||(St=await me(K,A));const gn=Le?`&path=${encodeURIComponent(Le)}`:"";return tt?`${Ce}://${he}/${X}/${D}/get/${St}.tar.gz`:`${A.apiBaseUrl}/projects/${X}/repos/${D}/archive?format=tgz&at=${St}&prefix=${X}-${D}${gn}`}function Oe(K,A){try{const{owner:D,name:X,ref:q,filepathtype:Ce,filepath:he}=parseGitUrl(K);if(!D||!X||Ce!=="browse"&&Ce!=="raw"&&Ce!=="src")throw new Error("Invalid Bitbucket URL or file path");const Le=he.replace(/^\//,"");if(A.host==="bitbucket.org"){if(!q)throw new Error("Invalid Bitbucket URL or file path");return`${A.apiBaseUrl}/repositories/${D}/${X}/src/${q}/${Le}`}return`${A.apiBaseUrl}/projects/${D}/repos/${X}/raw/${Le}?at=${q}`}catch(D){throw new Error(`Incorrect URL: ${K}, ${D}`)}}function Je(K){const A={};if(K.token)A.Authorization=`Bearer ${K.token}`;else if(K.username&&K.appPassword){const D=je.from(`${K.username}:${K.appPassword}`,"utf8");A.Authorization=`Basic ${D.toString("base64")}`}return{headers:A}}const rt="github.com",Xe="https://api.github.com",mt="https://raw.githubusercontent.com";function dt(K){var he,Le;const A=(he=K.getOptionalString("host"))!=null?he:rt;let D=K.getOptionalString("apiBaseUrl"),X=K.getOptionalString("rawBaseUrl");const q=K.getOptionalString("token"),Ce=(Le=K.getOptionalConfigArray("apps"))==null?void 0:Le.map(tt=>({appId:tt.getNumber("appId"),clientId:tt.getString("clientId"),clientSecret:tt.getString("clientSecret"),webhookSecret:tt.getString("webhookSecret"),privateKey:tt.getString("privateKey"),allowedInstallationOwners:tt.getOptionalStringArray("allowedInstallationOwners")}));if(!d(A))throw new Error(`Invalid GitHub integration config, '${A}' is not a valid host`);return D?D=(0,l.trimEnd)(D,"/"):A===rt&&(D=Xe),X?X=(0,l.trimEnd)(X,"/"):A===rt&&(X=mt),{host:A,apiBaseUrl:D,rawBaseUrl:X,token:q,apps:Ce}}function lt(K){const A=K.map(dt);return A.some(D=>D.host===rt)||A.push({host:rt,apiBaseUrl:Xe,rawBaseUrl:mt}),A}function vt(K,A,D){try{const{owner:X,name:q,ref:Ce,filepathtype:he,filepath:Le}=parseGitUrl(K);if(!X||!q||!Ce||he!=="blob"&&he!=="raw"&&he!=="tree")throw new Error("Invalid GitHub URL or file path");const tt=Le.replace(/^\//,"");return Pt(A,D)==="api"?`${A.apiBaseUrl}/repos/${X}/${q}/contents/${tt}?ref=${Ce}`:`${A.rawBaseUrl}/${X}/${q}/${Ce}/${tt}`}catch(X){throw new Error(`Incorrect URL: ${K}, ${X}`)}}function Tt(K,A){const D={};return Pt(K,A)==="api"&&(D.Accept="application/vnd.github.v3.raw"),A.token&&(D.Authorization=`token ${A.token}`),{headers:D}}function Pt(K,A){return K.apiBaseUrl&&(A.token||!K.rawBaseUrl)?"api":"raw"}class Rt{constructor(){k(this,"tokenCache",new Map);k(this,"isNotExpired",A=>A.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(A,D){const X=this.tokenCache.get(A);if(X&&this.isNotExpired(X.expiresAt))return{accessToken:X.token};const q=await D();return this.tokenCache.set(A,q),{accessToken:q.token}}}const pt={Accept:"application/vnd.github.machine-man-preview+json"};class Nt{constructor(A,D){k(this,"appClient");k(this,"baseUrl");k(this,"baseAuthConfig");k(this,"cache",new Rt);k(this,"allowedInstallationOwners");this.allowedInstallationOwners=A.allowedInstallationOwners,this.baseUrl=D,this.baseAuthConfig={appId:A.appId,privateKey:A.privateKey.replace(/\\n/gm,`
31
+ `)},this.appClient=new Octokit({baseUrl:D,headers:pt,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(A,D){var he;const{installationId:X,suspended:q}=await this.getInstallationData(A);if(this.allowedInstallationOwners&&!((he=this.allowedInstallationOwners)==null?void 0:he.includes(A)))throw new Error(`The GitHub application for ${A} is not included in the allowed installation list (${X}).`);if(q)throw new Error(`The GitHub application for ${A} is suspended`);const Ce=D?`${A}/${D}`:A;return this.cache.getOrCreateToken(Ce,async()=>{const Le=await this.appClient.apps.createInstallationAccessToken({installation_id:X,headers:pt});if(D&&Le.data.repository_selection==="selected"){const tt=new Octokit({baseUrl:this.baseUrl,auth:Le.data.token});if(!(await tt.paginate(tt.apps.listReposAccessibleToInstallation)).some(ie=>ie.name===D))throw new Error(`The Backstage GitHub application used in the ${A} organization does not have access to a repository with the name ${D}`)}return{token:Le.data.token,expiresAt:DateTime.fromISO(Le.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(A){const X=(await this.getInstallations()).find(Ce=>{var he,Le;return((Le=(he=Ce.account)==null?void 0:he.login)==null?void 0:Le.toLocaleLowerCase("en-US"))===A.toLocaleLowerCase("en-US")});if(X)return{installationId:X.id,suspended:Boolean(X.suspended_by)};const q=new Error(`No app installation found for ${A} in ${this.baseAuthConfig.appId}`);throw q.name="NotFoundError",q}}class Ut{constructor(A){k(this,"apps");var D,X;this.apps=(X=(D=A.apps)==null?void 0:D.map(q=>new Nt(q,A.apiBaseUrl)))!=null?X:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(D=>D.getInstallations()))).flat():[]}async getAppToken(A,D){if(this.apps.length===0)return;const X=await Promise.all(this.apps.map(Le=>Le.getInstallationCredentials(A,D).then(tt=>({credentials:tt,error:void 0}),tt=>({credentials:void 0,error:tt})))),q=X.find(Le=>Le.credentials);if(q)return q.credentials.accessToken;const he=X.map(Le=>Le.error).find(Le=>Le.name!=="NotFoundError");if(he)throw he}}class Ot{constructor(A,D){this.githubAppCredentialsMux=A,this.token=D}async getCredentials(A){const D=parseGitUrl(A.url),X=D.owner||D.name,q=D.owner?D.name:void 0;let Ce="app",he=await this.githubAppCredentialsMux.getAppToken(X,q);return he||(Ce="token",he=this.token),{headers:he?{Authorization:`Bearer ${he}`}:void 0,token:he,type:Ce}}}k(Ot,"create",null);class bt{static fromIntegrations(A){const D=new Map;return A.github.list().forEach(X=>{const q=SingleInstanceGithubCredentialsProvider.create(X.config);D.set(X.config.host,q)}),new bt(D)}constructor(A){this.providers=A}async getCredentials(A){const D=new URL(A.url),X=this.providers.get(D.host);if(!X)throw new Error(`There is no GitHub integration that matches ${A.url}. Please add a configuration for an integration.`);return X.getCredentials(A)}}const Qe=class{constructor(A){this.integrationConfig=A}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return At(u(A),"tree")}resolveEditUrl(A){return At(A,"edit")}};let ht=Qe;k(ht,"factory",({config:A})=>{var X;const D=lt((X=A.getOptionalConfigArray("integrations.github"))!=null?X:[]);return s(D.map(q=>new Qe(q)),q=>q.config.host)});function At(K,A){return K.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(D,X,q,Ce)=>`//${X}/${q}/${Ce}/${A}/`)}const $t="gitlab.com",De="https://gitlab.com/api/v4";function st(K){const A=K.getString("host");let D=K.getOptionalString("apiBaseUrl");const X=K.getOptionalString("token");let q=K.getOptionalString("baseUrl");if(D?D=(0,l.trimEnd)(D,"/"):A===$t&&(D=De),q?q=(0,l.trimEnd)(q,"/"):q=`https://${A}`,A.includes(":"))throw new Error(`Invalid GitLab integration config, host '${A}' should just be the host name (e.g. "github.com"), not a URL`);if(d(A)){if(!D||!g(D))throw new Error(`Invalid GitLab integration config, '${D}' is not a valid apiBaseUrl`);if(!g(q))throw new Error(`Invalid GitLab integration config, '${q}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${A}' is not a valid host`);return{host:A,token:X,apiBaseUrl:D,baseUrl:q}}function it(K){const A=K.map(st);return A.some(D=>D.host===$t)||A.push({host:$t,apiBaseUrl:De,baseUrl:`https://${$t}`}),A}async function le(K,A){if(K.includes("/-/blob/")){const D=await B(K,A);return C(K,D).toString()}return P(K).toString()}function Q(K){const{token:A=""}=K;return{headers:{"PRIVATE-TOKEN":A}}}function P(K){try{const A=new URL(K),[D,X,q,Ce,...he]=A.pathname.split("/");if(D!==""||X===""||q===""||Ce!=="blob"||!he.join("/").match(/\.(yaml|yml)$/))throw new Error("Wrong GitLab URL");return A.pathname=[D,X,q,"raw",...he].join("/"),A}catch(A){throw new Error(`Incorrect url: ${K}, ${A}`)}}function C(K,A){try{const D=new URL(K),X=D.pathname.split("/-/blob/")[1],[q,...Ce]=X.split("/");return D.pathname=["/api/v4/projects",A,"repository/files",encodeURIComponent(decodeURIComponent(Ce.join("/"))),"raw"].join("/"),D.search=`?ref=${q}`,D}catch(D){throw new Error(`Incorrect url: ${K}, ${D}`)}}async function B(K,A){const D=new URL(K);if(!D.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const X=D.pathname.split("/-/blob/")[0],q=new URL(`${D.protocol+D.hostname}/api/v4/projects/${encodeURIComponent(X.replace(/^\//,""))}`),Ce=await fetch(q.toString(),Q(A)),he=await Ce.json();if(!Ce.ok)throw new Error(`GitLab Error '${he.error}', ${he.error_description}`);return Number(he.id)}catch(X){throw new Error(`Could not get GitLab project ID for: ${K}, ${X}`)}}const ke=class{constructor(A){this.integrationConfig=A}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return u(A)}resolveEditUrl(A){return _(A,"edit")}};let z=ke;k(z,"factory",({config:A})=>{var X;const D=it((X=A.getOptionalConfigArray("integrations.gitlab"))!=null?X:[]);return s(D.map(q=>new ke(q)),q=>q.config.host)});function _(K,A){return K.replace(/\/\-\/(blob|tree|edit)\//,`/-/${A}/`)}const ne="amazonaws.com";function ge(K){var tt;const A=K.getOptionalString("endpoint"),D=(tt=K.getOptionalBoolean("s3ForcePathStyle"))!=null?tt:!1;let X,q;if(A){try{const St=new URL(A);X=St.host,q=St.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${A}' is not a valid URL`)}if(q!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${A}'`)}else X=ne;const Ce=K.getOptionalString("accessKeyId"),he=K.getOptionalString("secretAccessKey"),Le=K.getOptionalString("roleArn");return{host:X,endpoint:A,s3ForcePathStyle:D,accessKeyId:Ce,secretAccessKey:he,roleArn:Le}}function ye(K){const A=K.map(ge);return A.some(D=>D.host===ne)||A.push({host:ne}),A}const ct=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(A){this.integrationConfig=A}resolveUrl(A){return u(A)}resolveEditUrl(A){return A}};let xe=ct;k(xe,"factory",({config:A})=>{var X;const D=ye((X=A.getOptionalConfigArray("integrations.awsS3"))!=null?X:[]);return s(D.map(q=>new ct(q)),q=>q.config.host)});class ze{constructor(A){k(this,"byType");this.byType=A}static fromConfig(A){return new ze({awsS3:xe.factory({config:A}),azure:S.factory({config:A}),bitbucket:ue.factory({config:A}),github:ht.factory({config:A}),gitlab:z.factory({config:A})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}list(){return Object.values(this.byType).flatMap(A=>A.list())}byUrl(A){return Object.values(this.byType).map(D=>D.byUrl(A)).find(Boolean)}byHost(A){return Object.values(this.byType).map(D=>D.byHost(A)).find(Boolean)}resolveUrl(A){const D=this.byUrl(A.base);return D?D.resolveUrl(A):u(A)}resolveEditUrl(A){const D=this.byUrl(A);return D?D.resolveEditUrl(A):A}}},76241:function(J,o,e){"use strict";e.d(o,{CT:function(){return s},EI:function(){return y},uW:function(){return d},Vt:function(){return u}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),l=h=>`__@backstage/${h}__`;function d(h,E){const i=l(h);let S=t[i];return S||(S=E(),t[i]=S,S)}var g=e(2784);function s(h){return d(h,()=>(0,g.createContext)(void 0))}function u(h){return(0,g.useContext)(s(h))}function m(h){return{set(E){globalThis[`__@backstage/${h}__`]=createContext(createVersionedValueMap(E))},reset(){delete globalThis[`__@backstage/${h}__`]}}}function y(h){return Object.freeze(h),{atVersion(E){return h[E]}}}},85653:function(J,o,e){"use strict";e.d(o,{AsyncEntityProvider:function(){return je},n3:function(){return t.n3},DefaultStarredEntitiesApi:function(){return h},EntityContext:function(){return V},EntityKindFilter:function(){return C},EntityLifecyclePicker:function(){return ee},EntityListProvider:function(){return bt},EntityOwnerPicker:function(){return Et},EntityRefLink:function(){return Q},EntityRefLinks:function(){return P},EntityTable:function(){return xn},EntityTagPicker:function(){return or},EntityTypePicker:function(){return Qn},FavoriteEntity:function(){return cr},UnregisterEntityDialog:function(){return Or},UserListPicker:function(){return gr},Ah:function(){return d},M4:function(){return x},wi:function(){return N},favoriteEntityIcon:function(){return kn},favoriteEntityTooltip:function(){return Xn},formatEntityRefTitle:function(){return st},getEntityMetadataEditUrl:function(){return Rt},getEntityMetadataViewUrl:function(){return Pt},getEntityRelations:function(){return pt},getEntitySourceLocation:function(){return Nt},isOwnerOf:function(){return Ut},starredEntitiesApiRef:function(){return E},useEntity:function(){return Je},useEntityCompoundName:function(){return Y},useEntityFromUrl:function(){return Oe},useEntityKinds:function(){return ze},useEntityListProvider:function(){return ht},useOwnUser:function(){return Ne},useRelatedEntities:function(){return be},useStarredEntities:function(){return Ue}});var r={};e.r(r),e.d(r,{createDomainColumn:function(){return Fn},createEntityRefColumn:function(){return on},createEntityRelationColumn:function(){return Ln},createMetadataDescriptionColumn:function(){return Zt},createOwnerColumn:function(){return On},createSpecLifecycleColumn:function(){return sn},createSpecTypeColumn:function(){return Bn},createSystemColumn:function(){return yt}});var t=e(30001),l=e(36964);const d=(0,l.createApiRef)({id:"plugin.catalog.service"});var g=e(82394),s=e.n(g),u=e(52890),m=e(76635);async function y({storageApi:w}){var re;const M=w.forBucket("settings"),H=w.forBucket("starredEntities"),te=M.get("starredEntities");if(!(0,m.isArray)(te))return;const se=new Set((re=H.get("entityRefs"))!=null?re:[]);te.filter(m.isString).map(fe=>fe.split(":")).filter(fe=>fe.length===4&&fe[0]==="entity").map(([fe,We,Ye,nt])=>(0,u.eE)({kind:We,namespace:Ye,name:nt})).forEach(fe=>se.add(fe)),await H.set("entityRefs",Array.from(se)),await M.remove("starredEntities")}class h{constructor(M){k(this,"settingsStore");k(this,"starredEntities");k(this,"subscribers",new Set);k(this,"observable",new(s())(M=>(M.next(this.starredEntities),this.subscribers.add(M),()=>{this.subscribers.delete(M)})));var H;y(M).then(),this.settingsStore=M.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((H=this.settingsStore.get("entityRefs"))!=null?H:[]),this.settingsStore.observe$("entityRefs").subscribe({next:te=>{var se;this.starredEntities=new Set((se=te.newValue)!=null?se:[]),this.notifyChanges()}})}async toggleStarred(M){this.starredEntities.has(M)?this.starredEntities.delete(M):this.starredEntities.add(M),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}isStarred(M){return this.starredEntities.has(M)}notifyChanges(){for(const M of this.subscribers)M.next(this.starredEntities)}}const E=(0,l.createApiRef)({id:"catalog-react.starred-entities"});var i=e(2784),S=e(76241),F=e(10289),T=e(77446);const x=(0,l.createRouteRef)({id:"catalog"}),N=(0,l.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]});function O(w){var M,H;return{kind:w.kind.toLocaleLowerCase("en-US"),namespace:(H=(M=w.metadata.namespace)==null?void 0:M.toLocaleLowerCase("en-US"))!=null?H:ENTITY_DEFAULT_NAMESPACE,name:w.metadata.name}}const Y=()=>{const{kind:w,namespace:M,name:H}=(0,l.useRouteRefParams)(N);return{kind:w,namespace:M,name:H}},V=(0,i.createContext)({entity:void 0,loading:!0,error:void 0,refresh:()=>{}}),ue=V.Provider,Se=(0,S.CT)("entity-context"),je=({children:w,entity:M,loading:H,error:te,refresh:se})=>{const re={entity:M,loading:H,error:te,refresh:se};return i.createElement(ue,{value:re},i.createElement(Se.Provider,{value:(0,S.EI)({1:re})},w))},me=({entity:w,children:M})=>React.createElement(je,{entity:w,loading:!Boolean(w),error:void 0,refresh:void 0,children:M}),Ge=({value:w,children:M})=>i.createElement(je,{...w,children:M});V.Provider=Ge;const Oe=()=>{const{kind:w,namespace:M,name:H}=Y(),te=(0,F.s0)(),se=(0,l.useApi)(l.errorApiRef),re=(0,l.useApi)(d),{value:fe,error:We,loading:Ye,retry:nt}=(0,T.Z)(()=>re.getEntityByName({kind:w,namespace:M,name:H}),[re,w,M,H]);return(0,i.useEffect)(()=>{H||(se.post(new Error("No name provided!")),te("/"))},[se,te,We,Ye,fe,H]),{entity:fe,loading:Ye,error:We,refresh:nt}};function Je(){const w=(0,S.Vt)("entity-context");if(!w)return{entity:void 0,loading:!0,error:void 0,refresh:()=>{}};const M=w.atVersion(1);if(!M)throw new Error("EntityContext v1 not available");const{entity:H,loading:te,error:se,refresh:re}=M;return{entity:H,loading:te,error:se,refresh:re}}var rt=e(19126),Xe=e.n(rt),mt=e(69294),dt=e(48760),lt=e(90736);function vt(w){return w.reduce((M,H)=>({...M,...H.getCatalogFilters?H.getCatalogFilters():{}}),{})}function Tt(w){return M=>w.every(H=>!H.filterEntity||H.filterEntity(M))}function Pt(w){var M;return(M=w.metadata.annotations)==null?void 0:M[u.wh]}function Rt(w){var M;return(M=w.metadata.annotations)==null?void 0:M[u.J1]}function pt(w,M,H){var se,re;let te=((re=(se=w==null?void 0:w.relations)==null?void 0:se.filter(fe=>fe.type===M))==null?void 0:re.map(fe=>fe.target))||[];return(H==null?void 0:H.kind)&&(te=te==null?void 0:te.filter(fe=>fe.kind.toLocaleLowerCase("en-US")===H.kind.toLocaleLowerCase("en-US"))),te}function Nt(w,M){var te;const H=(te=w.metadata.annotations)==null?void 0:te[u.wX];if(!!H)try{const se=(0,u.Me)(H),re=M.byUrl(se.target);return{locationTargetUrl:se.target,integrationType:re==null?void 0:re.type}}catch{return}}function Ut(w,M){const H=new Set([...pt(w,u.hr,{kind:"group"}),...w?[(0,u.C_)(w)]:[]].map(u.eE)),te=pt(M,u.S4).map(u.eE);for(const se of te)if(H.has(se))return!0;return!1}const Ot=(0,i.createContext)(void 0),bt=({children:w})=>{const M=(0,lt.default)(),H=(0,l.useApi)(d),[te,se]=(0,i.useState)({}),[re,fe]=(0,i.useState)(()=>{var ut;const Me=Xe().parse(window.location.search,{ignoreQueryPrefix:!0});return{appliedFilters:{},entities:[],backendEntities:[],queryParameters:(ut=Me.filters)!=null?ut:{}}}),[{loading:We,error:Ye},nt]=(0,mt.default)(async()=>{var Vt;const Me=(0,m.compact)(Object.values(te)),ut=Tt(Me),Ct=vt(Me),wt=vt((0,m.compact)(Object.values(re.appliedFilters))),kt=Object.keys(te).reduce((qt,En)=>{const Mt=te[En];return(Mt==null?void 0:Mt.toQueryValue)&&(qt[En]=Mt.toQueryValue()),qt},{});if((0,m.isEqual)(wt,Ct))fe({appliedFilters:te,backendEntities:re.backendEntities,entities:re.backendEntities.filter(ut),queryParameters:kt});else{const qt=await H.getEntities({filter:Ct});fe({appliedFilters:te,backendEntities:qt.items,entities:qt.items.filter(ut),queryParameters:kt})}if(M()){const qt=Xe().parse(window.location.search,{ignoreQueryPrefix:!0}),En=Xe().stringify({...qt,filters:kt},{addQueryPrefix:!0}),Mt=`${window.location.pathname}${En}`;(Vt=window.history)==null||Vt.replaceState(null,document.title,Mt)}},[H,te,re],{loading:!0});(0,dt.Z)(nt,10,[te]);const ot=(0,i.useCallback)(Me=>{se(ut=>{const Ct=typeof Me=="function"?Me(ut):Me;return{...ut,...Ct}})},[]),$e=(0,i.useMemo)(()=>({filters:re.appliedFilters,entities:re.entities,backendEntities:re.backendEntities,updateFilters:ot,queryParameters:re.queryParameters,loading:We,error:Ye}),[re,ot,We,Ye]);return i.createElement(Ot.Provider,{value:$e},w)};function ht(){const w=(0,i.useContext)(Ot);if(!w)throw new Error("useEntityListProvider must be used within EntityListProvider");return w}var At=e(64279),$t=e(18149),De=e.n($t);function st(w,M){const H=M==null?void 0:M.defaultKind;let te,se,re;return"metadata"in w?(te=w.kind,se=w.metadata.namespace,re=w.metadata.name):(te=w.kind,se=w.namespace,re=w.name),se===u.sk&&(se=void 0),te=te.toLocaleLowerCase("en-US"),`${(0,u.TH)({kind:H&&H.toLocaleLowerCase("en-US")===te?void 0:te,name:re,namespace:se})}`}var it=e(9118),le=e(80030);const Q=(0,i.forwardRef)((w,M)=>{var Ct;const{entityRef:H,defaultKind:te,title:se,children:re,...fe}=w,We=(0,l.useRouteRef)(N);let Ye,nt,ot;"metadata"in H?(Ye=H.kind,nt=H.metadata.namespace,ot=H.metadata.name):(Ye=H.kind,nt=H.namespace,ot=H.name),Ye=Ye.toLocaleLowerCase("en-US");const $e={kind:Ye,namespace:(Ct=nt==null?void 0:nt.toLocaleLowerCase("en-US"))!=null?Ct:u.sk,name:ot},Me=st(H,{defaultKind:te}),ut=i.createElement(it.Link,{...fe,ref:M,to:We($e)},re,!re&&(se!=null?se:Me));return se?i.createElement(le.ZP,{title:Me},ut):ut}),P=({entityRefs:w,defaultKind:M,...H})=>i.createElement(i.Fragment,null,w.map((te,se)=>i.createElement(i.Fragment,{key:se},se>0&&", ",i.createElement(Q,{...H,entityRef:te,defaultKind:M}))));class C{constructor(M){this.value=M}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class B{constructor(M){this.value=M}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class z{constructor(M){this.values=M}filterEntity(M){return this.values.every(H=>{var te;return((te=M.metadata.tags)!=null?te:[]).includes(H)})}toQueryValue(){return this.values}}class _{constructor(M){this.value=M}filterEntity(M){var te;const H=this.value.toLocaleUpperCase("en-US");return M.metadata.name.toLocaleUpperCase("en-US").includes(H)||`${M.metadata.title}`.toLocaleUpperCase("en-US").includes(H)||((te=M.metadata.tags)==null?void 0:te.join("").toLocaleUpperCase("en-US").indexOf(H))!==-1}}class ne{constructor(M){this.values=M}filterEntity(M){return this.values.some(H=>pt(M,u.S4).some(te=>st(te,{defaultKind:"group"})===H))}toQueryValue(){return this.values}}class ge{constructor(M){this.values=M}filterEntity(M){return this.values.some(H=>{var te;return((te=M.spec)==null?void 0:te.lifecycle)===H})}toQueryValue(){return this.values}}class ye{constructor(M,H,te){this.value=M,this.isOwnedEntity=H,this.isStarredEntity=te}filterEntity(M){switch(this.value){case"owned":return this.isOwnedEntity(M);case"starred":return this.isStarredEntity(M);default:return!0}}toQueryValue(){return this.value}}function xe(){var wt;const w=(0,l.useApi)(d),{filters:{kind:M,type:H},queryParameters:te,updateFilters:se}=ht(),re=[te.type].flat().filter(Boolean),[fe,We]=(0,i.useState)(re.length?re:(wt=H==null?void 0:H.getTypes())!=null?wt:[]),[Ye,nt]=(0,i.useState)([]),ot=(0,i.useMemo)(()=>M==null?void 0:M.value,[M]),{error:$e,loading:Me,value:ut}=(0,At.default)(async()=>ot?await w.getEntities({filter:{kind:ot},fields:["spec.type"]}).then(Vt=>Vt.items):[],[ot,w]),Ct=(0,i.useRef)(ut);return(0,i.useEffect)(()=>{const kt=Ct.current;if(Ct.current=ut,Me||!ot||kt===ut||!ut)return;const Vt=ut.reduce((Mt,An)=>{var zt;if(typeof((zt=An.spec)==null?void 0:zt.type)!="string")return Mt;const Un=An.spec.type.toLocaleLowerCase("en-US");return Mt[Un]||(Mt[Un]=0),Mt[Un]+=1,Mt},{}),qt=Object.entries(Vt).sort(([,Mt],[,An])=>An-Mt).map(([Mt])=>Mt);nt(qt);const En=fe.filter(Mt=>qt.includes(Mt));De()(fe,En)||We(En)},[Me,ot,fe,We,ut]),(0,i.useEffect)(()=>{se({type:fe.length?new B(fe):void 0})},[fe,se]),{loading:Me,error:$e,availableTypes:Ye,selectedTypes:fe,setSelectedTypes:We}}function ze(){const w=(0,l.useApi)(d),{error:M,loading:H,value:te}=(0,At.default)(async()=>{const se=await w.getEntities({fields:["kind"]}).then(re=>re.items);return[...new Set(se.map(re=>re.kind))].sort()});return{error:M,loading:H,kinds:te}}function Ne(){const w=(0,l.useApi)(d),M=(0,l.useApi)(l.identityApiRef);return(0,At.default)(async()=>{const H=await M.getBackstageIdentity();return w.getEntityByName((0,u.of)(H.userEntityRef,{defaultKind:"User",defaultNamespace:u.sk}))},[w,M])}const Te=20;function be(w,{type:M,kind:H}){const te=(0,l.useApi)(d),{loading:se,value:re,error:fe}=(0,At.default)(async()=>{const We=w.relations&&w.relations.filter($e=>(!M||$e.type.toLocaleLowerCase("en-US")===M.toLocaleLowerCase("en-US"))&&(!H||$e.target.kind.toLocaleLowerCase("en-US")===H.toLocaleLowerCase("en-US")));if(!We)return[];const Ye=Object.values((0,m.groupBy)(We,({target:$e})=>`${$e.kind}:${$e.namespace}`.toLocaleLowerCase("en-US"))),nt=[];for(const $e of Ye)nt.push({kind:$e[0].target.kind,namespace:$e[0].target.namespace,nameBatches:(0,m.chunk)($e.map(Me=>Me.target.name),Te)});return(await Promise.all(nt.flatMap($e=>$e.nameBatches.map(Me=>te.getEntities({filter:{kind:$e.kind,"metadata.namespace":$e.namespace,"metadata.name":Me}}))))).flatMap($e=>$e.items)},[w,M]);return{entities:re,loading:se,error:fe}}var de=e(72164);function Ae(w){return typeof w=="string"?w:(0,u.eE)(w)}function Ue(){const w=(0,l.useApi)(E),M=(0,de.Z)(w.starredEntitie$(),new Set),H=(0,i.useCallback)(se=>M.has(Ae(se)),[M]),te=(0,i.useCallback)(se=>w.toggleStarred(Ae(se)).then(),[w]);return{starredEntities:M,toggleStarredEntity:te,isStarredEntity:H}}function we(w){return typeof w=="string"?w:(0,u.eE)(w)}function Fe(w){const M=(0,l.useApi)(E),[H,te]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{const re=M.starredEntitie$().subscribe({next(fe){te(fe.has(we(w)))}});return()=>{re.unsubscribe()}},[w,M]),{toggleStarredEntity:(0,i.useCallback)(()=>M.toggleStarred(we(w)).then(),[w,M]),isStarredEntity:H}}async function at(w){return(await w.getBackstageIdentity()).ownershipEntityRefs}async function Be(w,M){const H=new Array,te=M.find(se=>se.startsWith("user:"));if(te){const se=await w.getEntityByName((0,u.of)(te));if(se){const re=pt(se,u.hr,{kind:"Group"});for(const fe of re)H.push((0,u.eE)(fe))}}return H}function Qe(){const w=(0,l.useApi)(l.identityApiRef),M=(0,l.useApi)(d),{loading:H,value:te}=(0,At.default)(async()=>{const{ownershipEntityRefs:re}=await w.getBackstageIdentity(),fe=await Be(M,re);return new Set([...re,...fe])},[]),se=(0,i.useMemo)(()=>{const re=new Set(te!=null?te:[]);return fe=>{const We=("metadata"in fe?pt(fe,u.S4):[fe]).map(u.eE);for(const Ye of We)if(re.has(Ye))return!0;return!1}},[te]);return(0,i.useMemo)(()=>({loading:H,isOwnedEntity:se}),[H,se])}function ke(w){const M=useApi(identityApiRef),H=useApi(catalogApiRef),{loading:te,value:se}=useAsync(async()=>{const fe=await loadIdentityOwnerRefs(M),We=await loadCatalogOwnerRefs(H,fe);return await H.getEntities(w?{filter:{kind:w,[`relations.${RELATION_OWNED_BY}`]:[...fe,...We]}}:{filter:{[`relations.${RELATION_OWNED_BY}`]:[...fe,...We]}})},[]),re=useMemo(()=>se,[se]);return useMemo(()=>({loading:te,ownedEntities:re}),[te,re])}const ct=({initialFilter:w,hidden:M})=>{var re;const{updateFilters:H,queryParameters:te}=useEntityListProvider(),[se]=useState((re=[te.kind].flat()[0])!=null?re:w);return useEffect(()=>{H({kind:se?new EntityKindFilter(se):void 0})},[se,H]),M?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var K=e(79692),A=e(95544),D=e(90436),X=e(5806),q=e(21324),Ce=e(86619),he=e(19996),Le=e(25505),tt=e(38016),St=e(88013);const gn=(0,K.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),ie=i.createElement(Le.Z,{fontSize:"small"}),$=i.createElement(he.Z,{fontSize:"small"}),ee=()=>{var nt,ot;const w=gn(),{updateFilters:M,backendEntities:H,filters:te,queryParameters:se}=ht(),re=[se.lifecycles].flat().filter(Boolean),[fe,We]=(0,i.useState)(re.length?re:(ot=(nt=te.lifecycles)==null?void 0:nt.values)!=null?ot:[]);(0,i.useEffect)(()=>{M({lifecycles:fe.length?new ge(fe):void 0})},[fe,M]);const Ye=(0,i.useMemo)(()=>[...new Set(H.map($e=>{var Me;return(Me=$e.spec)==null?void 0:Me.lifecycle}).filter(Boolean))].sort(),[H]);return Ye.length?i.createElement(A.Z,{pb:1,pt:1},i.createElement(D.Z,{variant:"button"},"Lifecycle"),i.createElement(St.ZP,{"aria-label":"Lifecycle",multiple:!0,options:Ye,value:fe,onChange:($e,Me)=>We(Me),renderOption:($e,{selected:Me})=>i.createElement(X.Z,{control:i.createElement(q.Z,{icon:ie,checkedIcon:$,checked:Me}),label:$e}),size:"small",popupIcon:i.createElement(tt.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:$e=>i.createElement(Ce.Z,{...$e,className:w.input,variant:"outlined"})})):null},pe=(0,K.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),Ve=i.createElement(Le.Z,{fontSize:"small"}),qe=i.createElement(he.Z,{fontSize:"small"}),Et=()=>{var nt,ot;const w=pe(),{updateFilters:M,backendEntities:H,filters:te,queryParameters:se}=ht(),re=[se.owners].flat().filter(Boolean),[fe,We]=(0,i.useState)(re.length?re:(ot=(nt=te.owners)==null?void 0:nt.values)!=null?ot:[]);(0,i.useEffect)(()=>{M({owners:fe.length?new ne(fe):void 0})},[fe,M]);const Ye=(0,i.useMemo)(()=>[...new Set(H.flatMap($e=>pt($e,u.S4).map(Me=>st(Me,{defaultKind:"group"}))).filter(Boolean))].sort(),[H]);return Ye.length?i.createElement(A.Z,{pb:1,pt:1},i.createElement(D.Z,{variant:"button"},"Owner"),i.createElement(St.ZP,{multiple:!0,"aria-label":"Owner",options:Ye,value:fe,onChange:($e,Me)=>We(Me),renderOption:($e,{selected:Me})=>i.createElement(X.Z,{control:i.createElement(q.Z,{icon:Ve,checkedIcon:qe,checked:Me}),label:$e}),size:"small",popupIcon:i.createElement(tt.Z,{"data-testid":"owner-picker-expand"}),renderInput:$e=>i.createElement(Ce.Z,{...$e,className:w.input,variant:"outlined"})})):null},Bt=(0,K.Z)(w=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),an=()=>{var re,fe;const w=Bt(),{filters:M,updateFilters:H}=useEntityListProvider(),[te,se]=useState((fe=(re=M.text)==null?void 0:re.value)!=null?fe:"");return useDebounce(()=>{H({text:te.length?new EntityTextFilter(te):void 0})},250,[te,H]),React.createElement(Toolbar,{className:w.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{id:"input-with-icon-adornment",className:w.input,placeholder:"Search",autoComplete:"off",onChange:We=>se(We.target.value),value:te,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>se(""),edge:"end",disabled:te.length===0},React.createElement(Clear,null)))})))};function on({defaultKind:w}){function M(H){var te;return((te=H.metadata)==null?void 0:te.title)||st(H,{defaultKind:w})}return{title:"Name",highlight:!0,customFilterAndSearch(H,te){return M(te).includes(H)},customSort(H,te){return M(H).localeCompare(M(te))},render:H=>{var te;return i.createElement(Q,{entityRef:H,defaultKind:w,title:(te=H.metadata)==null?void 0:te.title})}}}function Ln({title:w,relation:M,defaultKind:H,filter:te}){function se(fe){return pt(fe,M,te)}function re(fe){return se(fe).map(We=>st(We,{defaultKind:H})).join(", ")}return{title:w,customFilterAndSearch(fe,We){return re(We).includes(fe)},customSort(fe,We){return re(fe).localeCompare(re(We))},render:fe=>i.createElement(P,{entityRefs:se(fe),defaultKind:H})}}function On(){return Ln({title:"Owner",relation:u.S4,defaultKind:"group"})}function Fn(){return Ln({title:"Domain",relation:u.cz,defaultKind:"domain",filter:{kind:"domain"}})}function yt(){return Ln({title:"System",relation:u.cz,defaultKind:"system",filter:{kind:"system"}})}function Zt(){return{title:"Description",field:"metadata.description",render:w=>i.createElement(it.OverflowTooltip,{text:w.metadata.description,placement:"bottom-start",line:2}),width:"auto"}}function sn(){return{title:"Lifecycle",field:"spec.lifecycle"}}function Bn(){return{title:"Type",field:"spec.type"}}const Kt=[on({defaultKind:"system"}),Fn(),On(),Zt()],Yn=[on({defaultKind:"component"}),yt(),On(),Bn(),sn(),Zt()],ar=(0,K.Z)(w=>({empty:{padding:w.spacing(2),display:"flex",justifyContent:"center"}}));function xn({entities:w,title:M,emptyContent:H,variant:te="gridItem",columns:se}){const re=ar(),fe={minWidth:"0",width:"100%"};return te==="gridItem"&&(fe.height="calc(100% - 10px)"),i.createElement(it.Table,{columns:se,title:M,style:fe,emptyContent:H&&i.createElement("div",{className:re.empty},H),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:w})}xn.columns=r,xn.systemEntityColumns=Kt,xn.componentEntityColumns=Yn;const Ar=(0,K.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),vr=i.createElement(Le.Z,{fontSize:"small"}),Wn=i.createElement(he.Z,{fontSize:"small"}),or=()=>{var nt,ot;const w=Ar(),{updateFilters:M,backendEntities:H,filters:te,queryParameters:se}=ht(),re=[se.tags].flat().filter(Boolean),[fe,We]=(0,i.useState)(re.length?re:(ot=(nt=te.tags)==null?void 0:nt.values)!=null?ot:[]);(0,i.useEffect)(()=>{M({tags:fe.length?new z(fe):void 0})},[fe,M]);const Ye=(0,i.useMemo)(()=>[...new Set(H.flatMap($e=>$e.metadata.tags).filter(Boolean))].sort(),[H]);return Ye.length?i.createElement(A.Z,{pb:1,pt:1},i.createElement(D.Z,{variant:"button"},"Tags"),i.createElement(St.ZP,{multiple:!0,"aria-label":"Tags",options:Ye,value:fe,onChange:($e,Me)=>We(Me),renderOption:($e,{selected:Me})=>i.createElement(X.Z,{control:i.createElement(q.Z,{icon:vr,checkedIcon:Wn,checked:Me}),label:$e}),size:"small",popupIcon:i.createElement(tt.Z,{"data-testid":"tag-picker-expand"}),renderInput:$e=>i.createElement(Ce.Z,{...$e,className:w.input,variant:"outlined"})})):null};var sr=e(82108),ir=e.n(sr);const Qn=w=>{var nt;const{hidden:M,initialFilter:H}=w,te=(0,l.useApi)(l.alertApiRef),{error:se,availableTypes:re,selectedTypes:fe,setSelectedTypes:We}=xe();if((0,i.useEffect)(()=>{se&&te.post({message:"Failed to load entity types",severity:"error"}),H&&We([H])},[se,te,H,We]),re.length===0||se)return null;const Ye=[{value:"all",label:"All"},...re.map(ot=>({value:ot,label:ir()(ot)}))];return M?null:i.createElement(A.Z,{pb:1,pt:1},i.createElement(it.Select,{label:"Type",items:Ye,selected:(nt=Ye.length>1?fe[0]:void 0)!=null?nt:"all",onChange:ot=>We(ot==="all"?[]:[String(ot)])}))};var Rr=e(15459),lr=e(61837),Mn=e(11640),Sr=e(28347);const Cr=(0,Rr.Z)({root:{color:"#f3ba37"}})(Mn.Z),Xn=w=>w?"Remove from favorites":"Add to favorites",kn=w=>w?i.createElement(Cr,null):i.createElement(Sr.Z,null),cr=w=>{const{toggleStarredEntity:M,isStarredEntity:H}=Fe(w.entity);return i.createElement(lr.Z,{color:"inherit",...w,onClick:()=>M()},i.createElement(le.ZP,{title:Xn(H)},kn(H)))};var pn=e(77277),yn=e(55999),ur=e(85256),dr=e(8629),Tr=e(79249),Pr=e(38724),fr=e(49429),Xt=e(99688);function Ir(w){var ut;const M=(0,l.useApi)(d),H=(ut=w.metadata.annotations)==null?void 0:ut[u.lb],te=w.metadata.uid,se=H==="bootstrap:bootstrap",re=(0,At.default)(async()=>{const Ct=M.getOriginLocationByEntity(w);let wt;if(!H)wt=Promise.resolve([]);else{const kt=`metadata.annotations.${u.lb}`;wt=M.getEntities({filter:{[kt]:H},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(Vt=>Vt.items)}return Promise.all([Ct,wt]).then(([kt,Vt])=>({location:kt,colocatedEntities:Vt}))},[M,w]),fe=(0,i.useCallback)(async function(){const{location:wt,colocatedEntities:kt}=re.value;await M.removeLocationById(wt.id),await Promise.allSettled(kt.map(Vt=>M.removeEntityByUid(Vt.metadata.uid)))},[M,re]),We=(0,i.useCallback)(async function(){await M.removeEntityByUid(te)},[M,te]);if(se)return{type:"bootstrap",location:H,deleteEntity:We};const{loading:Ye,error:nt,value:ot}=re;if(Ye)return{type:"loading"};if(nt)return{type:"error",error:nt};const{location:$e,colocatedEntities:Me}=ot;return $e?{type:"unregister",location:H,colocatedEntities:Me.map(u.C_),unregisterLocation:fe,deleteEntity:We}:{type:"only-delete",deleteEntity:We}}var qn=e(10179);const Lr=(0,K.Z)({advancedButton:{fontSize:"0.7em"}}),Jr=({entity:w,onConfirm:M})=>{var ut;const H=(0,l.useApi)(l.alertApiRef),te=(0,l.useApi)(l.configApiRef),se=Lr(),re=Ir(w),[fe,We]=(0,i.useState)(!1),[Ye,nt]=(0,i.useState)(!1),ot=(ut=te.getOptionalString("app.title"))!=null?ut:"Backstage",$e=(0,i.useCallback)(async function(){if("unregisterLocation"in re){nt(!0);try{await re.unregisterLocation(),M()}catch(wt){(0,qn.BD)(wt),H.post({message:wt.message})}finally{nt(!1)}}},[H,M,re]),Me=(0,i.useCallback)(async function(){if("deleteEntity"in re){nt(!0);try{await re.deleteEntity(),M()}catch(wt){(0,qn.BD)(wt),H.post({message:wt.message})}finally{nt(!1)}}},[H,M,re]);return re.type==="loading"?i.createElement(it.Progress,null):re.type==="error"?i.createElement(it.ResponseErrorPanel,{error:re.error}):re.type==="bootstrap"?i.createElement(i.Fragment,null,i.createElement(Xt.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',re.location,'"). If you believe this is in error, please contact the ',ot," ","integrator."),i.createElement(A.Z,{marginTop:2},!fe&&i.createElement(pn.Z,{variant:"text",size:"small",color:"primary",className:se.advancedButton,onClick:()=>We(!0)},"Advanced Options"),fe&&i.createElement(i.Fragment,null,i.createElement(yn.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."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ye,onClick:Me},"Delete Entity")))):re.type==="only-delete"?i.createElement(i.Fragment,null,i.createElement(yn.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."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ye,onClick:Me},"Delete Entity")):re.type==="unregister"?i.createElement(i.Fragment,null,i.createElement(yn.Z,null,"This action will unregister the following entities:"),i.createElement(yn.Z,{component:"ul"},re.colocatedEntities.map(Ct=>i.createElement("li",{key:`${Ct.kind}:${Ct.namespace}/${Ct.name}`},i.createElement(Q,{entityRef:Ct})))),i.createElement(yn.Z,null,"Located at the following location:"),i.createElement(yn.Z,{component:"ul"},i.createElement("li",null,re.location)),i.createElement(yn.Z,null,"To undo, just re-register the entity in ",ot,"."),i.createElement(A.Z,{marginTop:2},i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ye,onClick:$e},"Unregister Location"),!fe&&i.createElement(A.Z,{component:"span",marginLeft:2},i.createElement(pn.Z,{variant:"text",size:"small",color:"primary",className:se.advancedButton,onClick:()=>We(!0)},"Advanced Options"))),fe&&i.createElement(i.Fragment,null,i.createElement(A.Z,{paddingTop:4,paddingBottom:4},i.createElement(ur.Z,null)),i.createElement(yn.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."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ye,onClick:Me},"Delete Entity"))):i.createElement(Xt.Z,{severity:"error"},"Internal error: Unknown state")},Or=({open:w,onConfirm:M,onClose:H,entity:te})=>i.createElement(dr.Z,{open:w,onClose:H},i.createElement(Tr.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),i.createElement(Pr.Z,null,i.createElement(Jr,{entity:te,onConfirm:M})),i.createElement(fr.Z,null,i.createElement(pn.Z,{onClick:H,color:"primary"},"Cancel")));var mr=e(94339),Yr=e(11776),Qr=e(12231),xr=e(86136),Xr=e(49378),Dr=e(9520),br=e(47603);const Nn=(0,K.Z)(w=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:w.spacing(1,0,1,0)},title:{margin:w.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:w.palette.text.primary},menuItem:{minHeight:w.spacing(6)},groupWrapper:{margin:w.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function hr(w){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:br.Z},{id:"starred",label:"Starred",icon:Mn.Z}]},{name:w!=null?w:"Company",items:[{id:"all",label:"All"}]}]}const gr=({initialFilter:w,availableFilters:M})=>{var An,Un;const H=Nn(),se=(An=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?An:"Company",{filters:re,updateFilters:fe,backendEntities:We,queryParameters:Ye}=ht(),nt=["starred","all"],ot=hr(se).map(zt=>({...zt,items:zt.items.filter(({id:_t})=>["group","user"].some($n=>$n===Ye.kind)?nt.includes(_t):!M||M.includes(_t))})).filter(({items:zt})=>!!zt.length),{isStarredEntity:$e}=Ue(),{isOwnedEntity:Me}=Qe(),ut=(0,i.useMemo)(()=>new ye("owned",Me,$e),[Me,$e]),Ct=(0,i.useMemo)(()=>new ye("starred",Me,$e),[Me,$e]),[wt,kt]=(0,i.useState)(We),Vt=wt.filter(zt=>ut.filterEntity(zt)).length,[qt,En]=(0,i.useState)(Vt>0?(Un=[Ye.user].flat()[0])!=null?Un:w:"all");(0,i.useEffect)(()=>{fe({user:qt?new ye(qt,Me,$e):void 0})},[qt,Me,$e,fe]),(0,i.useEffect)(()=>{const zt=Tt((0,m.compact)(Object.values({...re,user:void 0})));kt(We.filter(zt))},[re,We]);function Mt(zt){switch(zt){case"owned":return Vt;case"starred":return wt.filter(_t=>Ct.filterEntity(_t)).length;default:return wt.length}}return i.createElement(mr.Z,{className:H.root},ot.map(zt=>i.createElement(i.Fragment,{key:zt.name},i.createElement(D.Z,{variant:"subtitle2",className:H.title},zt.name),i.createElement(mr.Z,{className:H.groupWrapper},i.createElement(Yr.Z,{disablePadding:!0,dense:!0},zt.items.map(_t=>{var $n,Zn;return i.createElement(Qr.Z,{key:_t.id,button:!0,divider:!0,onClick:()=>En(_t.id),selected:_t.id===(($n=re.user)==null?void 0:$n.value),className:H.menuItem},_t.icon&&i.createElement(xr.Z,{className:H.listIcon},i.createElement(_t.icon,{fontSize:"small"})),i.createElement(Xr.Z,null,i.createElement(D.Z,{variant:"body1","data-testid":`user-picker-${_t.id}`},_t.label)),i.createElement(Dr.Z,null,(Zn=Mt(_t.id))!=null?Zn:"-"))}))))))},Fr=({children:w,value:M})=>{var Ye;const[H,te]=useState((Ye=M==null?void 0:M.filters)!=null?Ye:{}),se=useCallback(nt=>{te(ot=>{const $e=typeof nt=="function"?nt(ot):nt;return{...ot,...$e}})},[]),re={entities:[],backendEntities:[],updateFilters:se,filters:H,loading:!1,queryParameters:{}},{filters:fe,...We}=M!=null?M:{};return React.createElement(EntityListContext.Provider,{value:{...re,...We}},w)};var kr=e(92787)},92787:function(){},39398:function(J,o,e){"use strict";e.r(o),e.d(o,{AboutCard:function(){return je},AboutContent:function(){return ue},AboutField:function(){return Y}});var r=e(52890),t=e(9118),l=e(36964),d=e(36356),g=e(85653),s=e(79692),u=e(94339),m=e(32552),y=e(61837),h=e(85256),E=e(24579),i=e(52866),S=e(30254),F=e(27604),T=e(2784),j=e(47851),x=e(60905),b=e(90436),N=e(7089);const O=(0,s.Z)(me=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:me.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}})),Y=({label:me,value:Ge,gridSizes:Oe,children:Je})=>{const rt=O(),Xe=(0,l.useElementFilter)(Je,dt=>dt.getElements()),mt=Xe.length>0?Xe:T.createElement(b.Z,{variant:"body2",className:rt.value},Ge||"unknown");return T.createElement(x.Z,{item:!0,...Oe},T.createElement(b.Z,{variant:"subtitle2",className:rt.label},me),mt)},V=(0,s.Z)({description:{wordBreak:"break-word"}}),ue=({entity:me})=>{var pt,Nt,Ut,Ot,bt,ht;const Ge=V(),Oe=me.kind.toLocaleLowerCase("en-US")==="system",Je=me.kind.toLocaleLowerCase("en-US")==="resource",rt=me.kind.toLocaleLowerCase("en-US")==="component",Xe=me.kind.toLocaleLowerCase("en-US")==="api",mt=me.kind.toLocaleLowerCase("en-US")==="template",dt=me.kind.toLocaleLowerCase("en-US")==="location",lt=me.kind.toLocaleLowerCase("en-US")==="group",vt=(0,g.getEntityRelations)(me,r.cz,{kind:"system"}),Tt=(0,g.getEntityRelations)(me,r.cz,{kind:"component"}),Pt=(0,g.getEntityRelations)(me,r.cz,{kind:"domain"}),Rt=(0,g.getEntityRelations)(me,r.S4);return T.createElement(x.Z,{container:!0},T.createElement(Y,{label:"Description",gridSizes:{xs:12}},T.createElement(b.Z,{variant:"body2",paragraph:!0,className:Ge.description},((pt=me==null?void 0:me.metadata)==null?void 0:pt.description)||"No description")),T.createElement(Y,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},Rt.length>0&&T.createElement(g.EntityRefLinks,{entityRefs:Rt,defaultKind:"group"})),(Oe||Pt.length>0)&&T.createElement(Y,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},Pt.length>0&&T.createElement(g.EntityRefLinks,{entityRefs:Pt,defaultKind:"domain"})),(Xe||rt||Je||vt.length>0)&&T.createElement(Y,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},vt.length>0&&T.createElement(g.EntityRefLinks,{entityRefs:vt,defaultKind:"system"})),rt&&Tt.length>0&&T.createElement(Y,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},T.createElement(g.EntityRefLinks,{entityRefs:Tt,defaultKind:"component"})),(Xe||rt||Je||mt||lt||dt||typeof((Nt=me==null?void 0:me.spec)==null?void 0:Nt.type)=="string")&&T.createElement(Y,{label:"Type",value:(Ut=me==null?void 0:me.spec)==null?void 0:Ut.type,gridSizes:{xs:12,sm:6,lg:4}}),(Xe||rt||typeof((Ot=me==null?void 0:me.spec)==null?void 0:Ot.lifecycle)=="string")&&T.createElement(Y,{label:"Lifecycle",value:(bt=me==null?void 0:me.spec)==null?void 0:bt.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),T.createElement(Y,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((ht=me==null?void 0:me.metadata)==null?void 0:ht.tags)||[]).map(At=>T.createElement(N.Z,{key:At,size:"small",label:At}))))},Se=(0,s.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 je({variant:me}){var Ot,bt;const Ge=Se(),{entity:Oe}=(0,g.useEntity)(),Je=(0,l.useApi)(d.q3),rt=(0,l.useApi)(g.Ah),Xe=(0,l.useApi)(l.alertApiRef),mt=(0,l.useRouteRef)(j.j),dt=(0,g.getEntitySourceLocation)(Oe,Je),lt=(0,g.getEntityMetadataEditUrl)(Oe),vt={label:"View Source",disabled:!dt,icon:T.createElement(d.nW,{type:dt==null?void 0:dt.integrationType}),href:dt==null?void 0:dt.locationTargetUrl},Tt={label:"View TechDocs",disabled:!((Ot=Oe.metadata.annotations)==null?void 0:Ot["backstage.io/techdocs-ref"])||!mt,icon:T.createElement(S.Z,null),href:mt&&mt({namespace:Oe.metadata.namespace||r.sk,kind:Oe.kind,name:Oe.metadata.name})};let Pt="";me==="gridItem"?Pt=Ge.gridItemCard:me==="fullHeight"&&(Pt=Ge.fullHeightCard);let Rt="";me==="gridItem"?Rt=Ge.gridItemCardContent:me==="fullHeight"&&(Rt=Ge.fullHeightCardContent);const pt=(bt=Oe.metadata.annotations)==null?void 0:bt[r.Jl],Nt=(pt==null?void 0:pt.startsWith("url:"))||(pt==null?void 0:pt.startsWith("file:")),Ut=(0,T.useCallback)(async()=>{await rt.refreshEntity((0,r.eE)(Oe)),Xe.post({message:"Refresh scheduled",severity:"info"})},[rt,Xe,Oe]);return T.createElement(u.Z,{className:Pt},T.createElement(m.Z,{title:"About",action:T.createElement(T.Fragment,null,Nt&&T.createElement(y.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:Ut},T.createElement(i.Z,null)),T.createElement(y.Z,{component:t.Link,"aria-label":"Edit",disabled:!lt,title:"Edit Metadata",to:lt!=null?lt:"#"},T.createElement(F.Z,null))),subheader:T.createElement(t.HeaderIconLinkRow,{links:[vt,Tt]})}),T.createElement(h.Z,null),T.createElement(E.Z,{className:Rt},T.createElement(ue,{entity:Oe})))}},49782:function(J,o,e){"use strict";e.d(o,{K:function(){return h}});var r=e(2784),t=e(79692),l=e(12420),d=e(97580),g=e(73698),s=e(74603),u=e(12231),m=e(85653);const y=(0,t.Z)(E=>(0,l.Z)({root:{...E.typography.h4}})),h=({initialFilter:E="component"})=>{var N;const i=y(),{kinds:S=[]}=(0,m.useEntityKinds)(),{updateFilters:F,queryParameters:T}=(0,m.useEntityListProvider)(),[j,x]=(0,r.useState)(((N=[T.kind].flat()[0])!=null?N:E).toLocaleLowerCase("en-US"));(0,r.useEffect)(()=>{F({kind:j?new m.EntityKindFilter(j):void 0})},[j,F]);const b=[(0,d.Z)(j)].concat(S).sort().reduce((O,Y)=>(O[Y.toLocaleLowerCase("en-US")]=Y,O),{});return r.createElement(g.Z,{input:r.createElement(s.Z,{value:j}),value:j,onChange:O=>x(O.target.value),classes:i},Object.keys(b).map(O=>r.createElement(u.Z,{value:O,key:O},`${b[O]}s`)))}},7758:function(J,o,e){"use strict";e.r(o),e.d(o,{CatalogPage:function(){return E},DefaultCatalogPage:function(){return h}});var r=e(2784),t=e(10289),l=e(9118),d=e(36964),g=e(85653),s=e(47851),u=e(91730),m=e(26997),y=e(49782);const h=({columns:i,actions:S,initiallySelectedFilter:F="owned"})=>{var x;const T=(x=(0,d.useApi)(d.configApiRef).getOptionalString("organization.name"))!=null?x:"Backstage",j=(0,d.useRouteRef)(s.y);return r.createElement(l.PageWithHeader,{title:`${T} Catalog`,themeId:"home"},r.createElement(g.EntityListProvider,null,r.createElement(l.Content,null,r.createElement(l.ContentHeader,{titleComponent:r.createElement(y.K,null)},r.createElement(l.CreateButton,{title:"Create Component",to:j&&j()}),r.createElement(l.SupportButton,null,"All your software catalog entities")),r.createElement(m.q7,null,r.createElement(m.Gh,null,r.createElement(g.EntityTypePicker,null),r.createElement(g.UserListPicker,{initialFilter:F}),r.createElement(g.EntityOwnerPicker,null),r.createElement(g.EntityLifecyclePicker,null),r.createElement(g.EntityTagPicker,null)),r.createElement(m.Nz,null,r.createElement(u.E,{columns:i,actions:S}))))))},E=i=>(0,t.pC)()||r.createElement(h,{...i})},17499:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return g},createSystemColumn:function(){return s},createOwnerColumn:function(){return u},createSpecTypeColumn:function(){return m},createSpecLifecycleColumn:function(){return y},createMetadataDescriptionColumn:function(){return h},createTagsColumn:function(){return E}});var r=e(2784),t=e(85653),l=e(7089),d=e(9118);function g(i){function S(F){var T;return((T=F.metadata)==null?void 0:T.title)||(0,t.formatEntityRefTitle)(F,{defaultKind:i==null?void 0:i.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:F},{entity:T}){return S(F).localeCompare(S(T))},render:({entity:F})=>{var T;return r.createElement(t.EntityRefLink,{entityRef:F,defaultKind:(i==null?void 0:i.defaultKind)||"Component",title:(T=F.metadata)==null?void 0:T.title})}}}function s(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.partOfSystemRelations,defaultKind:"system"})}}function u(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.ownedByRelations,defaultKind:"group"})}}function m(){return{title:"Type",field:"entity.spec.type",hidden:!0}}function y(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}}function h(){return{title:"Description",field:"entity.metadata.description",render:({entity:i})=>r.createElement(d.OverflowTooltip,{text:i.metadata.description,placement:"bottom-start"}),width:"auto"}}function E(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:i})=>r.createElement(r.Fragment,null,i.metadata.tags&&i.metadata.tags.map(S=>r.createElement(l.Z,{key:S,label:S,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}},91730:function(J,o,e){"use strict";e.d(o,{E:function(){return y}});var r=e(52890),t=e(85653),l=e(27604),d=e(2997),g=e(76635),s=e(2784),u=e(17499),m=e(9118);const y=({columns:h,actions:E})=>{var je,me,Ge;const{isStarredEntity:i,toggleStarredEntity:S}=(0,t.useStarredEntities)(),{loading:F,error:T,entities:j,filters:x}=(0,t.useEntityListProvider)(),b=(0,s.useMemo)(()=>{var Oe;return[u.createNameColumn({defaultKind:(Oe=x.kind)==null?void 0:Oe.value}),u.createSystemColumn(),u.createOwnerColumn(),u.createSpecTypeColumn(),u.createSpecLifecycleColumn(),u.createMetadataDescriptionColumn(),u.createTagsColumn()]},[(je=x.kind)==null?void 0:je.value]),N=x.type===void 0,O=(0,g.capitalize)((Ge=(me=x.user)==null?void 0:me.value)!=null?Ge:"all");if(T)return s.createElement("div",null,s.createElement(m.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},s.createElement(m.CodeSnippet,{language:"text",text:T.toString()})));const Y=[({entity:Oe})=>{const Je=(0,t.getEntityMetadataViewUrl)(Oe);return{icon:()=>s.createElement(d.Z,{"aria-label":"View",fontSize:"small"}),tooltip:"View",disabled:!Je,onClick:()=>{!Je||window.open(Je,"_blank")}}},({entity:Oe})=>{const Je=(0,t.getEntityMetadataEditUrl)(Oe);return{icon:()=>s.createElement(l.Z,{"aria-label":"Edit",fontSize:"small"}),tooltip:"Edit",disabled:!Je,onClick:()=>{!Je||window.open(Je,"_blank")}}},({entity:Oe})=>{const Je=i(Oe);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,t.favoriteEntityIcon)(Je),tooltip:(0,t.favoriteEntityTooltip)(Je),onClick:()=>S(Oe)}}],V=j.map(Oe=>{const Je=(0,t.getEntityRelations)(Oe,r.cz,{kind:"system"}),rt=(0,t.getEntityRelations)(Oe,r.S4);return{entity:Oe,resolved:{name:(0,t.formatEntityRefTitle)(Oe,{defaultKind:"Component"}),ownedByRelationsTitle:rt.map(Xe=>(0,t.formatEntityRefTitle)(Xe,{defaultKind:"group"})).join(", "),ownedByRelations:rt,partOfSystemRelationTitle:Je.map(Xe=>(0,t.formatEntityRefTitle)(Xe,{defaultKind:"system"})).join(", "),partOfSystemRelations:Je}}}),ue=(h||b).find(Oe=>Oe.title==="Type");ue&&(ue.hidden=!N);const Se=V.length>20;return s.createElement(m.Table,{isLoading:F,columns:h||b,options:{paging:Se,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!F,padding:"dense",pageSizeOptions:[20,50,100]},title:`${O} (${j.length})`,data:V,actions:E||Y})};y.columns=u},26997:function(J,o,e){"use strict";e.d(o,{Nz:function(){return i},Gh:function(){return E},q7:function(){return l}});var r=e(60905),t=e(2784);const l=({children:S})=>t.createElement(r.Z,{container:!0,style:{position:"relative"}},S);var d=e(41156),g=e(60364),s=e(77277),u=e(4190),m=e(95544),y=e(90436),h=e(36444);const E=({children:S})=>{const F=(0,d.Z)(b=>b.breakpoints.down("md")),T=(0,g.Z)(),[j,x]=(0,t.useState)(!1);return F?t.createElement(t.Fragment,null,t.createElement(s.Z,{style:{marginTop:T.spacing(1),marginLeft:T.spacing(1)},onClick:()=>x(!0),startIcon:t.createElement(h.Z,null)},"Filters"),t.createElement(u.ZP,{open:j,onClose:()=>x(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},t.createElement(m.Z,{m:2},t.createElement(y.Z,{variant:"h6",component:"h2",style:{marginBottom:T.spacing(1)}},"Filters"),S))):t.createElement(r.Z,{item:!0,lg:2},S)},i=({children:S})=>t.createElement(r.Z,{item:!0,xs:12,lg:10},S)},47851:function(J,o,e){"use strict";e.d(o,{y:function(){return t},j:function(){return l}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),l=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]})},91512:function(J,o,e){"use strict";e.d(o,{g:function(){return g},w:function(){return s}});var r=e(36964),t=e(10179),l=e(19126),d=e.n(l);const g=(0,r.createApiRef)({id:"plugin.search.queryservice"});class s{constructor(m){k(this,"discoveryApi");k(this,"identityApi");this.discoveryApi=m.discoveryApi,this.identityApi=m.identityApi}async query(m){const{token:y}=await this.identityApi.getCredentials(),h=d().stringify(m),E=`${await this.discoveryApi.getBaseUrl("search/query")}?${h}`,i=await fetch(E,{headers:y?{Authorization:`Bearer ${y}`}:{}});if(!i.ok)throw await t.VL.fromResponse(i);return i.json()}}},19941:function(J,o,e){"use strict";e.r(o),e.d(o,{DefaultResultListItem:function(){return m}});var r=e(2784),t=e(38402),l=e(86136),d=e(49378),g=e(95544),s=e(85256),u=e(9118);const m=({result:y,icon:h,secondaryAction:E})=>r.createElement(u.Link,{to:y.location},r.createElement(t.Z,{alignItems:"center"},h&&r.createElement(l.Z,null,h),r.createElement(d.Z,{primaryTypographyProps:{variant:"h6"},primary:y.title,secondary:y.text}),E&&r.createElement(g.Z,{alignItems:"flex-end"},E)),r.createElement(s.Z,null))},1795:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchBar:function(){return S},SearchBarBase:function(){return i}});var r=e(2784),t=e(48760),l=e(36964),d=e(50581),g=e(61837),s=e(74603),u=e(21853),m=e(33375),y=e(22313);const h=({children:F})=>{const T=(0,l.useAnalytics)(),{term:j}=(0,y.Rx)();return(0,r.useEffect)(()=>{j&&T.captureEvent("search",j)},[T,j]),r.createElement(r.Fragment,null,F)},E=()=>(0,r.useContext)(y.ci)!==void 0,i=({onChange:F,onKeyDown:T,onSubmit:j,debounceTime:x=200,clearButton:b=!0,fullWidth:N=!0,value:O,inputProps:Y={},endAdornment:V,...ue})=>{const Se=(0,l.useApi)(l.configApiRef),[je,me]=(0,r.useState)(O),Ge=E();(0,r.useEffect)(()=>{me(vt=>vt!==O?O:vt)},[O]),(0,t.Z)(()=>F(je),x,[je]);const Oe=(0,r.useCallback)(vt=>{me(vt.target.value)},[me]),Je=(0,r.useCallback)(vt=>{T&&T(vt),j&&vt.key==="Enter"&&j()},[T,j]),rt=(0,r.useCallback)(()=>{F("")},[F]),Xe=`Search in ${Se.getOptionalString("app.title")||"Backstage"}`,mt=r.createElement(d.Z,{position:"start"},r.createElement(g.Z,{"aria-label":"Query",disabled:!0},r.createElement(u.Z,null))),dt=r.createElement(d.Z,{position:"end"},r.createElement(g.Z,{"aria-label":"Clear",onClick:rt},r.createElement(m.Z,null))),lt=r.createElement(h,null,r.createElement(s.Z,{"data-testid":"search-bar-next",value:je,placeholder:Xe,startAdornment:mt,endAdornment:b?dt:V,inputProps:{"aria-label":"Search",...Y},fullWidth:N,onChange:Oe,onKeyDown:Je,...ue}));return Ge?lt:r.createElement(y.Nd,null,lt)},S=({onChange:F,...T})=>{const{term:j,setTerm:x}=(0,y.Rx)(),b=N=>{F?F(N):x(N)};return r.createElement(i,{value:j,onChange:b,...T})}},22313:function(J,o,e){"use strict";e.d(o,{ci:function(){return s},Nd:function(){return u},Rx:function(){return m}});var r=e(36964),t=e(2784),l=e(64279),d=e(1849),g=e(91512);const s=(0,t.createContext)(void 0),u=({initialState:y={term:"",pageCursor:void 0,filters:{},types:[]},children:h})=>{var rt,Xe,mt,dt;const E=(0,r.useApi)(g.g),[i,S]=(0,t.useState)(y.pageCursor),[F,T]=(0,t.useState)(y.filters),[j,x]=(0,t.useState)(y.term),[b,N]=(0,t.useState)(y.types),[O,Y]=(0,t.useState)(!1),V=(0,t.useCallback)(()=>Y(lt=>!lt),[]),ue=(0,d.Z)(j),Se=(0,l.default)(()=>E.query({term:j,filters:F,pageCursor:i,types:b}),[j,F,b,i]),je=!Se.loading&&!Se.error&&((rt=Se.value)==null?void 0:rt.nextPageCursor),me=!Se.loading&&!Se.error&&((Xe=Se.value)==null?void 0:Xe.previousPageCursor),Ge=(0,t.useCallback)(()=>{var lt;S((lt=Se.value)==null?void 0:lt.nextPageCursor)},[(mt=Se.value)==null?void 0:mt.nextPageCursor]),Oe=(0,t.useCallback)(()=>{var lt;S((lt=Se.value)==null?void 0:lt.previousPageCursor)},[(dt=Se.value)==null?void 0:dt.previousPageCursor]);(0,t.useEffect)(()=>{j&&ue&&j!==ue&&S(void 0)},[j,ue,y.pageCursor]);const Je={result:Se,filters:F,setFilters:T,open:O,toggleModal:V,term:j,setTerm:x,types:b,setTypes:N,pageCursor:i,setPageCursor:S,fetchNextPage:je?Ge:void 0,fetchPreviousPage:me?Oe:void 0};return t.createElement(r.AnalyticsContext,{attributes:{searchTypes:b.sort().join(",")}},t.createElement(s.Provider,{value:Je,children:h}))},m=()=>{const y=(0,t.useContext)(s);if(y===void 0)throw new Error("useSearch must be used within a SearchContextProvider");return y}},65678:function(J,o,e){"use strict";e.d(o,{s:function(){return V}});var r=e(2784),t=e(8629),l=e(79249),d=e(27556),g=e(38724),s=e(60905),u=e(85256),m=e(11776),y=e(49429),h=e(69001),E=e(79692),i=e(1795),S=e(19941),F=e(39332),T=e(22313),j=e(8542),x=e(36964),b=e(9118),N=e(20863);const O=(0,E.Z)(ue=>({container:{borderRadius:30,display:"flex",height:"2.4em"},input:{flex:1},paperFullWidth:{height:"calc(100% - 128px)"},dialogActionsContainer:{padding:ue.spacing(1,3)},viewResultsLink:{verticalAlign:"0.5em"}})),Y=({open:ue=!0,toggleModal:Se})=>{const je=(0,x.useRouteRef)(N._Z),me=O(),{term:Ge}=(0,T.Rx)(),Oe=()=>{Se()},Je=()=>{Oe()};return r.createElement(t.Z,{classes:{paperFullWidth:me.paperFullWidth},onClose:Se,"aria-labelledby":"search-modal-title",open:ue,fullWidth:!0,maxWidth:"lg"},r.createElement(l.Z,null,r.createElement(d.Z,{className:me.container},r.createElement(i.SearchBar,{className:me.input}))),r.createElement(g.Z,null,r.createElement(s.Z,{container:!0,direction:"row-reverse",justifyContent:"flex-start",alignItems:"center"},r.createElement(s.Z,{item:!0},r.createElement(b.Link,{onClick:Se,to:`${je()}?query=${Ge}`},r.createElement("span",{className:me.viewResultsLink},"View Full Results"),r.createElement(h.Z,{color:"primary"})))),r.createElement(u.Z,null),r.createElement(F.SearchResult,null,({results:rt})=>r.createElement(m.Z,null,rt.map(({document:Xe})=>r.createElement("div",{role:"button",tabIndex:0,key:`${Xe.location}-btn`,onClick:Oe,onKeyPress:Je},r.createElement(S.DefaultResultListItem,{key:Xe.location,result:Xe})))))),r.createElement(y.Z,{className:me.dialogActionsContainer},r.createElement(s.Z,{container:!0,direction:"row"},r.createElement(s.Z,{item:!0,xs:12},r.createElement(j.G,null)))))},V=({open:ue=!0,toggleModal:Se})=>r.createElement(T.Nd,null,r.createElement(Y,{open:ue,toggleModal:Se}))},3992:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchPage:function(){return $t}});var r=e(2784),t=e(1849),l=e(19126),d=e.n(l),g=e(10289),s=e(22313),u=e(60905),m=e(48760),y=e(79692),h=e(27556),E=e(74603),i=e(61837),S=e(21853),F=e(33375);const T=(0,y.Z)(()=>({root:{display:"flex",alignItems:"center"},input:{flex:1}})),j=({searchQuery:De,handleSearch:st,handleClearSearchBar:it})=>{const le=T();return r.createElement(h.Z,{component:"form",onSubmit:Q=>st(Q),className:le.root},r.createElement(i.Z,{disabled:!0,type:"submit","aria-label":"search"},r.createElement(S.Z,null)),r.createElement(E.Z,{className:le.input,placeholder:"Search in Backstage",value:De,onChange:Q=>st(Q),inputProps:{"aria-label":"search backstage"}}),r.createElement(i.Z,{"aria-label":"search",onClick:()=>it()},r.createElement(F.Z,null)))};var x=e(85256),b=e(90436),N=e(99688),O=e(64279),Y=e(85653),V=e(36444);const ue=(0,y.Z)(De=>({filters:{width:"250px",display:"flex"},icon:{margin:De.spacing(-1,0,0,0)}})),Se=({numberOfSelectedFilters:De,handleToggleFilters:st})=>{const it=ue();return r.createElement("div",{className:it.filters},r.createElement(i.Z,{className:it.icon,"aria-label":"settings",onClick:st},r.createElement(V.Z,null)),r.createElement(b.Z,{variant:"h6"},"Filters (",De||0,")"))};var je=e(94339),me=e(32552),Ge=e(77277),Oe=e(24579),Je=e(73698),rt=e(12231),Xe=e(11776),mt=e(38402),dt=e(21324),lt=e(49378);const vt=(0,y.Z)(De=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:De.spacing(0,1,0,1)},dropdown:{width:"100%"}})),Tt=({filters:De,filterOptions:st,resetFilters:it,updateSelected:le,updateChecked:Q})=>{const P=vt();return r.createElement(je.Z,{className:P.filters},r.createElement(me.Z,{title:r.createElement(b.Z,{variant:"h6"},"Filters"),action:r.createElement(Ge.Z,{color:"primary",onClick:()=>it()},"CLEAR ALL")}),r.createElement(x.Z,null),st.kind.length===0&&st.lifecycle.length===0&&r.createElement(Oe.Z,null,r.createElement(b.Z,{variant:"subtitle2"},"Filters cannot be applied to available results")),st.kind.length>0&&r.createElement(Oe.Z,null,r.createElement(b.Z,{variant:"subtitle2"},"Kind"),r.createElement(Je.Z,{id:"outlined-select",onChange:C=>{var B;return le((B=C==null?void 0:C.target)==null?void 0:B.value)},variant:"outlined",className:P.dropdown,value:De.selected},st.kind.map(C=>r.createElement(rt.Z,{selected:C==="",dense:!0,key:C,value:C},C)))),st.lifecycle.length>0&&r.createElement(Oe.Z,null,r.createElement(b.Z,{variant:"subtitle2"},"Lifecycle"),r.createElement(Xe.Z,{disablePadding:!0,dense:!0},st.lifecycle.map(C=>r.createElement(mt.Z,{key:C,dense:!0,button:!0,onClick:()=>Q(C)},r.createElement(dt.Z,{edge:"start",disableRipple:!0,className:P.checkbox,color:"primary",checked:De.checked.includes(C),tabIndex:-1,value:C,name:C}),r.createElement(lt.Z,{id:C,primary:C}))))))};var Pt=e(52890),Rt=e(9118),pt=e(36964);const Nt=(0,y.Z)(De=>({searchQuery:{color:De.palette.text.primary,background:De.palette.background.default,borderRadius:"10%"},tableHeader:{margin:De.spacing(1,0,0,0),display:"flex"},divider:{width:"1px",margin:De.spacing(0,2),padding:De.spacing(2,0)}})),Ut=[{title:"Name",field:"name",highlight:!0,render:De=>r.createElement(Rt.Link,{to:De.url||""},De.name)},{title:"Description",field:"description"},{title:"Owner",field:"owner"},{title:"Kind",field:"kind"},{title:"LifeCycle",field:"lifecycle"}],Ot=({searchQuery:De,numberOfSelectedFilters:st,numberOfResults:it,handleToggleFilters:le})=>{const Q=Nt();return r.createElement("div",{className:Q.tableHeader},r.createElement(Se,{numberOfSelectedFilters:st,handleToggleFilters:le}),r.createElement(x.Z,{className:Q.divider,orientation:"vertical"}),r.createElement(u.Z,{item:!0,xs:12},De?r.createElement(b.Z,{variant:"h6"},`${it} `,it>1?"results for ":"result for ",r.createElement("span",{className:Q.searchQuery},'"',De,'"')," "):r.createElement(b.Z,{variant:"h6"},`${it} results`)))},bt=({searchQuery:De})=>{const st=(0,pt.useApi)(Y.Ah),[it,le]=(0,r.useState)(!1),[Q,P]=(0,r.useState)({selected:"",checked:[]}),[C,B]=(0,r.useState)([]),{loading:z,error:_,value:ne}=(0,O.default)(async()=>(await st.getEntities()).items.map(Te=>{var be,de,Ae,Ue,we;return{name:Te.metadata.name,description:Te.metadata.description,owner:typeof((be=Te.spec)==null?void 0:be.owner)=="string"?(de=Te.spec)==null?void 0:de.owner:void 0,kind:Te.kind,lifecycle:typeof((Ae=Te.spec)==null?void 0:Ae.lifecycle)=="string"?(Ue=Te.spec)==null?void 0:Ue.lifecycle:void 0,url:`/catalog/${((we=Te.metadata.namespace)==null?void 0:we.toLocaleLowerCase("en-US"))||Pt.sk}/${Te.kind.toLocaleLowerCase("en-US")}/${Te.metadata.name}`}}),[]);if((0,r.useEffect)(()=>{if(ne){let Ne=ne;Q.selected!==""&&(Ne=ne.filter(Te=>Q.selected.includes(Te.kind))),Q.checked.length>0&&(Ne=Ne.filter(Te=>Te.lifecycle&&Q.checked.includes(Te.lifecycle))),De&&(Ne=Ne.filter(Te=>{var be,de,Ae;return((be=Te.name)==null?void 0:be.toLocaleLowerCase("en-US").includes(De))||((de=Te.name)==null?void 0:de.toLocaleLowerCase("en-US").includes(De.split(" ").join("-")))||((Ae=Te.description)==null?void 0:Ae.toLocaleLowerCase("en-US").includes(De))})),B(Ne)}},[Q,De,ne]),z)return r.createElement(Rt.Progress,null);if(_)return r.createElement(N.Z,{severity:"error"},"Error encountered while fetching search results. ",_.toString());if(!ne||ne.length===0)return r.createElement(Rt.EmptyState,{missing:"data",title:"Sorry, no results were found"});const ge=()=>{P({selected:"",checked:[]})},ye=Ne=>{P(Te=>({...Te,selected:Ne}))},xe=Ne=>{if(Q.checked.includes(Ne)){P(Te=>({...Te,checked:Te.checked.filter(be=>be!==Ne)}));return}P(Te=>({...Te,checked:[...Te.checked,Ne]}))},ze=ne.reduce((Ne,Te)=>(Te.kind&&Ne.kind.indexOf(Te.kind)<0&&Ne.kind.push(Te.kind),Te.lifecycle&&Ne.lifecycle.indexOf(Te.lifecycle)<0&&Ne.lifecycle.push(Te.lifecycle),Ne),{kind:[],lifecycle:[]});return r.createElement(r.Fragment,null,r.createElement(u.Z,{container:!0},it&&r.createElement(u.Z,{item:!0,xs:3},r.createElement(Tt,{filters:Q,filterOptions:ze,resetFilters:ge,updateSelected:ye,updateChecked:xe})),r.createElement(u.Z,{item:!0,xs:it?9:12},r.createElement(Rt.Table,{options:{paging:!0,pageSize:20,search:!1},data:C,columns:Ut,title:r.createElement(Ot,{searchQuery:De,numberOfResults:C.length,numberOfSelectedFilters:(Q.selected!==""?1:0)+Q.checked.length,handleToggleFilters:()=>le(!it)})}))))},ht=()=>{const[De,st]=(0,Rt.useQueryParamState)("query"),[it,le]=(0,r.useState)(De!=null?De:""),Q=C=>{C.preventDefault(),le(C.target.value)};(0,r.useEffect)(()=>le(De!=null?De:""),[De]),(0,m.Z)(()=>{st(it)},200,[it]);const P=()=>{le("")};return r.createElement(Rt.Page,{themeId:"home"},r.createElement(Rt.Header,{title:"Search"}),r.createElement(Rt.Content,null,r.createElement(u.Z,{container:!0,direction:"row"},r.createElement(u.Z,{item:!0,xs:12},r.createElement(j,{handleSearch:Q,handleClearSearchBar:P,searchQuery:it})),r.createElement(u.Z,{item:!0,xs:12},r.createElement(bt,{searchQuery:(De!=null?De:"").toLocaleLowerCase("en-US")})))))},At=()=>{const De=(0,g.TH)(),{term:st,setTerm:it,types:le,setTypes:Q,pageCursor:P,setPageCursor:C,filters:B,setFilters:z}=(0,s.Rx)(),_=(0,t.Z)(De.search);return(0,r.useEffect)(()=>{if(De.search===_)return;const ne=d().parse(De.search.substring(1),{arrayLimit:0})||{};ne.filters&&z(ne.filters),ne.query&&it(ne.query),ne.pageCursor&&C(ne.pageCursor),ne.types&&Q(ne.types)},[_,De,it,Q,C,z]),(0,r.useEffect)(()=>{const ne=d().stringify({query:st,types:le,pageCursor:P,filters:B},{arrayFormat:"brackets"}),ge=`${window.location.pathname}?${ne}`;window.history.replaceState(null,document.title,ge)},[st,le,P,B]),null},$t=()=>{const De=(0,g.pC)();return r.createElement(s.Nd,null,r.createElement(At,null),De||r.createElement(ht,null))}},39332:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchResult:function(){return d}});var r=e(9118),t=e(2784),l=e(22313);const d=({children:g})=>{const{result:{loading:s,error:u,value:m}}=(0,l.Rx)();return s?t.createElement(r.Progress,null):u?t.createElement(r.ResponseErrorPanel,{title:"Error encountered while fetching search results",error:u}):(m==null?void 0:m.results.length)?t.createElement(t.Fragment,null,g({results:m.results})):t.createElement(r.EmptyState,{missing:"data",title:"Sorry, no results were found"})}},8542:function(J,o,e){"use strict";e.d(o,{G:function(){return m}});var r=e(79692),t=e(77277),l=e(35352),d=e(27742),g=e(2784),s=e(22313);const u=(0,r.Z)(y=>({root:{display:"flex",justifyContent:"space-between",gap:y.spacing(2),margin:y.spacing(2,0)}})),m=()=>{const{fetchNextPage:y,fetchPreviousPage:h}=(0,s.Rx)(),E=u();return!y&&!h?g.createElement(g.Fragment,null):g.createElement("nav",{"arial-label":"pagination navigation",className:E.root},g.createElement(t.Z,{"aria-label":"previous page",disabled:!h,onClick:h,startIcon:g.createElement(l.Z,null)},"Previous"),g.createElement(t.Z,{"aria-label":"next page",disabled:!y,onClick:y,endIcon:g.createElement(d.Z,null)},"Next"))}},20863:function(J,o,e){"use strict";e.d(o,{_Z:function(){return l}});var r=e(91512),t=e(36964);const l=(0,t.createRouteRef)({id:"search"}),d=(0,t.createRouteRef)({id:"search:next"}),g=(0,t.createPlugin)({id:"search",apis:[(0,t.createApiFactory)({api:r.g,deps:{discoveryApi:t.discoveryApiRef,identityApi:t.identityApiRef},factory:({discoveryApi:T,identityApi:j})=>new r.w({discoveryApi:T,identityApi:j})})],routes:{root:l,nextRoot:d}}),s=g.provide((0,t.createRoutableExtension)({name:"SearchPage",component:()=>Promise.resolve().then(e.bind(e,3992)).then(T=>T.SearchPage),mountPoint:l})),u=g.provide((0,t.createRoutableExtension)({name:"SearchPageNext",component:()=>Promise.resolve().then(e.bind(e,3992)).then(T=>T.SearchPage),mountPoint:d})),m=g.provide((0,t.createComponentExtension)({name:"SearchBar",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(T=>T.SearchBar)}})),y=g.provide((0,t.createComponentExtension)({name:"SearchBarNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(T=>T.SearchBar)}})),h=g.provide((0,t.createComponentExtension)({name:"SearchResult",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(T=>T.SearchResult)}})),E=g.provide((0,t.createComponentExtension)({name:"SearchResultNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(T=>T.SearchResult)}})),i=g.provide((0,t.createComponentExtension)({name:"SidebarSearchModal",component:{lazy:()=>e.e(3825).then(e.bind(e,43825)).then(T=>T.SidebarSearchModal)}})),S=g.provide((0,t.createComponentExtension)({name:"DefaultResultListItem",component:{lazy:()=>Promise.resolve().then(e.bind(e,19941)).then(T=>T.DefaultResultListItem)}})),F=g.provide((0,t.createComponentExtension)({name:"HomePageSearchBar",component:{lazy:()=>e.e(6105).then(e.bind(e,46105)).then(T=>T.HomePageSearchBar)}}))},94067:function(J,o,e){"use strict";e.r(o),e.d(o,{EmbeddedDocsRouter:function(){return F},Router:function(){return S},isTechDocsAvailable:function(){return i}});var r=e(2784),t=e(85653),l=e(10289),d=e(41481),g=e(31752),s=e(73873),u=e(97589),m=e(36964);const y=({entity:T})=>{var x;const j=(0,m.useApi)(m.configApiRef);return r.createElement(s.Ej,{withSearch:!1,entityRef:{namespace:(0,u.D)((x=T.metadata.namespace)!=null?x:"default",j),kind:(0,u.D)(T.kind,j),name:(0,u.D)(T.metadata.name,j)}})};var h=e(9118);const E="backstage.io/techdocs-ref",i=T=>{var j,x;return Boolean((x=(j=T==null?void 0:T.metadata)==null?void 0:j.annotations)==null?void 0:x[E])},S=()=>r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/",element:r.createElement(d.TechDocsIndexPage,null)}),r.createElement(l.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(g.TechDocsPage,null)})),F=T=>{var b;const{entity:j}=(0,t.useEntity)();return((b=j.metadata.annotations)==null?void 0:b[E])?r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/*",element:r.createElement(y,{entity:j})})):r.createElement(h.MissingAnnotationEmptyState,{annotation:E})}},3337:function(J,o,e){"use strict";e.d(o,{D:function(){return t},g:function(){return l}});var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),l=(0,r.createApiRef)({id:"plugin.techdocs.service"})},71226:function(J,o,e){"use strict";e.d(o,{O:function(){return h}});var r=e(2784),t=e(79692),l=e(49378),d=e(38402),g=e(85256),s=e(9118),u=e(15277),m=e.n(u);const y=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),h=({result:E,lineClamp:i=5,asListItem:S=!0,asLink:F=!0,title:T})=>{const j=y(),x=()=>{var O;return r.createElement(l.Z,{className:j.itemText,primaryTypographyProps:{variant:"h6"},primary:T||`${E.title} | ${(O=E.entityTitle)!=null?O:E.name} docs`,secondary:r.createElement(m(),{line:i,truncateText:"\u2026",text:E.text,element:"span"})})},b=({children:O})=>F?r.createElement(s.Link,{to:E.location},O):r.createElement(r.Fragment,null,O),N=({children:O})=>S?r.createElement(r.Fragment,null,r.createElement(d.Z,{alignItems:"flex-start",className:j.flexContainer},O),r.createElement(g.Z,{component:"li"})):r.createElement(r.Fragment,null,O);return r.createElement(b,null,r.createElement(N,null,r.createElement(x,null)))}},97589:function(J,o,e){"use strict";e.d(o,{D:function(){return r}});function r(t,l){return l.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},10187:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsCardGrid:function(){return h}});var r=e(2784),t=e(36964),l=e(94339),d=e(16111),g=e(24579),s=e(14503),u=e(68725),m=e(9118),y=e(97589);const h=({entities:E})=>{const i=(0,t.useRouteRef)(u.Fw),S=(0,t.useApi)(t.configApiRef);return E?r.createElement(m.ItemCardGrid,{"data-testid":"docs-explore"},(E==null?void 0:E.length)?E.map((F,T)=>{var j,x;return r.createElement(l.Z,{key:T},r.createElement(d.Z,null,r.createElement(m.ItemCardHeader,{title:(j=F.metadata.title)!=null?j:F.metadata.name})),r.createElement(g.Z,null,F.metadata.description),r.createElement(s.Z,null,r.createElement(m.Button,{to:i({namespace:(0,y.D)((x=F.metadata.namespace)!=null?x:"default",S),kind:(0,y.D)(F.kind,S),name:(0,y.D)(F.metadata.name,S)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null}},83201:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsTable:function(){return E}});var r=e(2784),t=e(95074),l=e(36964),d=e(52890),g=e(85653),s=e(68725),u=e(9118),m=e(50294),y=e(67430),h=e(97589);const E=({entities:i,title:S,loading:F,columns:T,actions:j})=>{const[,x]=(0,t.Z)(),b=(0,l.useRouteRef)(s.Fw),N=(0,l.useApi)(l.configApiRef);if(!i)return null;const O=i.map(ue=>{var je;const Se=(0,g.getEntityRelations)(ue,d.S4);return{entity:ue,resolved:{docsUrl:b({namespace:(0,h.D)((je=ue.metadata.namespace)!=null?je:"default",N),kind:(0,h.D)(ue.kind,N),name:(0,h.D)(ue.metadata.name,N)}),ownedByRelations:Se,ownedByRelationsTitle:Se.map(me=>(0,g.formatEntityRefTitle)(me,{defaultKind:"group"})).join(", ")}}}),Y=[y.createNameColumn(),y.createOwnerColumn(),y.createTypeColumn()],V=[m.createCopyDocsUrlAction(x)];return r.createElement(r.Fragment,null,F||O&&O.length>0?r.createElement(u.Table,{isLoading:F,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:O,columns:T||Y,actions:j||V,title:S?`${S} (${O.length})`:`All (${O.length})`}):r.createElement(u.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(u.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))}},57110:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsCustomHome:function(){return i}});var r=e(2784),t=e(64279),l=e(79692),d=e(85653),g=e(83201),s=e(10187),u=e(1114),m=e(9118),y=e(36964);const h={DocsTable:g.DocsTable,DocsCardGrid:s.DocsCardGrid},E=({config:S,entities:F,index:T})=>{const x=(0,l.Z)({panelContainer:{marginBottom:"2rem",...S.panelCSS?S.panelCSS:{}}})(),{value:b}=(0,d.useOwnUser)(),N=h[S.panelType],O=F.filter(Y=>S.filterPredicate==="ownedByUser"?b?(0,d.isOwnerOf)(b,Y):!1:typeof S.filterPredicate=="function"&&S.filterPredicate(Y));return r.createElement(r.Fragment,null,r.createElement(m.ContentHeader,{title:S.title,description:S.description},T===0?r.createElement(m.SupportButton,null,"Discover documentation in your ecosystem."):null),r.createElement("div",{className:x.panelContainer},r.createElement(N,{"data-testid":"techdocs-custom-panel",entities:O})))},i=({tabsConfig:S})=>{const[F,T]=(0,r.useState)(0),j=(0,y.useApi)(d.Ah),{value:x,loading:b,error:N}=(0,t.default)(async()=>(await j.getEntities({filter:{"metadata.annotations.backstage.io/techdocs-ref":d.n3},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(V=>{var ue;return!!((ue=V.metadata.annotations)==null?void 0:ue["backstage.io/techdocs-ref"])})),O=S[F];return b?r.createElement(u.j,null,r.createElement(m.Content,null,r.createElement(m.Progress,null))):N?r.createElement(u.j,null,r.createElement(m.Content,null,r.createElement(m.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(m.CodeSnippet,{language:"text",text:N.toString()})))):r.createElement(u.j,null,r.createElement(m.HeaderTabs,{selectedIndex:F,onChange:Y=>T(Y),tabs:S.map(({label:Y},V)=>({id:V.toString(),label:Y}))}),r.createElement(m.Content,{"data-testid":"techdocs-content"},O.panels.map((Y,V)=>r.createElement(E,{key:V,config:Y,entities:x||[],index:V}))))}},41481:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsIndexPage:function(){return g}});var r=e(2784),t=e(10289),l=e(57110);const d=()=>{const s=[{label:"Overview",panels:[{title:"Overview",description:"Explore your internal technical ecosystem through documentation.",panelType:"DocsCardGrid",filterPredicate:()=>!0}]},{label:"Owned Documents",panels:[{title:"Owned documents",description:"Access your documentation.",panelType:"DocsTable",filterPredicate:"ownedByUser"}]}];return r.createElement(l.TechDocsCustomHome,{tabsConfig:s})},g=()=>(0,t.pC)()||r.createElement(d,null)},1114:function(J,o,e){"use strict";e.d(o,{j:function(){return d}});var r=e(2784),t=e(9118),l=e(36964);const d=({children:g})=>{var m;const u=`Documentation available in ${(m=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?m:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:u,themeId:"documentation"},g)}},50294:function(J,o,e){"use strict";e.r(o),e.d(o,{createCopyDocsUrlAction:function(){return d},createStarEntityAction:function(){return g}});var r=e(2784),t=e(39981),l=e(85653);function d(s){return u=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>s(`${window.location.origin}${u.resolved.docsUrl}`)})}function g(s,u){return({entity:m})=>{const y=s(m);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,l.favoriteEntityIcon)(y),tooltip:(0,l.favoriteEntityTooltip)(y),onClick:()=>u(m)}}}},67430:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return g},createOwnerColumn:function(){return s},createTypeColumn:function(){return u}});var r=e(2784),t=e(9118),l=e(85653);function d(m){return m.metadata.title||m.metadata.name}function g(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:m=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:m.resolved.docsUrl},d(m.entity)),subvalue:m.entity.metadata.description})}}function s(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:m})=>r.createElement(l.EntityRefLinks,{entityRefs:m.ownedByRelations,defaultKind:"group"})}}function u(){return{title:"Type",field:"entity.spec.type"}}},75448:function(J,o,e){"use strict";e.d(o,{Ej:function(){return it},DK:function(){return $t}});var r=e(2784),t=e(10289),l=e(79692),d=e(60364),g=e(60905),s=e(36964),u=e(36356),m=e(9118),y=e(3337);const h=(le,Q,P)=>{const C=le==="src"&&Q.endsWith(".svg"),B=!Q.match(/^([a-z]*:)?\/\//i),z=Q.startsWith(P);return C&&(B||z)},E=({techdocsStorageApi:le,entityId:Q,path:P})=>async C=>{const B=await le.getApiOrigin(),z=async(_,ne)=>{for(const ge of _)if(ge.hasAttribute(ne)){const ye=ge.getAttribute(ne);if(!ye)return;const xe=await le.getBaseUrl(ye,Q,P);if(h(ne,ye,B))try{const Ne=await(await fetch(xe,{credentials:"include"})).text();ge.setAttribute(ne,`data:image/svg+xml;base64,${btoa(Ne)}`)}catch{ge.setAttribute("alt",`Error: ${ye}`)}else ge.setAttribute(ne,xe)}};return await Promise.all([z(C.querySelectorAll("img"),"src"),z(C.querySelectorAll("script"),"src"),z(C.querySelectorAll("link"),"href"),z(C.querySelectorAll("a[download]"),"href")]),C};var i=e(63925),S=e(67097),F=e(9832),T=e(82717),j=e.n(T);const x=le=>Q=>{const P=Q.querySelector('[title="Edit this page"]');if(!P||!P.href)return Q;const C=new URL(P.href),B=le.byUrl(C);if((B==null?void 0:B.type)!=="github"&&(B==null?void 0:B.type)!=="gitlab")return Q;const z=Q.querySelector("article>h1").childNodes[0].textContent,_=encodeURIComponent(`Documentation Feedback: ${z}`),ne=encodeURIComponent(`Page source:
32
+ ${P.href}
33
+
34
+ Feedback:`),ge=(B==null?void 0:B.type)==="github"?(0,i.Pb)(C.href,"blob"):C.href,ye=j()(ge),xe=`/${ye.organization}/${ye.name}`,ze=P.cloneNode();switch(B==null?void 0:B.type){case"gitlab":ze.href=`${C.origin}${xe}/issues/new?issue[title]=${_}&issue[description]=${ne}`;break;case"github":ze.href=`${C.origin}${xe}/issues/new?title=${_}&body=${ne}`;break;default:return Q}return F.render(r.createElement(S.Z),ze),ze.style.paddingLeft="5px",ze.title="Leave feedback for this page",ze.id="git-feedback-link",P==null||P.insertAdjacentElement("beforebegin",ze),Q},b=()=>le=>(((P,C)=>{Array.from(P).filter(B=>B.hasAttribute(C)).forEach(B=>{const z=B.getAttribute(C);if(z){z.match(/^https?:\/\//i)&&B.setAttribute("target","_blank");try{const _=N(window.location.href);B.setAttribute(C,new URL(z,_).toString())}catch{B.replaceWith(B.textContent||z)}}})})(Array.from(le.getElementsByTagName("a")),"href"),le);function N(le){const Q=new URL(le);return!Q.pathname.endsWith("/")&&!Q.pathname.endsWith(".html")&&(Q.pathname+="/"),Q.toString()}const O=({baseUrl:le,onClick:Q})=>P=>(Array.from(P.getElementsByTagName("a")).forEach(C=>{C.addEventListener("click",B=>{const _=C.getAttribute("href");!_||_.startsWith(le)&&(B.preventDefault(),Q(B,_))})}),P),Y=()=>le=>{var Q;return(Q=le.querySelector(".md-header"))==null||Q.remove(),le},V=()=>le=>{var Q;return(Q=le.querySelector(".md-footer-copyright"))==null||Q.remove(),le},ue=({docStorageUrl:le,onLoading:Q,onLoaded:P})=>C=>{const B=Array.from(C.querySelectorAll('head > link[rel="stylesheet"]')).filter(_=>{var ne;return(ne=_.getAttribute("href"))==null?void 0:ne.startsWith(le)});let z=B.length;return z>0&&Q(C),B.forEach(_=>_.addEventListener("load",()=>{z-=1,z===0&&P(C)})),C};var Se=e(35368),je=e.n(Se);const me=/main\.[A-Fa-f0-9]{8}\.min\.css$/,Ge=/^https:\/\/fonts\.googleapis\.com/,Oe=/^https:\/\/fonts\.gstatic\.com/,Je=le=>{if(le.nodeName&&le.nodeName==="LINK"){const Q=le.getAttribute("href")||"";Q.match(me)&&le.setAttribute("rel","stylesheet"),Q.match(Ge)&&le.setAttribute("rel","stylesheet"),Q.match(Oe)&&le.setAttribute("rel","preconnect")}return le},rt=le=>Q=>{if(Q.nodeName==="IFRAME"){const P=Q.getAttribute("src");if(!P)return Q.remove(),Q;try{const C=new URL(P);le.some(z=>C.host===z)||Q.remove()}catch(C){console.warn(`Invalid iframe src, ${C}`),Q.remove()}}return Q},Xe=le=>{const Q=(le==null?void 0:le.getOptionalStringArray("allowedIframeHosts"))||[];return P=>{je().addHook("afterSanitizeAttributes",Je);const C=["link"];return Q.length>0&&(je().addHook("beforeSanitizeElements",rt(Q)),C.push("iframe")),je().sanitize(P.innerHTML,{ADD_TAGS:C,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})}},mt=({css:le})=>Q=>(Q.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${le}</style>`),Q),dt=()=>le=>(setTimeout(()=>{var Q;if(window.location.hash){const P=window.location.hash.slice(1);(Q=le==null?void 0:le.querySelector(`#${P}`))==null||Q.scrollIntoView()}},200),le),lt=async(le,Q)=>{let P;if(typeof le=="string")P=new DOMParser().parseFromString(le,"text/html").documentElement;else if(le instanceof Element)P=le;else throw new Error("dom is not a recognized type");for(const C of Q)P=await C(P);return P};var vt=e(7735),Tt=e(25921),Pt=e(64279),Rt=e(77446);function pt({contentLoading:le,content:Q,activeSyncState:P}){return le||P==="BUILD_READY_RELOAD"||!Q&&P==="CHECKING"?"CHECKING":!Q&&P==="BUILDING"?"INITIAL_BUILD":Q?P==="BUILDING"?"CONTENT_STALE_REFRESHING":P==="BUILD_READY"?"CONTENT_STALE_READY":P==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Nt(le,Q){const P={...le};switch(Q.type){case"sync":Q.state==="CHECKING"&&(P.buildLog=[]),P.activeSyncState=Q.state,P.syncError=Q.syncError;break;case"contentLoading":P.contentLoading=!0,P.contentError=void 0;break;case"content":typeof Q.path=="string"&&(P.path=Q.path),P.contentLoading=!1,P.content=Q.content,P.contentError=Q.contentError;break;case"buildLog":P.buildLog=P.buildLog.concat(Q.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(P.activeSyncState)&&["contentLoading","content"].includes(Q.type)&&(P.activeSyncState="UP_TO_DATE",P.buildLog=[]),P}function Ut(le,Q,P,C){var xe,ze;const[B,z]=(0,r.useReducer)(Nt,{activeSyncState:"CHECKING",path:C,contentLoading:!0,buildLog:[]}),_=(0,s.useApi)(y.D),{retry:ne}=(0,Rt.Z)(async()=>{z({type:"contentLoading"});try{const Ne=await _.getEntityDocs({kind:le,namespace:Q,name:P},C);return z({type:"content",content:Ne,path:C}),Ne}catch(Ne){z({type:"content",contentError:Ne,path:C})}},[_,le,Q,P,C]),ge=(0,r.useRef)({content:void 0,reload:()=>{}});return ge.current={content:B.content,reload:ne},(0,Pt.default)(async()=>{z({type:"sync",state:"CHECKING"});const Ne=setTimeout(()=>{z({type:"sync",state:"BUILDING"})},1e3);try{switch(await _.syncEntityDocs({kind:le,namespace:Q,name:P},be=>{z({type:"buildLog",log:be})})){case"updated":ge.current.content?z({type:"sync",state:"BUILD_READY"}):(ge.current.reload(),z({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":z({type:"sync",state:"UP_TO_DATE"});break;default:z({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(Te){z({type:"sync",state:"ERROR",syncError:Te})}finally{clearTimeout(Ne)}},[le,P,Q,_,z,ge]),{state:(0,r.useMemo)(()=>pt({activeSyncState:B.activeSyncState,contentLoading:B.contentLoading,content:B.content}),[B.activeSyncState,B.content,B.contentLoading]),contentReload:ne,path:B.path,content:B.content,contentErrorMessage:(xe=B.contentError)==null?void 0:xe.toString(),syncErrorMessage:(ze=B.syncError)==null?void 0:ze.toString(),buildLog:B.buildLog}}const Ot=(0,l.Z)(le=>({searchBar:{marginLeft:"20rem",maxWidth:"calc(100% - 20rem * 2 - 3rem)",marginTop:le.spacing(1),"@media screen and (max-width: 76.1875em)":{marginLeft:"10rem",maxWidth:"calc(100% - 10rem)"}}})),bt=(0,r.createContext)({}),ht=({children:le,entityRef:Q})=>{const{"*":P}=(0,t.UO)(),{kind:C,namespace:B,name:z}=Q,_=Ut(C,B,z,P);return r.createElement(bt.Provider,{value:_},le)},At=(le,Q)=>P=>React.createElement(ht,{entityRef:Q},React.createElement(le,{...P})),$t=()=>(0,r.useContext)(bt),De=le=>{const Q=(0,t.s0)(),P=(0,d.Z)(),C=(0,s.useApi)(y.D),B=(0,s.useApi)(u.q3),z=(0,s.useApi)(s.configApiRef),{namespace:_="",kind:ne="",name:ge=""}=le,{state:ye,path:xe,content:ze}=$t(),[Ne,Te]=(0,r.useState)(),[be,de]=(0,r.useState)(null),{isPinned:Ae}=(0,r.useContext)(m.SidebarPinStateContext),Ue=(0,r.useCallback)(()=>{if(!be||!Ne)return;const Be=be.querySelector(".md-container > .md-tabs");Ne.forEach(Qe=>{const ke=Math.max(be.getBoundingClientRect().top,0);Qe.style.top=Be?`${ke+Be.getBoundingClientRect().height}px`:`${ke}px`})},[be,Ne]);(0,r.useEffect)(()=>(Ue(),window.addEventListener("scroll",Ue,!0),window.addEventListener("resize",Ue),()=>{window.removeEventListener("scroll",Ue,!0),window.removeEventListener("resize",Ue)}),[Ue,ye]);const we=(0,r.useCallback)(()=>{if(!be)return;const Be=be.querySelector(".md-footer");Be&&(Be.style.width=`${be.getBoundingClientRect().width}px`)},[be]);(0,r.useEffect)(()=>(we(),window.addEventListener("resize",we),()=>{window.removeEventListener("resize",we)}));const Fe=(0,r.useCallback)((Be,Qe)=>lt(Be,[Xe(z.getOptionalConfig("techdocs.sanitizer")),E({techdocsStorageApi:C,entityId:{kind:ne,name:ge,namespace:_},path:Qe}),b(),Y(),V(),x(B),mt({css:`
35
+ body {
36
+ font-family: ${P.typography.fontFamily};
37
+ --md-text-color: ${P.palette.text.primary};
38
+ --md-text-link-color: ${P.palette.primary.main};
39
+
40
+ --md-code-fg-color: ${P.palette.text.primary};
41
+ --md-code-bg-color: ${P.palette.background.paper};
42
+ }
43
+ .md-main__inner { margin-top: 0; }
44
+ .md-sidebar { position: fixed; bottom: 100px; width: 20rem; }
45
+ .md-sidebar--secondary { right: 2rem; }
46
+ .md-content { margin-bottom: 50px }
47
+ .md-footer { position: fixed; bottom: 0px; }
48
+ .md-footer-nav__link { width: 20rem;}
49
+ .md-content { margin-left: 20rem; max-width: calc(100% - 20rem * 2 - 3rem); }
50
+ .md-typeset { font-size: 1rem; }
51
+ .md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: bold; }
52
+ .md-nav { font-size: 1rem; }
53
+ .md-grid { max-width: 90vw; margin: 0 }
54
+ .md-typeset blockquote {
55
+ color: ${P.palette.textSubtle};
56
+ border-left: 0.2rem solid ${P.palette.textVerySubtle};
57
+ }
58
+ .md-typeset hr {
59
+ border-bottom: 0.05rem dotted ${P.palette.textVerySubtle};
60
+ }
61
+ .md-typeset table:not([class]) {
62
+ font-size: 1rem;
63
+ border: 1px solid ${P.palette.text.primary};
64
+ border-bottom: none;
65
+ border-collapse: collapse;
66
+ }
67
+ .md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
68
+ border-bottom: 1px solid ${P.palette.text.primary};
69
+ }
70
+ .md-typeset table:not([class]) th { font-weight: bold; }
71
+ .md-typeset .admonition, .md-typeset details {
72
+ font-size: 1rem;
73
+ }
74
+
75
+ /* style the checkmarks of the task list */
76
+ .md-typeset .task-list-control .task-list-indicator::before {
77
+ background-color: ${P.palette.action.disabledBackground};
78
+ }
79
+ .md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
80
+ background-color: ${P.palette.success.main};
81
+ }
82
+ /**/
83
+
84
+ @media screen and (max-width: 76.1875em) {
85
+ .md-nav {
86
+ background-color: ${P.palette.background.default};
87
+ transition: none !important
88
+ }
89
+ .md-sidebar--secondary { display: none; }
90
+ .md-sidebar--primary { left: ${Ae?"242px":"72px"}; width: 10rem }
91
+ .md-content { margin-left: 10rem; max-width: calc(100% - 10rem); }
92
+ .md-content__inner { font-size: 0.9rem }
93
+ .md-footer {
94
+ position: static;
95
+ padding-left: 10rem;
96
+ }
97
+ .md-footer-nav__link {
98
+ /* footer links begin to overlap at small sizes without setting width */
99
+ width: 50%;
100
+ }
101
+ .md-nav--primary .md-nav__title {
102
+ white-space: normal;
103
+ height: auto;
104
+ line-height: 1rem;
105
+ cursor: auto;
106
+ }
107
+ .md-nav--primary > .md-nav__title [for="none"] {
108
+ padding-top: 0;
109
+ }
110
+ }
111
+ `}),mt({css:`
112
+ .md-nav__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
113
+ transition: none;
114
+ }
115
+ `}),mt({css:`
116
+ .md-typeset pre > code::-webkit-scrollbar-thumb {
117
+ background-color: hsla(0, 0%, 0%, 0.32);
118
+ }
119
+ .md-typeset pre > code::-webkit-scrollbar-thumb:hover {
120
+ background-color: hsla(0, 0%, 0%, 0.87);
121
+ }
122
+ `}),mt({css:`
123
+ :host {
124
+ --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>');
125
+ --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>');
126
+ --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>');
127
+ --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>');
128
+ --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>');
129
+ --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>');
130
+ --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>');
131
+ --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>');
132
+ --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>');
133
+ --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>');
134
+ --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>');
135
+ --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>');
136
+ }
137
+ :host {
138
+ --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>');
139
+ }
140
+ :host {
141
+ --md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
142
+ }
143
+ :host {
144
+ --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>');
145
+ --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>');
146
+ }
147
+ `})]),[ne,ge,_,B,C,z,P.palette.action.disabledBackground,P.palette.background.default,P.palette.background.paper,P.palette.primary.main,P.palette.success.main,P.palette.text.primary,P.palette.textSubtle,P.palette.textVerySubtle,P.typography.fontFamily,Ae]),at=(0,r.useCallback)(async Be=>lt(Be,[dt(),O({baseUrl:window.location.origin,onClick:(Qe,ke)=>{var A,D;const ct=Qe.ctrlKey||Qe.metaKey,K=new URL(ke);K.hash?ct?window.open(`${K.pathname}${K.hash}`,"_blank"):(Q(`${K.pathname}${K.hash}`),(A=Be==null?void 0:Be.querySelector(`#${K.hash.slice(1)}`))==null||A.scrollIntoView()):ct?window.open(K.pathname,"_blank"):(Q(K.pathname),(D=Be==null?void 0:Be.querySelector(".md-content__inner"))==null||D.scrollIntoView())}}),ue({docStorageUrl:await C.getApiOrigin(),onLoading:Qe=>{Qe.style.setProperty("opacity","0")},onLoaded:Qe=>{var ke;Qe.style.removeProperty("opacity"),(ke=Qe.querySelector(".md-nav__title"))==null||ke.removeAttribute("for"),Te(Array.from(Qe.querySelectorAll(".md-sidebar")))}})]),[Q,C]);return(0,r.useEffect)(()=>{if(!ze)return()=>{};let Be=!0;return Fe(ze,xe).then(async Qe=>{if(!(Qe==null?void 0:Qe.innerHTML)||!Be)return;window.scroll({top:0});const ke=await at(Qe);de(ke)}),()=>{Be=!1}},[ze,xe,Fe,at]),be},st=({entityRef:le,onReady:Q=()=>{},withSearch:P=!0})=>{var ne,ge;const C=Ot(),B=De(le),z=(0,r.useRef)(null),_=(0,r.useRef)(Q);return(0,r.useEffect)(()=>{_.current=Q},[Q]),(0,r.useEffect)(()=>{if(!B||!z.current)return;const ye=z.current,xe=ye.shadowRoot||ye.attachShadow({mode:"open"});Array.from(xe.children).forEach(ze=>xe.removeChild(ze)),xe.appendChild(B),_.current()},[B]),r.createElement(r.Fragment,null,r.createElement(Tt.N,null),P&&((ge=(ne=z==null?void 0:z.current)==null?void 0:ne.shadowRoot)==null?void 0:ge.innerHTML)&&r.createElement(g.Z,{container:!0,className:C.searchBar},r.createElement(vt.S,{entityId:le})),r.createElement("div",{"data-testid":"techdocs-content-shadowroot",ref:z}))},it=({entityRef:le,onReady:Q=()=>{},withSearch:P=!0})=>r.createElement(ht,{entityRef:le},r.createElement(st,{entityRef:le,onReady:Q,withSearch:P}))},94252:function(J,o,e){"use strict";e.d(o,{T:function(){return d}});var r=e(2784),t=e(36964),l=e(9118);const d=({errorMessage:g})=>{const s=(0,t.useApi)(t.configApiRef).getOptionalString("techdocs.builder");let u="";return s!=="local"&&(u="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),r.createElement(l.ErrorPage,{status:"404",statusMessage:g||"Documentation not found",additionalInfo:u})}},31752:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsPage:function(){return E}});var r=e(2784),t=e(10289),l=e(64279),d=e(3337),g=e(94252),s=e(36964),u=e(9118),m=e(75448),y=e(46025);const h=()=>{const[i,S]=(0,r.useState)(!1),{namespace:F,kind:T,name:j}=(0,t.UO)(),x=(0,s.useApi)(d.g),{value:b}=(0,l.default)(()=>i?x.getTechDocsMetadata({kind:T,namespace:F,name:j}):Promise.resolve(void 0),[T,F,j,x,i]),{value:N,error:O}=(0,l.default)(()=>x.getEntityMetadata({kind:T,namespace:F,name:j}),[T,F,j,x]),Y=(0,r.useCallback)(()=>{S(!0)},[S]);return O?r.createElement(g.T,{errorMessage:O.message}):r.createElement(u.Page,{themeId:"documentation"},r.createElement(y.n,{techDocsMetadata:b,entityMetadata:N,entityRef:{kind:T,namespace:F,name:j}}),r.createElement(u.Content,{"data-testid":"techdocs-content"},r.createElement(m.Ej,{onReady:Y,entityRef:{kind:T,namespace:F,name:j}})))},E=({children:i})=>{const S=(0,t.pC)(),[F,T]=(0,r.useState)(!1),{namespace:j,kind:x,name:b}=(0,t.UO)(),N=(0,s.useApi)(d.g),{value:O}=(0,l.default)(()=>F?N.getTechDocsMetadata({kind:x,namespace:j,name:b}):Promise.resolve(void 0),[x,j,b,N,F]),{value:Y,error:V}=(0,l.default)(()=>N.getEntityMetadata({kind:x,namespace:j,name:b}),[x,j,b,N]),ue=(0,r.useCallback)(()=>{T(!0)},[T]);return V?r.createElement(g.T,{errorMessage:V.message}):i?r.createElement(u.Page,{themeId:"documentation"},i instanceof Function?i({techdocsMetadataValue:O,entityMetadataValue:Y,entityRef:{kind:x,namespace:j,name:b},onReady:ue}):i):S||r.createElement(h,null)}},46025:function(J,o,e){"use strict";e.d(o,{n:function(){return m}});var r=e(52890),t=e(9118),l=e(36964),d=e(85653),g=e(73250),s=e(2784),u=e(68725);const m=({entityRef:y,entityMetadata:h,techDocsMetadata:E})=>{const{name:i}=y,{site_name:S,site_description:F}=E||{},{locationMetadata:T,spec:j}=h||{},x=j==null?void 0:j.lifecycle,b=h?(0,d.getEntityRelations)(h,r.S4):[],N=(0,l.useRouteRef)(u._Z)(),O=s.createElement(s.Fragment,null,s.createElement(t.HeaderLabel,{label:"Component",value:s.createElement(d.EntityRefLink,{color:"inherit",entityRef:y,defaultKind:"Component"})}),b.length>0&&s.createElement(t.HeaderLabel,{label:"Owner",value:s.createElement(d.EntityRefLinks,{color:"inherit",entityRefs:b,defaultKind:"group"})}),x?s.createElement(t.HeaderLabel,{label:"Lifecycle",value:x}):null,T&&T.type!=="dir"&&T.type!=="file"?s.createElement(t.HeaderLabel,{label:"",value:s.createElement("a",{href:T.target,target:"_blank",rel:"noopener noreferrer"},s.createElement(g.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return s.createElement(t.Header,{title:S||".",pageTitleOverride:S||i,subtitle:F&&F!=="None"?F:"",type:"Docs",typeLink:N},O)}},7735:function(J,o,e){"use strict";e.d(o,{S:function(){return be}});var r=e(91512),t=e(2784),l=e(79692);const d=(0,l.Z)(de=>({filters:{width:"250px",display:"flex"},icon:{margin:de.spacing(-1,0,0,0)}})),g=({numberOfSelectedFilters:de,handleToggleFilters:Ae})=>{const Ue=d();return React.createElement("div",{className:Ue.filters},React.createElement(IconButton,{className:Ue.icon,"aria-label":"settings",onClick:Ae},React.createElement(FilterListIcon,null)),React.createElement(Typography,{variant:"h6"},"Filters (",de||0,")"))},s=(0,l.Z)(de=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:de.spacing(0,1,0,1)},dropdown:{width:"100%"}})),u=({filters:de,filterOptions:Ae,resetFilters:Ue,updateSelected:we,updateChecked:Fe})=>{const at=s();return React.createElement(Card,{className:at.filters},React.createElement(CardHeader,{title:React.createElement(Typography,{variant:"h6"},"Filters"),action:React.createElement(Button,{color:"primary",onClick:()=>Ue()},"CLEAR ALL")}),React.createElement(Divider,null),Ae.kind.length===0&&Ae.lifecycle.length===0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Filters cannot be applied to available results")),Ae.kind.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Kind"),React.createElement(Select,{id:"outlined-select",onChange:Be=>{var Qe;return we((Qe=Be==null?void 0:Be.target)==null?void 0:Qe.value)},variant:"outlined",className:at.dropdown,value:de.selected},Ae.kind.map(Be=>React.createElement(MenuItem,{selected:Be==="",dense:!0,key:Be,value:Be},Be)))),Ae.lifecycle.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Lifecycle"),React.createElement(List,{disablePadding:!0,dense:!0},Ae.lifecycle.map(Be=>React.createElement(ListItem,{key:Be,dense:!0,button:!0,onClick:()=>Fe(Be)},React.createElement(Checkbox,{edge:"start",disableRipple:!0,className:at.checkbox,color:"primary",checked:de.checked.includes(Be),tabIndex:-1,value:Be,name:Be}),React.createElement(ListItemText,{id:Be,primary:Be}))))))};var m=e(1795),y=e(22313),h=e(42494),E=e(84899),i=e(5806),S=e(21324),F=e(56939),T=e(73698),j=e(12231);const x=(0,l.Z)({label:{textTransform:"capitalize"}}),b=({className:de,name:Ae,defaultValue:Ue,values:we=[]})=>{const Fe=x(),{filters:at,setFilters:Be}=(0,y.Rx)();(0,t.useEffect)(()=>{Array.isArray(Ue)&&Be(ke=>({...ke,[Ae]:Ue}))},[]);const Qe=ke=>{const{target:{value:ct,checked:K}}=ke;Be(A=>{const{[Ae]:D,...X}=A,q=(D||[]).filter(he=>he!==ct),Ce=K?[...q,ct]:q;return Ce.length?{...X,[Ae]:Ce}:X})};return t.createElement(h.Z,{className:de,fullWidth:!0,"data-testid":"search-checkboxfilter-next"},t.createElement(E.Z,{className:Fe.label},Ae),we.map(ke=>{var ct;return t.createElement(i.Z,{key:ke,control:t.createElement(S.Z,{color:"primary",tabIndex:-1,inputProps:{"aria-labelledby":ke},value:ke,name:ke,onChange:Qe,checked:((ct=at[Ae])!=null?ct:[]).includes(ke)}),label:ke})}))},N=({className:de,name:Ae,defaultValue:Ue,values:we=[]})=>{const Fe=x(),{filters:at,setFilters:Be}=(0,y.Rx)();(0,t.useEffect)(()=>{typeof Ue=="string"&&Be(ke=>({...ke,[Ae]:Ue}))},[]);const Qe=ke=>{const{target:{value:ct}}=ke;Be(K=>{const{[Ae]:A,...D}=K;return ct?{...D,[Ae]:ct}:D})};return t.createElement(h.Z,{className:de,variant:"filled",fullWidth:!0,"data-testid":"search-selectfilter-next"},t.createElement(F.Z,{className:Fe.label,margin:"dense"},Ae),t.createElement(T.Z,{variant:"outlined",value:at[Ae]||"",onChange:Qe},t.createElement(j.Z,{value:""},t.createElement("em",null,"All")),we.map(ke=>t.createElement(j.Z,{key:ke,value:ke},ke))))},O=({component:de,...Ae})=>t.createElement(de,{...Ae});O.Checkbox=de=>t.createElement(O,{...de,component:b}),O.Select=de=>t.createElement(O,{...de,component:N});const Y=null;var V=e(65678),ue=e(3992),Se=e(8542),je=e(7089),me=e(49378),Ge=e(62155),Oe=e(94339),Je=e(32552),rt=e(24579),Xe=e(27616),mt=e(8284),dt=e(70660),lt=e(11776),vt=e(85256),Tt=e(38402),Pt=e(86136),Rt=e(38016),pt=e(56881);const Nt=(0,l.Z)(de=>({card:{backgroundColor:"rgba(0, 0, 0, .11)"},cardContent:{paddingTop:de.spacing(1)},icon:{color:de.palette.common.black},list:{width:"100%"},listItemIcon:{width:"24px",height:"24px"},accordion:{backgroundColor:de.palette.background.paper},accordionSummary:{minHeight:"auto","&.Mui-expanded":{minHeight:"auto"}},accordionSummaryContent:{margin:de.spacing(2,0),"&.Mui-expanded":{margin:de.spacing(2,0)}},accordionDetails:{padding:de.spacing(0,0,1)}})),Ut=de=>{const Ae=Nt(),{setPageCursor:Ue,setTypes:we,types:Fe}=(0,y.Rx)(),[at,Be]=(0,t.useState)(!0),{defaultValue:Qe,name:ke,types:ct}=de,K=()=>Be(q=>!q),A=q=>()=>{we(q!==""?[q]:[]),Ue(void 0),Be(!1)};(0,t.useEffect)(()=>{Qe&&we([Qe])},[]);const D=[{value:"",name:"All",icon:t.createElement(pt.Z,null)},...ct],X=Fe[0]||"";return t.createElement(Oe.Z,{className:Ae.card},t.createElement(Je.Z,{title:ke,titleTypographyProps:{variant:"overline"}}),t.createElement(rt.Z,{className:Ae.cardContent},t.createElement(Xe.Z,{className:Ae.accordion,expanded:at,onChange:K},t.createElement(mt.Z,{classes:{root:Ae.accordionSummary,content:Ae.accordionSummaryContent},expandIcon:t.createElement(Rt.Z,{className:Ae.icon}),IconButtonProps:{size:"small"}},at?"Collapse":D.filter(q=>q.value===X)[0].name),t.createElement(dt.Z,{classes:{root:Ae.accordionDetails}},t.createElement(lt.Z,{className:Ae.list,component:"nav","aria-label":"filter by type",disablePadding:!0,dense:!0},D.map(q=>t.createElement(t.Fragment,{key:q.value},t.createElement(vt.Z,null),t.createElement(Tt.Z,{selected:Fe[0]===q.value||Fe.length===0&&q.value==="",onClick:A(q.value),button:!0},t.createElement(Pt.Z,null,(0,t.cloneElement)(q.icon,{className:Ae.listItemIcon})),t.createElement(me.Z,{primary:q.name})))))))))};var Ot=e(99152),bt=e(6487);const ht=(0,l.Z)(de=>({tabs:{borderBottom:`1px solid ${de.palette.textVerySubtle}`,padding:de.spacing(0,4)},tab:{height:"50px",fontWeight:de.typography.fontWeightBold,fontSize:de.typography.pxToRem(13),color:de.palette.textSubtle,minWidth:"130px"}})),At=de=>{const Ae=ht(),{setPageCursor:Ue,setTypes:we,types:Fe}=(0,y.Rx)(),{defaultValue:at,types:Be}=de,Qe=(ct,K)=>{we(K!==""?[K]:[]),Ue(void 0)};(0,t.useEffect)(()=>{at&&we([at])},[]);const ke=[{value:"",name:"All"},...Be];return t.createElement(Ot.Z,{className:Ae.tabs,indicatorColor:"primary",value:Fe.length===0?"":Fe[0],onChange:Qe},ke.map(ct=>t.createElement(bt.Z,{className:Ae.tab,disableRipple:!0,label:ct.name,value:ct.value})))},$t=(0,l.Z)(de=>({label:{textTransform:"capitalize"},chips:{display:"flex",flexWrap:"wrap",marginTop:de.spacing(1)},chip:{margin:2}})),De=de=>{const{className:Ae,defaultValue:Ue,name:we,values:Fe=[]}=de,at=$t(),{types:Be,setTypes:Qe}=(0,y.Rx)();(0,Ge.Z)(()=>{Be.length||(Ue&&Array.isArray(Ue)?Qe(Ue):Ue&&Qe([Ue]))});const ke=ct=>{const K=ct.target.value;Qe(K)};return t.createElement(h.Z,{className:Ae,variant:"filled",fullWidth:!0,"data-testid":"search-typefilter-next"},t.createElement(F.Z,{className:at.label,margin:"dense"},we),t.createElement(T.Z,{multiple:!0,variant:"outlined",value:Be,onChange:ke,placeholder:"All Results",renderValue:ct=>t.createElement("div",{className:at.chips},ct.map(K=>t.createElement(je.Z,{key:K,label:K,className:at.chip,size:"small"})))},Fe.map(ct=>t.createElement(j.Z,{key:ct,value:ct},t.createElement(S.Z,{checked:Be.indexOf(ct)>-1}),t.createElement(me.Z,{primary:ct})))))};De.Accordion=de=>t.createElement(Ut,{...de}),De.Tabs=de=>t.createElement(At,{...de});var st=e(19126),it=e(20863),le=e(9118),Q=e(36964);const P=de=>{const Ae=useRouteRef(rootRouteRef),Ue=useNavigate(),we=useCallback(Fe=>{const at=qs.stringify({query:Fe},{addQueryPrefix:!0});Ue(`${Ae()}${at}`)},[Ue,Ae]);return React.createElement(SidebarSearchField,{icon:de.icon,onSearch:we,to:"/search"})};var C=e(60905),B=e(86619),z=e(50581),_=e(61837),ne=e(4614),ge=e(21853),ye=e(88013),xe=e(10289),ze=e(48760),Ne=e(71226);const Te=({entityId:de,debounceTime:Ae=150})=>{const[Ue,we]=(0,t.useState)(!1),Fe=(0,xe.s0)(),{term:at,setTerm:Be,result:{loading:Qe,value:ke}}=(0,y.Rx)(),[ct,K]=(0,t.useState)([]);(0,t.useEffect)(()=>{let Ce=!0;if(Ce&&ke){const he=ke.results.slice(0,10);K(he)}return()=>{Ce=!1}},[Qe,ke]);const[A,D]=(0,t.useState)(at);(0,ze.Z)(()=>Be(A),Ae,[A]);const X=Ce=>{Ue||we(!0),D(Ce.target.value)},q=(Ce,he)=>{if(he==null?void 0:he.document){const{location:Le}=he.document;Fe(Le)}};return t.createElement(C.Z,{item:!0,xs:12},t.createElement(ye.ZP,{"data-testid":"techdocs-search-bar",size:"small",open:Ue,getOptionLabel:()=>"",filterOptions:Ce=>Ce,onClose:()=>{we(!1)},onFocus:()=>{we(!0)},onChange:q,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:ct,renderOption:({document:Ce})=>t.createElement(Ne.O,{result:Ce,lineClamp:3,asListItem:!1,asLink:!1,title:Ce.title}),loading:Qe,renderInput:Ce=>t.createElement(B.Z,{...Ce,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${de.name} docs`,value:A,onChange:X,InputProps:{...Ce.InputProps,startAdornment:t.createElement(z.Z,{position:"start"},t.createElement(_.Z,{"aria-label":"Query",disabled:!0},t.createElement(ge.Z,null))),endAdornment:t.createElement(t.Fragment,null,Qe?t.createElement(ne.Z,{color:"inherit",size:20}):null,Ce.InputProps.endAdornment)}})}))},be=de=>{const Ae={term:"",types:["techdocs"],pageCursor:"",filters:de.entityId};return t.createElement(y.Nd,{initialState:Ae},t.createElement(Te,{...de}))}},25921:function(J,o,e){"use strict";e.d(o,{N:function(){return N}});var r=e(2784),t=e(9118),l=e(79692),d=e(4614),g=e(77277),s=e(99688),u=e(12420),m=e(60905),y=e(90436),h=e(61837),E=e(4190),i=e(87685);const S=(0,l.Z)(O=>(0,u.Z)({paper:{width:"100%",[O.breakpoints.up("sm")]:{width:"75%"},[O.breakpoints.up("md")]:{width:"50%"},padding:O.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:O.palette.background.default}})),F=({buildLog:O,onClose:Y})=>{const V=S(),ue=O.length===0?"Waiting for logs...":O.join(`
148
+ `);return r.createElement(m.Z,{container:!0,direction:"column",className:V.root,spacing:0,wrap:"nowrap"},r.createElement(m.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(y.Z,{variant:"h5"},"Build Details"),r.createElement(h.Z,{key:"dismiss",title:"Close the drawer",onClick:Y,color:"inherit"},r.createElement(i.Z,null))),r.createElement(t.LogViewer,{text:ue,classes:{root:V.logs}}))},T=({buildLog:O})=>{const Y=S(),[V,ue]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(g.Z,{color:"inherit",onClick:()=>ue(!0)},"Show Build Logs"),r.createElement(E.ZP,{classes:{paper:Y.paper},anchor:"right",open:V,onClose:()=>ue(!1)},r.createElement(F,{buildLog:O,onClose:()=>ue(!1)})))};var j=e(94252),x=e(75448);const b=(0,l.Z)(()=>({message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),N=()=>{let O=null;const Y=b(),{state:V,contentReload:ue,contentErrorMessage:Se,syncErrorMessage:je,buildLog:me}=(0,x.DK)(),Ge=V==="CHECKING"?r.createElement(t.Progress,null):null;return V==="INITIAL_BUILD"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(d.Z,{size:"24px"}),action:r.createElement(T,{buildLog:me})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),V==="CONTENT_STALE_REFRESHING"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(d.Z,{size:"24px"}),action:r.createElement(T,{buildLog:me})},"A newer version of this documentation is being prepared and will be available shortly.")),V==="CONTENT_STALE_READY"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"success",action:r.createElement(g.Z,{color:"inherit",onClick:()=>ue()},"Refresh")},"A newer version of this documentation is now available, please refresh to view.")),V==="CONTENT_STALE_ERROR"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(T,{buildLog:me}),classes:{message:Y.message}},"Building a newer version of this documentation failed."," ",je)),V==="CONTENT_NOT_FOUND"&&(O=r.createElement(r.Fragment,null,je&&r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(T,{buildLog:me}),classes:{message:Y.message}},"Building a newer version of this documentation failed."," ",je),r.createElement(j.T,{errorMessage:Se}))),r.createElement(r.Fragment,null,Ge,O)}},73873:function(J,o,e){"use strict";e.d(o,{Ej:function(){return r.Ej},EV:function(){return t.TechDocsPage},nN:function(){return l.n}});var r=e(75448),t=e(31752),l=e(46025),d=e(25921),g=e(7735)},68725:function(J,o,e){"use strict";e.d(o,{_Z:function(){return t},Fw:function(){return l},pd:function(){return d}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),l=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),d=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},19133:function(J,o,e){"use strict";J.exports=e.p+"static/createComponent.975d1e1e..svg"},86284:function(J,o,e){"use strict";J.exports=e.p+"static/missingAnnotation.67f79e98..svg"},3871:function(J,o,e){"use strict";J.exports=e.p+"static/noBuild.1715fa71..svg"},96465:function(J,o,e){"use strict";J.exports=e.p+"static/noInformation.4b426325..svg"},29788:function(J,o,e){"use strict";J.exports=e.p+"static/mic-drop.fe3ef4d0..svg"},219:function(J,o,e){"use strict";J.exports=e.p+"static/illo.7884c54f..svg"},53260:function(){}},function(J){var o=function(r){return J(J.s=r)};J.O(0,[2370,6202,9284,2126,7012,5218,4983,4736],function(){return o(88649),o(63865)});var e=J.O()}]);
149
+
150
+ //# sourceMappingURL=main.b1e77f38.js.map