@peculiar/certificates-viewer 4.7.1-alpha.5 → 4.9.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 (371) hide show
  1. package/components/actions.js +1 -2
  2. package/components/actions.js.map +1 -1
  3. package/components/arrow_top.js +2 -4
  4. package/components/arrow_top.js.map +1 -1
  5. package/components/attribute-certificate-viewer.js +8 -13
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/button-menu.js +5 -3
  8. package/components/button-menu.js.map +1 -1
  9. package/components/button.js +5 -8
  10. package/components/button.js.map +1 -1
  11. package/components/certificate-chain-viewer.js +5 -3
  12. package/components/certificate-chain-viewer.js.map +1 -1
  13. package/components/certificate-viewer.js +5 -3
  14. package/components/certificate-viewer.js.map +1 -1
  15. package/components/circular-progress.js +4 -2
  16. package/components/circular-progress.js.map +1 -1
  17. package/components/crl-viewer.js +7 -8
  18. package/components/crl-viewer.js.map +1 -1
  19. package/components/cross.js +3 -6
  20. package/components/cross.js.map +1 -1
  21. package/components/csr-viewer.js +5 -3
  22. package/components/csr-viewer.js.map +1 -1
  23. package/components/download.js +89 -89
  24. package/components/download.js.map +1 -1
  25. package/components/highlight-words.js +4 -2
  26. package/components/highlight-words.js.map +1 -1
  27. package/components/index2.js +14 -49
  28. package/components/index2.js.map +1 -1
  29. package/components/issuer_name.js.map +1 -1
  30. package/components/miscellaneous.js +61 -153
  31. package/components/miscellaneous.js.map +1 -1
  32. package/components/peculiar-certificate-decoder.js +6 -4
  33. package/components/peculiar-certificate-decoder.js.map +1 -1
  34. package/components/peculiar-certificates-viewer.js +7 -17
  35. package/components/peculiar-certificates-viewer.js.map +1 -1
  36. package/components/pkcs10_certificate_request.js.map +1 -1
  37. package/components/row.js +6 -17
  38. package/components/row.js.map +1 -1
  39. package/components/ssh-certificate-viewer.js +6 -6
  40. package/components/ssh-certificate-viewer.js.map +1 -1
  41. package/components/subject_name.js.map +1 -1
  42. package/components/text-hider.js +5 -3
  43. package/components/text-hider.js.map +1 -1
  44. package/dist/cjs/{actions-ByC9jQU-.js → actions-C1jYRZ3Q.js} +4 -5
  45. package/dist/cjs/{actions-ByC9jQU-.js.map → actions-C1jYRZ3Q.js.map} +1 -1
  46. package/dist/cjs/{arrow_top-Cw9KN115.js → arrow_top-mevx21kO.js} +5 -7
  47. package/dist/cjs/{arrow_top-Cw9KN115.js.map → arrow_top-mevx21kO.js.map} +1 -1
  48. package/dist/cjs/{button-C8EWG_-r.js → button-DsojEA1A.js} +8 -11
  49. package/dist/{esm-es5/button-Bbh7MwG6.js.map → cjs/button-DsojEA1A.js.map} +1 -1
  50. package/dist/cjs/cross-DrayJL9P.js +49 -0
  51. package/dist/cjs/{cross-3DqhA0G_.js.map → cross-DrayJL9P.js.map} +1 -1
  52. package/dist/cjs/download-DiAVqjk3.js +23 -0
  53. package/dist/cjs/{download-DQP0KR4o.js.map → download-DiAVqjk3.js.map} +1 -1
  54. package/dist/cjs/{extension-CjXYQXbF.js → extension-BDpdRJkE.js} +3 -3
  55. package/dist/cjs/extension-BDpdRJkE.js.map +1 -0
  56. package/dist/cjs/{index-uHmGhObe.js → index-BazYhMnZ.js} +89 -48
  57. package/dist/cjs/index-BazYhMnZ.js.map +1 -0
  58. package/dist/cjs/index.cjs.js +9 -11
  59. package/dist/cjs/{link-Cgh8wnbs.js → link-D9y0M_nJ.js} +5 -5
  60. package/dist/cjs/{link-Cgh8wnbs.js.map → link-D9y0M_nJ.js.map} +1 -1
  61. package/dist/cjs/loader.cjs.js +2 -4
  62. package/dist/cjs/{miscellaneous-7gtHz795.js → miscellaneous-DmTT_MGG.js} +75 -178
  63. package/dist/cjs/miscellaneous-DmTT_MGG.js.map +1 -0
  64. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.cjs.js.map +1 -1
  65. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js +34 -83
  66. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -1
  67. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +4 -6
  68. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +8 -10
  69. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
  70. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +9 -11
  71. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
  72. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +11 -25
  73. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
  74. package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -6
  75. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -1
  76. package/dist/cjs/peculiar.cjs.js +3 -5
  77. package/dist/cjs/peculiar.cjs.js.map +1 -1
  78. package/dist/cjs/{pkcs10_certificate_request-CIOxDu_Z.js → pkcs10_certificate_request-DZLiHGCV.js} +3 -3
  79. package/dist/cjs/{pkcs10_certificate_request-CIOxDu_Z.js.map → pkcs10_certificate_request-DZLiHGCV.js.map} +1 -1
  80. package/dist/cjs/{ssh_certificate-DnXj2sM0.js → ssh_certificate-Bh14rhzR.js} +89 -88
  81. package/dist/cjs/ssh_certificate-Bh14rhzR.js.map +1 -0
  82. package/dist/cjs/{x509_certificate-DPgu-mwG.js → x509_certificate-p8RMn7Hw.js} +4 -4
  83. package/dist/cjs/{x509_certificate-DPgu-mwG.js.map → x509_certificate-p8RMn7Hw.js.map} +1 -1
  84. package/dist/cjs/{x509_crl-D_DKkGcn.js → x509_crl-tjmX6l3R.js} +5 -5
  85. package/dist/cjs/{x509_crl-D_DKkGcn.js.map → x509_crl-tjmX6l3R.js.map} +1 -1
  86. package/dist/collection/collection-manifest.json +2 -2
  87. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +14 -14
  88. package/dist/collection/components/button-menu/button-menu.css +4 -4
  89. package/dist/collection/components/button-menu/button-menu.js +1 -2
  90. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  91. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +16 -463
  92. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +2 -3
  93. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  94. package/dist/collection/components/certificate-decoder/certificate-decoder.css +7 -7
  95. package/dist/collection/components/certificate-decoder/certificate-decoder.js +2 -3
  96. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  97. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js +1 -1
  98. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  99. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js +1 -1
  100. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  101. package/dist/collection/components/certificate-viewer/certificate-viewer.css +12 -12
  102. package/dist/collection/components/certificate-viewer/certificate-viewer.js +16 -16
  103. package/dist/collection/components/certificates-viewer/certificates-viewer.css +20 -20
  104. package/dist/collection/components/certificates-viewer/certificates-viewer.js +4 -5
  105. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  106. package/dist/collection/components/circular-progress/circular-progress.js +2 -2
  107. package/dist/collection/components/crl-viewer/crl-viewer.js +12 -12
  108. package/dist/collection/components/csr-viewer/csr-viewer.js +10 -10
  109. package/dist/collection/components/highlight-words/highlight-words.js +2 -2
  110. package/dist/collection/components/ssh-certificate-viewer/ssh-certificate-viewer.js +6 -6
  111. package/dist/collection/components/text-hider/text-hider.css +1 -1
  112. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -1
  113. package/dist/collection/crypto/ssh_certificate.js +8 -3
  114. package/dist/collection/crypto/ssh_certificate.js.map +1 -1
  115. package/dist/esm/{actions-BOY2Tl0T.js → actions-CgJF68SC.js} +4 -5
  116. package/dist/esm/{actions-BOY2Tl0T.js.map → actions-CgJF68SC.js.map} +1 -1
  117. package/dist/esm/{arrow_top-DL0RWe4n.js → arrow_top-D9kTyEez.js} +5 -7
  118. package/dist/{esm-es5/arrow_top-DL0RWe4n.js.map → esm/arrow_top-D9kTyEez.js.map} +1 -1
  119. package/dist/esm/{button-Bbh7MwG6.js → button-B_ORW96s.js} +8 -11
  120. package/dist/esm/{button-Bbh7MwG6.js.map → button-B_ORW96s.js.map} +1 -1
  121. package/dist/esm/cross-C5dZw2z0.js +45 -0
  122. package/dist/{esm-es5/cross-G84H_-QL.js.map → esm/cross-C5dZw2z0.js.map} +1 -1
  123. package/dist/esm/download-DBNGcuiq.js +21 -0
  124. package/dist/esm/{download-ykcxSgxU.js.map → download-DBNGcuiq.js.map} +1 -1
  125. package/dist/esm/{extension-B3br1_Py.js → extension-xW03sQxn.js} +3 -3
  126. package/dist/esm/extension-xW03sQxn.js.map +1 -0
  127. package/dist/esm/{index-CwgZaF40.js → index-Dpo1Lsuj.js} +89 -48
  128. package/dist/esm/index-Dpo1Lsuj.js.map +1 -0
  129. package/dist/esm/index.js +9 -11
  130. package/dist/esm/{link-CGURvKy1.js → link-CHi4u6ex.js} +5 -5
  131. package/dist/esm/{link-CGURvKy1.js.map → link-CHi4u6ex.js.map} +1 -1
  132. package/dist/esm/loader.js +3 -5
  133. package/dist/esm/{miscellaneous-phHcBJWR.js → miscellaneous-D-Qxv14j.js} +75 -178
  134. package/dist/esm/miscellaneous-D-Qxv14j.js.map +1 -0
  135. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.js.map +1 -1
  136. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js +34 -83
  137. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  138. package/dist/esm/peculiar-button-menu_3.entry.js +4 -6
  139. package/dist/esm/peculiar-certificate-decoder.entry.js +8 -10
  140. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  141. package/dist/esm/peculiar-certificate-viewer.entry.js +9 -11
  142. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  143. package/dist/esm/peculiar-certificates-viewer.entry.js +11 -25
  144. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  145. package/dist/esm/peculiar-text-hider.entry.js +4 -6
  146. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  147. package/dist/esm/peculiar.js +4 -6
  148. package/dist/esm/peculiar.js.map +1 -1
  149. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  150. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  151. package/dist/esm/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +89 -88
  152. package/dist/esm/ssh_certificate-CmOVFH_Z.js.map +1 -0
  153. package/dist/esm/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +4 -4
  154. package/dist/{esm-es5/x509_certificate-C1VvfHQ5.js.map → esm/x509_certificate-C2EVTspY.js.map} +1 -1
  155. package/dist/esm/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +5 -5
  156. package/dist/{esm-es5/x509_crl-rfnWQkGD.js.map → esm/x509_crl-Bdnys_YT.js.map} +1 -1
  157. package/dist/esm-es5/{actions-BOY2Tl0T.js → actions-CgJF68SC.js} +2 -2
  158. package/dist/esm-es5/{actions-BOY2Tl0T.js.map → actions-CgJF68SC.js.map} +1 -1
  159. package/dist/esm-es5/{arrow_top-DL0RWe4n.js → arrow_top-D9kTyEez.js} +2 -2
  160. package/dist/{esm/arrow_top-DL0RWe4n.js.map → esm-es5/arrow_top-D9kTyEez.js.map} +1 -1
  161. package/dist/esm-es5/{button-Bbh7MwG6.js → button-B_ORW96s.js} +2 -2
  162. package/dist/{cjs/button-C8EWG_-r.js.map → esm-es5/button-B_ORW96s.js.map} +1 -1
  163. package/dist/esm-es5/{cross-G84H_-QL.js → cross-C5dZw2z0.js} +2 -2
  164. package/dist/{esm/cross-G84H_-QL.js.map → esm-es5/cross-C5dZw2z0.js.map} +1 -1
  165. package/dist/esm-es5/{download-ykcxSgxU.js → download-DBNGcuiq.js} +2 -2
  166. package/dist/esm-es5/{download-ykcxSgxU.js.map → download-DBNGcuiq.js.map} +1 -1
  167. package/dist/esm-es5/{extension-B3br1_Py.js → extension-xW03sQxn.js} +2 -2
  168. package/dist/esm-es5/extension-xW03sQxn.js.map +1 -0
  169. package/dist/esm-es5/index-Dpo1Lsuj.js +6 -0
  170. package/dist/esm-es5/index-Dpo1Lsuj.js.map +1 -0
  171. package/dist/esm-es5/index.js +1 -1
  172. package/dist/esm-es5/{link-CGURvKy1.js → link-CHi4u6ex.js} +3 -3
  173. package/dist/esm-es5/{link-CGURvKy1.js.map → link-CHi4u6ex.js.map} +1 -1
  174. package/dist/esm-es5/loader.js +2 -2
  175. package/dist/esm-es5/{miscellaneous-phHcBJWR.js → miscellaneous-D-Qxv14j.js} +4 -4
  176. package/dist/esm-es5/miscellaneous-D-Qxv14j.js.map +1 -0
  177. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.js.map +1 -1
  178. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js +4 -4
  179. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js.map +1 -1
  180. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  181. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  182. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  183. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  184. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  185. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  186. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  187. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +3 -3
  188. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  189. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  190. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  191. package/dist/esm-es5/peculiar.js +2 -2
  192. package/dist/esm-es5/peculiar.js.map +1 -1
  193. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  194. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  195. package/dist/esm-es5/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +5 -5
  196. package/dist/esm-es5/ssh_certificate-CmOVFH_Z.js.map +1 -0
  197. package/dist/esm-es5/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +3 -3
  198. package/dist/{esm/x509_certificate-C1VvfHQ5.js.map → esm-es5/x509_certificate-C2EVTspY.js.map} +1 -1
  199. package/dist/esm-es5/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +4 -4
  200. package/dist/{esm/x509_crl-rfnWQkGD.js.map → esm-es5/x509_crl-Bdnys_YT.js.map} +1 -1
  201. package/dist/peculiar/index.esm.js +1 -1
  202. package/dist/peculiar/{p-019339d6.entry.js → p-09ff70a5.entry.js} +2 -2
  203. package/dist/peculiar/p-09ff70a5.entry.js.map +1 -0
  204. package/dist/peculiar/{p-B8_0p5ke.js → p-1yfbC8AM.js} +18 -18
  205. package/dist/peculiar/p-1yfbC8AM.js.map +1 -0
  206. package/dist/peculiar/p-3424de20.system.entry.js +5 -0
  207. package/dist/peculiar/p-3424de20.system.entry.js.map +1 -0
  208. package/dist/peculiar/p-342e499f.system.entry.js +5 -0
  209. package/dist/peculiar/p-342e499f.system.entry.js.map +1 -0
  210. package/dist/peculiar/p-3a493e87.entry.js +5 -0
  211. package/dist/peculiar/p-3a493e87.entry.js.map +1 -0
  212. package/dist/peculiar/p-4ff3d82a.system.entry.js +13 -0
  213. package/dist/peculiar/p-4ff3d82a.system.entry.js.map +1 -0
  214. package/dist/peculiar/p-529dac51.system.entry.js +153 -0
  215. package/dist/peculiar/p-529dac51.system.entry.js.map +1 -0
  216. package/dist/peculiar/{p-6f0f2749.system.entry.js → p-64517c6e.system.entry.js} +3 -3
  217. package/dist/peculiar/p-64517c6e.system.entry.js.map +1 -0
  218. package/dist/peculiar/{p-154dd0da.entry.js → p-7777c7dc.entry.js} +2 -2
  219. package/dist/peculiar/p-7777c7dc.entry.js.map +1 -0
  220. package/dist/peculiar/p-7HEye5oH.system.js.map +1 -0
  221. package/dist/peculiar/{p-a4454e2d.system.entry.js → p-83235159.system.entry.js} +3 -3
  222. package/dist/peculiar/p-83235159.system.entry.js.map +1 -0
  223. package/dist/peculiar/{p-NnCM1ETy.system.js → p-8GnZ3R6T.system.js} +2 -2
  224. package/dist/peculiar/{p-NnCM1ETy.system.js.map → p-8GnZ3R6T.system.js.map} +1 -1
  225. package/dist/peculiar/{p-B1eGYq5U.js → p-B4vvBwd6.js} +3 -3
  226. package/dist/peculiar/{p-B1eGYq5U.js.map → p-B4vvBwd6.js.map} +1 -1
  227. package/dist/peculiar/{p-CdS84qJs.system.js → p-B6FmalFa.system.js} +5 -5
  228. package/dist/peculiar/{p-CdS84qJs.system.js.map → p-B6FmalFa.system.js.map} +1 -1
  229. package/dist/peculiar/{p-CYFfXlCT.js → p-B7cL9SBA.js} +4 -4
  230. package/dist/peculiar/{p-CYFfXlCT.js.map → p-B7cL9SBA.js.map} +1 -1
  231. package/dist/peculiar/p-BJbjDQRd.system.js.map +1 -0
  232. package/dist/peculiar/{p-Bknpl7EO.system.js → p-BPj_AI1m.system.js} +3 -3
  233. package/dist/peculiar/{p-Bknpl7EO.system.js.map → p-BPj_AI1m.system.js.map} +1 -1
  234. package/dist/peculiar/{p-ZT6tVIen.js → p-BUdiU0IO.js} +2 -2
  235. package/dist/peculiar/{p-ZT6tVIen.js.map → p-BUdiU0IO.js.map} +1 -1
  236. package/dist/peculiar/{p-CTksa0ml.system.js → p-Bfl7RVFY.system.js} +4 -4
  237. package/dist/peculiar/{p-CTksa0ml.system.js.map → p-Bfl7RVFY.system.js.map} +1 -1
  238. package/dist/peculiar/{p-DMZr5ztF.js → p-BoVBJ09p.js} +2 -2
  239. package/dist/peculiar/{p-DMZr5ztF.js.map → p-BoVBJ09p.js.map} +1 -1
  240. package/dist/peculiar/{p-DanjeXNk.js → p-BqjR5Yyc.js} +2 -2
  241. package/dist/peculiar/{p-DanjeXNk.js.map → p-BqjR5Yyc.js.map} +1 -1
  242. package/dist/peculiar/{p-N3w4Sc5c.system.js.map → p-BrbKF6Q_.system.js.map} +1 -1
  243. package/dist/peculiar/p-BvX2AYI4.system.js.map +1 -0
  244. package/dist/peculiar/{p-CkePJXWQ.js → p-BxiR02Uf.js} +4 -4
  245. package/dist/peculiar/{p-CkePJXWQ.js.map → p-BxiR02Uf.js.map} +1 -1
  246. package/dist/peculiar/p-CCyzZ5j5.system.js +6 -0
  247. package/dist/peculiar/p-CCyzZ5j5.system.js.map +1 -0
  248. package/dist/peculiar/{p-ZxTK29QB.system.js → p-CGipIfjs.system.js} +5 -5
  249. package/dist/peculiar/{p-ZxTK29QB.system.js.map → p-CGipIfjs.system.js.map} +1 -1
  250. package/dist/peculiar/{p-kq9wAWxW.system.js → p-CLcRtCZ9.system.js} +5 -5
  251. package/dist/peculiar/p-CLcRtCZ9.system.js.map +1 -0
  252. package/dist/peculiar/p-Ck3muCzg.system.js.map +1 -0
  253. package/dist/peculiar/p-Ckf8xErP.system.js +12 -0
  254. package/dist/peculiar/p-Ckf8xErP.system.js.map +1 -0
  255. package/dist/peculiar/{p-Bi5mjeeg.system.js → p-ClIFRyyo.system.js} +2 -2
  256. package/dist/peculiar/{p-Bi5mjeeg.system.js.map → p-ClIFRyyo.system.js.map} +1 -1
  257. package/dist/peculiar/{p-rmToyzuK.js → p-CmOVFH_Z.js} +4 -4
  258. package/dist/peculiar/p-CmOVFH_Z.js.map +1 -0
  259. package/dist/peculiar/p-Cq11_gqW.system.js +5 -0
  260. package/dist/peculiar/p-Cq11_gqW.system.js.map +1 -0
  261. package/dist/peculiar/p-DXA1451q.js +12 -0
  262. package/dist/peculiar/p-DXA1451q.js.map +1 -0
  263. package/dist/peculiar/{p-DkshB-5z.system.js → p-DberG072.system.js} +5 -5
  264. package/dist/peculiar/{p-DkshB-5z.system.js.map → p-DberG072.system.js.map} +1 -1
  265. package/dist/peculiar/{p-B4PdAFCr.system.js → p-DfK0DWXj.system.js} +2 -2
  266. package/dist/peculiar/{p-B4PdAFCr.system.js.map → p-DfK0DWXj.system.js.map} +1 -1
  267. package/dist/peculiar/p-Dpo1Lsuj.js +6 -0
  268. package/dist/peculiar/p-Dpo1Lsuj.js.map +1 -0
  269. package/dist/peculiar/p-Drk9aw2j.system.js.map +1 -0
  270. package/dist/peculiar/{p-JyD6URnB.js → p-DzEcDVLW.js} +2 -2
  271. package/dist/peculiar/{p-JyD6URnB.js.map → p-DzEcDVLW.js.map} +1 -1
  272. package/dist/peculiar/{p-CutTi-2B.js → p-GTlYmF1j.js} +2 -2
  273. package/dist/peculiar/{p-CutTi-2B.js.map → p-GTlYmF1j.js.map} +1 -1
  274. package/dist/peculiar/{p-CHnDlTqM.js → p-JgecEXqD.js} +2 -2
  275. package/dist/peculiar/{p-CHnDlTqM.js.map → p-JgecEXqD.js.map} +1 -1
  276. package/dist/peculiar/{p-D8xU284r.system.js → p-at6kSwVv.system.js} +2 -2
  277. package/dist/peculiar/{p-D8xU284r.system.js.map → p-at6kSwVv.system.js.map} +1 -1
  278. package/dist/peculiar/p-cc647eff.entry.js +152 -0
  279. package/dist/peculiar/p-cc647eff.entry.js.map +1 -0
  280. package/dist/peculiar/p-ce08fab1.entry.js +5 -0
  281. package/dist/peculiar/p-ce08fab1.entry.js.map +1 -0
  282. package/dist/peculiar/p-f7ee4d56.entry.js +12 -0
  283. package/dist/peculiar/p-f7ee4d56.entry.js.map +1 -0
  284. package/dist/peculiar/{p-BGASC3UX.system.js → p-hEr9Uo3G.system.js} +3 -3
  285. package/dist/peculiar/p-hEr9Uo3G.system.js.map +1 -0
  286. package/dist/peculiar/{p-DorRvFf7.system.js → p-tkt_tT15.system.js} +43 -43
  287. package/dist/peculiar/p-tkt_tT15.system.js.map +1 -0
  288. package/dist/peculiar/p-vXPL1mjI.system.js.map +1 -0
  289. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.esm.js.map +1 -1
  290. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -1
  291. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  292. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  293. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  294. package/dist/peculiar/peculiar-text-hider.entry.esm.js.map +1 -1
  295. package/dist/peculiar/peculiar.css +1 -1
  296. package/dist/peculiar/peculiar.esm.js +1 -1
  297. package/dist/peculiar/peculiar.esm.js.map +1 -1
  298. package/dist/peculiar/peculiar.js +1 -1
  299. package/dist/types/crypto/ssh_certificate.d.ts +1 -1
  300. package/dist/types/interface.d.ts +86 -86
  301. package/dist/types/stencil-public-runtime.d.ts +49 -2
  302. package/hydrate/index.d.ts +2 -0
  303. package/hydrate/index.js +379 -507
  304. package/hydrate/index.mjs +379 -507
  305. package/package.json +4 -4
  306. package/dist/cjs/cross-3DqhA0G_.js +0 -52
  307. package/dist/cjs/download-DQP0KR4o.js +0 -24
  308. package/dist/cjs/extension-CjXYQXbF.js.map +0 -1
  309. package/dist/cjs/index-uHmGhObe.js.map +0 -1
  310. package/dist/cjs/miscellaneous-7gtHz795.js.map +0 -1
  311. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js.map +0 -1
  312. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +0 -1
  313. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +0 -1
  314. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +0 -1
  315. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +0 -1
  316. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +0 -1
  317. package/dist/cjs/ssh_certificate-DnXj2sM0.js.map +0 -1
  318. package/dist/esm/cross-G84H_-QL.js +0 -48
  319. package/dist/esm/download-ykcxSgxU.js +0 -22
  320. package/dist/esm/extension-B3br1_Py.js.map +0 -1
  321. package/dist/esm/index-CwgZaF40.js.map +0 -1
  322. package/dist/esm/miscellaneous-phHcBJWR.js.map +0 -1
  323. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js.map +0 -1
  324. package/dist/esm/peculiar-button-menu_3.entry.js.map +0 -1
  325. package/dist/esm/ssh_certificate-rmToyzuK.js.map +0 -1
  326. package/dist/esm-es5/extension-B3br1_Py.js.map +0 -1
  327. package/dist/esm-es5/index-CwgZaF40.js +0 -6
  328. package/dist/esm-es5/index-CwgZaF40.js.map +0 -1
  329. package/dist/esm-es5/miscellaneous-phHcBJWR.js.map +0 -1
  330. package/dist/esm-es5/ssh_certificate-rmToyzuK.js.map +0 -1
  331. package/dist/peculiar/p-019339d6.entry.js.map +0 -1
  332. package/dist/peculiar/p-04422929.entry.js +0 -12
  333. package/dist/peculiar/p-04422929.entry.js.map +0 -1
  334. package/dist/peculiar/p-154dd0da.entry.js.map +0 -1
  335. package/dist/peculiar/p-27ae6a3a.entry.js +0 -5
  336. package/dist/peculiar/p-27ae6a3a.entry.js.map +0 -1
  337. package/dist/peculiar/p-3685975d.system.entry.js +0 -13
  338. package/dist/peculiar/p-3685975d.system.entry.js.map +0 -1
  339. package/dist/peculiar/p-607d08e8.system.entry.js +0 -5
  340. package/dist/peculiar/p-607d08e8.system.entry.js.map +0 -1
  341. package/dist/peculiar/p-6f0f2749.system.entry.js.map +0 -1
  342. package/dist/peculiar/p-7385d0bb.entry.js +0 -152
  343. package/dist/peculiar/p-7385d0bb.entry.js.map +0 -1
  344. package/dist/peculiar/p-872f7312.system.entry.js +0 -153
  345. package/dist/peculiar/p-872f7312.system.entry.js.map +0 -1
  346. package/dist/peculiar/p-9d9f24bd.entry.js +0 -5
  347. package/dist/peculiar/p-9d9f24bd.entry.js.map +0 -1
  348. package/dist/peculiar/p-B2GW-g6v.system.js +0 -5
  349. package/dist/peculiar/p-B2GW-g6v.system.js.map +0 -1
  350. package/dist/peculiar/p-B8_0p5ke.js.map +0 -1
  351. package/dist/peculiar/p-BGASC3UX.system.js.map +0 -1
  352. package/dist/peculiar/p-BdfvItQB.system.js.map +0 -1
  353. package/dist/peculiar/p-BtqN4pgo.js +0 -12
  354. package/dist/peculiar/p-BtqN4pgo.js.map +0 -1
  355. package/dist/peculiar/p-CbJQZ9Hh.system.js.map +0 -1
  356. package/dist/peculiar/p-CuX3t1Hg.system.js.map +0 -1
  357. package/dist/peculiar/p-Cv-b9S6H.system.js.map +0 -1
  358. package/dist/peculiar/p-CwgZaF40.js +0 -6
  359. package/dist/peculiar/p-CwgZaF40.js.map +0 -1
  360. package/dist/peculiar/p-D0w6miI2.system.js +0 -12
  361. package/dist/peculiar/p-D0w6miI2.system.js.map +0 -1
  362. package/dist/peculiar/p-DKl0YViA.system.js +0 -6
  363. package/dist/peculiar/p-DKl0YViA.system.js.map +0 -1
  364. package/dist/peculiar/p-DOFJd-ye.system.js.map +0 -1
  365. package/dist/peculiar/p-DorRvFf7.system.js.map +0 -1
  366. package/dist/peculiar/p-a4454e2d.system.entry.js.map +0 -1
  367. package/dist/peculiar/p-de857304.system.entry.js +0 -5
  368. package/dist/peculiar/p-de857304.system.entry.js.map +0 -1
  369. package/dist/peculiar/p-eziSY5IJ.system.js.map +0 -1
  370. package/dist/peculiar/p-kq9wAWxW.system.js.map +0 -1
  371. package/dist/peculiar/p-rmToyzuK.js.map +0 -1
@@ -1,152 +0,0 @@
1
- /*!
2
- * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
- */
4
- import{h as t,r as e,H as r}from"./p-CwgZaF40.js";import{$ as a,Z as o,e as s,b as i,bn as c,s as n,u as v,W as p,I as l,T as h,V as d,U as b,t as g,r as u,_ as y,az as w,aw as x,aD as m,bm as f}from"./p-rmToyzuK.js";import{X as z,a as k}from"./p-CkePJXWQ.js";import{d as j,R as L,e as I,f as S,G as A,E as N,h as _,B as C,a as D,T as K,g as E,b as P,c as T,M as O,I as H,S as $,P as B}from"./p-B8_0p5ke.js";import{T as M,B as V}from"./p-CutTi-2B.js";import{E as W}from"./p-BtqN4pgo.js";import{P as Q}from"./p-CYFfXlCT.js";import{D as q}from"./p-JyD6URnB.js";import"./p-DMZr5ztF.js";
5
- /**
6
- * @license
7
- * Copyright (c) Peculiar Ventures, LLC.
8
- *
9
- * This source code is licensed under the MIT license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */const F=(e,r)=>{const{attribute:a}=e;return[t(L,{name:"Name",value:j(a.asn.type)}),r,t("tr",null,t("td",{colSpan:2,class:"divider"},t("span",null)))]};
12
- /**
13
- * @license
14
- * Copyright (c) Peculiar Ventures, LLC.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE file in the root directory of this source tree.
18
- */const R=e=>{const{name:r}=e;if(!r){return null}return r.map((e=>e.map((e=>t(L,{name:a[e.type]||e.type,value:e.value.toString()})))))};
19
- /**
20
- * @license
21
- * Copyright (c) Peculiar Ventures, LLC.
22
- *
23
- * This source code is licensed under the MIT license found in the
24
- * LICENSE file in the root directory of this source tree.
25
- */const X=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(R,{name:r.value}))};
26
- /**
27
- * @license
28
- * Copyright (c) Peculiar Ventures, LLC.
29
- *
30
- * This source code is licensed under the MIT license found in the
31
- * LICENSE file in the root directory of this source tree.
32
- */const Z=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(L,{name:I("codeAuthority"),value:""}),t(S,null,t(A,{generalName:r.value.codeAuthority,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(L,{name:I("codeId"),value:""}),t(S,null,t(A,{generalName:r.value.codeId,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(L,{name:I("shortName"),value:r.value.shortName}),t(L,{name:I("shortDescription"),value:r.value.shortDescription}))};
33
- /**
34
- * @license
35
- * Copyright (c) Peculiar Ventures, LLC.
36
- *
37
- * This source code is licensed under the MIT license found in the
38
- * LICENSE file in the root directory of this source tree.
39
- */const J=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(L,{name:I("assessmentAuthority"),value:""}),t(S,null,t(A,{generalName:r.value.assessmentAuthority,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(L,{name:I("assessmentLocation"),value:""}),t(S,null,t(A,{generalName:r.value.assessmentLocation,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(L,{name:I("assessmentRef"),value:""}),t(S,null,t(A,{generalName:r.value.assessmentRef,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(L,{name:I("dataStorageTerritory"),value:r.value.dataStorageTerritory}),t(L,{name:I("description"),value:r.value.description}))};
40
- /**
41
- * @license
42
- * Copyright (c) Peculiar Ventures, LLC.
43
- *
44
- * This source code is licensed under the MIT license found in the
45
- * LICENSE file in the root directory of this source tree.
46
- */const U=e=>{const{attribute:r}=e;const a=`${r.value.base} * 10^${r.value.degree} ${r.value.location}`;return t(F,{attribute:r},t(L,{name:"Value",value:a}))};
47
- /**
48
- * @license
49
- * Copyright (c) Peculiar Ventures, LLC.
50
- *
51
- * This source code is licensed under the MIT license found in the
52
- * LICENSE file in the root directory of this source tree.
53
- */const G=e=>{const{attribute:r}=e;return t(F,{attribute:r},Object.keys(r.value).map((e=>t(L,{name:e,value:r.value[e].toNumber()?o.getString("yes"):o.getString("no")}))))};
54
- /**
55
- * @license
56
- * Copyright (c) Peculiar Ventures, LLC.
57
- *
58
- * This source code is licensed under the MIT license found in the
59
- * LICENSE file in the root directory of this source tree.
60
- */const Y=t=>{let e=1;if(t/100>1){e=100}else if(t/10>1){e=10}return`${t}/${5*e}`};const tt=e=>{const{attribute:r}=e;const a=Object.keys(r.value).map((e=>[Y(r.value[e]),t("br",null)]));return t(F,{attribute:r},t(L,{name:"Value",value:a}))};
61
- /**
62
- * @license
63
- * Copyright (c) Peculiar Ventures, LLC.
64
- *
65
- * This source code is licensed under the MIT license found in the
66
- * LICENSE file in the root directory of this source tree.
67
- */const et=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(L,{name:"Value",value:r.value,monospace:true}))};
68
- /**
69
- * @license
70
- * Copyright (c) Peculiar Ventures, LLC.
71
- *
72
- * This source code is licensed under the MIT license found in the
73
- * LICENSE file in the root directory of this source tree.
74
- */const rt=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(L,{name:"Value",value:r.value.utf8String}))};
75
- /**
76
- * @license
77
- * Copyright (c) Peculiar Ventures, LLC.
78
- *
79
- * This source code is licensed under the MIT license found in the
80
- * LICENSE file in the root directory of this source tree.
81
- */const at=e=>{const{attribute:r}=e;return t(F,{attribute:r},t(L,{name:"Value",value:r.value.toString()}))};
82
- /**
83
- * @license
84
- * Copyright (c) Peculiar Ventures, LLC.
85
- *
86
- * This source code is licensed under the MIT license found in the
87
- * LICENSE file in the root directory of this source tree.
88
- */const ot=e=>{const{attribute:r}=e;let a;if(r.value){a=r.value.map((t=>new W(s.serialize(t))))}return t(F,{attribute:r},t(S,null,t(N,{extensions:a,getDNSNameLink:()=>"",getIPAddressLink:()=>"",getLEILink:()=>""})))};
89
- /**
90
- * @license
91
- * Copyright (c) Peculiar Ventures, LLC.
92
- *
93
- * This source code is licensed under the MIT license found in the
94
- * LICENSE file in the root directory of this source tree.
95
- */const st=e=>{const{attribute:r}=e;const a=r.value.cert?s.serialize(r.value.cert):null;return t(F,{attribute:r},t(L,{name:"Serial Number",value:i.Convert.ToHex(r.value.signer.serialNumber),monospace:true}),t(L,{name:"Issuer",value:""}),t(S,null,t(R,{name:r.value.signer.issuer})),a&&[t(L,{name:"Certificate",value:""}),t(S,null,t("peculiar-certificate-viewer",{certificate:i.Convert.ToBase64(a)}))])};
96
- /**
97
- * @license
98
- * Copyright (c) Peculiar Ventures, LLC.
99
- *
100
- * This source code is licensed under the MIT license found in the
101
- * LICENSE file in the root directory of this source tree.
102
- */const it=e=>{const{attributes:r}=e;if(!r||!r.length){return null}return[t(_,{value:"Attributes"}),r.map((e=>{try{if(e.value instanceof c){return t(X,{attribute:e})}if(e.value instanceof n){return t(ot,{attribute:e})}if(e.value instanceof v){return t(Z,{attribute:e})}if(e.value instanceof p){return t(J,{attribute:e})}if(e.value instanceof l){return t(U,{attribute:e})}if(e.value instanceof h){return t(G,{attribute:e})}if(e.value instanceof d){return t(tt,{attribute:e})}if(e.value instanceof b){return t(rt,{attribute:e})}if(e.value instanceof g){return t(at,{attribute:e})}if(e.value instanceof u){return t(st,{attribute:e})}if(typeof e.value==="string"){return t(et,{attribute:e})}return t(F,{attribute:e})}catch(t){console.error("Error render attribute:",e.asn.type);return null}}))]};
103
- /**
104
- * @license
105
- * Copyright (c) Peculiar Ventures, LLC.
106
- *
107
- * This source code is licensed under the MIT license found in the
108
- * LICENSE file in the root directory of this source tree.
109
- */const ct=e=>{const{revokedCertificates:r,getDNSNameLink:a,getIPAddressLink:s}=e;if(!r||!r.length){return null}return[t(_,{value:o.getString("revokedCertificates")}),r.map((e=>[t(L,{name:o.getString("serialNumber"),value:i.Convert.ToHex(e.userCertificate),monospace:true}),t(L,{name:o.getString("revocationDate"),value:y(e.revocationDate.getTime())}),e.crlEntryExtensions&&e.crlEntryExtensions.length&&[t(L,{name:`${o.getString("crlEntryExtensions")}:`,value:""}),t(S,null,e.crlEntryExtensions.map((e=>{if(e.value instanceof w){return t(L,{name:j(e.asn.extnID),value:e.value.toJSON()||e.value.reason})}if(e.value instanceof x){return t(L,{name:j(e.asn.extnID),value:e.value.value.getTime()})}if(e.value instanceof m&&e.value.length){return[t(L,{name:`${j(e.asn.extnID)}:`,value:""}),e.value.map((e=>t(S,null,t(A,{generalName:e,getDNSNameLink:a,getIPAddressLink:s}))))]}return t(L,{name:j(e.asn.extnID),value:i.Convert.ToHex(e.asn.extnValue),monospace:true})})))],t("tr",null,t("td",{colSpan:2,class:"divider"},t("span",null)))]))]};
110
- /**
111
- * @license
112
- * Copyright (c) Peculiar Ventures, LLC.
113
- *
114
- * This source code is licensed under the MIT license found in the
115
- * LICENSE file in the root directory of this source tree.
116
- */const nt=e=>{const{holder:r}=e;if(!r){return null}const{baseCertificateID:a,objectDigestInfo:s}=r;return[t(_,{value:o.getString("holder")}),a&&[a.issuer.map((e=>t(A,{generalName:e,getDNSNameLink:()=>"",getIPAddressLink:()=>""}))),t("tr",null,t("td",null),t("td",null)),t(L,{name:o.getString("serialNumber"),value:i.Convert.ToHex(a.serial),monospace:true}),t("tr",null,t("td",null),t("td",null))],s&&[t(L,{name:o.getString("digestInfo"),value:""}),t(S,null,t(L,{name:o.getString("algorithm"),value:j(s.digestAlgorithm.algorithm)}),t(L,{name:o.getString("value"),value:i.Convert.ToHex(s.objectDigest),monospace:true}),t(L,{name:o.getString("type"),value:s.digestedObjectType}))]]};
117
- /**
118
- * @license
119
- * Copyright (c) Peculiar Ventures, LLC.
120
- *
121
- * This source code is licensed under the MIT license found in the
122
- * LICENSE file in the root directory of this source tree.
123
- */const vt=e=>{const{issuer:r}=e;if(!r){return null}return[t(_,{value:o.getString("issuer")}),r.map((e=>t(A,{generalName:e,getDNSNameLink:()=>"",getIPAddressLink:()=>""})))]};const pt="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const lt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>{var e;return(e=this.authKeyIdParentLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getAuthKeyIdSiblingsLink=t=>{var e;return(e=this.authKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getSubjectKeyIdChildrenLink=t=>{var e;return(e=this.subjectKeyIdChildrenLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.getSubjectKeyIdSiblingsLink=t=>{var e;return(e=this.subjectKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof z){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new z(t)}else{return}this.certificateDecoded.parseExtensions();this.certificateDecoded.parseAttributes();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof z&&e instanceof z){if(t.serialNumber!==e.serialNumber){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(M,null,"There was an error decoding this attribute certificate."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(M,null,"There is no attribute certificate available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(C,Object.assign({},this.certificateDecoded)),t(vt,{issuer:this.certificateDecoded.issuer}),t(nt,{holder:this.certificateDecoded.holder}),t(D,{signature:this.certificateDecoded.signature}),t(K,{thumbprints:this.certificateDecoded.thumbprints}),t(it,{attributes:this.certificateDecoded.attributes,getLEILink:T,getDNSNameLink:P,getIPAddressLink:E,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),t(N,{extensions:this.certificateDecoded.extensions,getLEILink:T,getDNSNameLink:P,getIPAddressLink:E,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),this.download&&t(O,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};lt.style=pt;const ht="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}:host{display:block;width:100%}.tabs{white-space:nowrap;overflow-x:auto;border-bottom:1px solid var(--pv-color-gray-4);padding:0 var(--pv-size-base-4);margin-bottom:var(--pv-size-base-6)}.tab{font-family:inherit;outline:none;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;border-bottom:3px solid transparent;min-height:var(--pv-size-base-12);height:100%;padding:0 var(--pv-size-base-3);background-color:transparent;-webkit-transition:background-color 200ms, color 200ms, border-color 200ms;transition:background-color 200ms, color 200ms, border-color 200ms;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing);color:var(--pv-color-gray-10)}.tab:hover{background-color:var(--pv-color-secondary-tint-5)}.tab[aria-selected=true]{color:var(--pv-color-black);border-color:var(--pv-color-secondary)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}";const dt=class{constructor(t){e(this,t);this.selectedCertificateIndex=0}renderEmptyState(){return t("div",{class:"status_wrapper"},t(M,null,"There is no certificates available."))}render(){if(!this.certificates){return this.renderEmptyState()}return t(r,null,t("div",{role:"tablist",class:"tabs"},Array.from(this.certificates).map(((e,r)=>t("button",{type:"button",role:"tab",class:"tab","aria-selected":r===this.selectedCertificateIndex?"true":"false",onClick:()=>{this.selectedCertificateIndex=r}},e.commonName)))),Array.from(this.certificates).map(((e,r)=>{if(r===this.selectedCertificateIndex){return t("peculiar-certificate-viewer",{certificate:e,download:false})}return null})),t("table",null,this.download&&t(O,{certificate:this.certificates})))}};dt.style=ht;const bt="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const gt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>{var e;return(e=this.authKeyIdParentLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getAuthKeyIdSiblingsLink=t=>{var e;return(e=this.authKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof k){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new k(t)}else{return}this.certificateDecoded.parseExtensions();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}getIssuerDnLink(){return this.issuerDnLink}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof k&&e instanceof k){if(t.commonName!==e.commonName){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(M,null,"There was an error decoding this certificate revocation list."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(M,null,"There is no certificate revocation list available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(C,Object.assign({},this.certificateDecoded)),t(H,{name:this.certificateDecoded.issuer,issuerDnLink:this.getIssuerDnLink()}),t(D,{signature:this.certificateDecoded.signature}),t(K,{thumbprints:this.certificateDecoded.thumbprints}),t(N,{extensions:this.certificateDecoded.extensions,getLEILink:T,getDNSNameLink:P,getIPAddressLink:E,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink}),t(ct,{revokedCertificates:this.certificateDecoded.revokedCertificates,getDNSNameLink:P,getIPAddressLink:E}),this.download&&t(O,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};gt.style=bt;const ut="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const yt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>t;this.getAuthKeyIdSiblingsLink=t=>t;this.getSubjectKeyIdChildrenLink=t=>{var e;return(e=this.subjectKeyIdChildrenLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.getSubjectKeyIdSiblingsLink=t=>{var e;return(e=this.subjectKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof Q){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new Q(t)}else{return}this.certificateDecoded.parseAttributes();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof Q&&e instanceof Q){if(t.commonName!==e.commonName){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(M,null,"There was an error decoding this certificate request."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(M,null,"There is no certificate request available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(C,Object.assign({},this.certificateDecoded)),t($,{name:this.certificateDecoded.subject}),t(B,{publicKey:this.certificateDecoded.publicKey}),t(D,{signature:this.certificateDecoded.signature}),t(K,{thumbprints:this.certificateDecoded.thumbprints}),t(it,{attributes:this.certificateDecoded.attributes,getLEILink:T,getDNSNameLink:P,getIPAddressLink:E,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),this.download&&t(O,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};yt.style=ut;
124
- /**
125
- * @license
126
- * Copyright (c) Peculiar Ventures, LLC.
127
- *
128
- * This source code is licensed under the MIT license found in the
129
- * LICENSE file in the root directory of this source tree.
130
- */const wt=e=>{const{serialNumber:r,validity:a,notBefore:s,notAfter:i,type:c,keyId:n,principals:v,extensions:p,criticalOptions:l}=e;return[t(_,{value:o.getString("basicInformation")}),t(L,{name:o.getString("type"),value:c}),t(L,{name:o.getString("serialNumber"),value:r,monospace:true}),t(L,{name:o.getString("validity"),value:a}),t(L,{name:o.getString("issued"),value:s?y(s):undefined}),t(L,{name:o.getString("expired"),value:i?y(i):undefined}),t(L,{name:o.getString("keyId"),value:n}),t(L,{name:o.getString("principals"),value:v.join(", ")||"(none)"}),t(L,{name:o.getString("criticalOptions"),value:Object.keys(l).join(", ")||"(none)"}),t(L,{name:o.getString("extensions"),value:Object.keys(p).join(", ")||"(none)"})]};
131
- /**
132
- * @license
133
- * Copyright (c) Peculiar Ventures, LLC.
134
- *
135
- * This source code is licensed under the MIT license found in the
136
- * LICENSE file in the root directory of this source tree.
137
- */const xt=e=>{const{key:r}=e;if(!r){return null}return[t(_,{value:o.getString("publicKeyInfo")}),t(L,{name:o.getString("algorithm"),value:j(r.algorithm)}),t(L,{name:"Thumbprint (SHA-256)",value:r.thumbprint,monospace:true}),t(L,{name:o.getString("value"),value:r.value,monospace:true,collapse:true})]};
138
- /**
139
- * @license
140
- * Copyright (c) Peculiar Ventures, LLC.
141
- *
142
- * This source code is licensed under the MIT license found in the
143
- * LICENSE file in the root directory of this source tree.
144
- */const mt=e=>{const{key:r}=e;if(!r){return null}return[t(_,{value:o.getString("signingCA")}),t(L,{name:o.getString("algorithm"),value:j(r.algorithm)}),t(L,{name:"Thumbprint (SHA-256)",value:r.thumbprint,monospace:true}),t(L,{name:o.getString("value"),value:r.value,monospace:true,collapse:true})]};
145
- /**
146
- * @license
147
- * Copyright (c) Peculiar Ventures, LLC.
148
- *
149
- * This source code is licensed under the MIT license found in the
150
- * LICENSE file in the root directory of this source tree.
151
- */const ft=e=>{const{certificate:r}=e;return[t(_,{value:o.getString("miscellaneous")}),t("tr",null,t("td",null,t(V,{startIcon:t(q,null),onClick:()=>r.downloadAsPub()},o.getString("download"))))]};const zt="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const kt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof f){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new f(t)}else{return}await this.certificateDecoded.parsePublicKey();await this.certificateDecoded.parseSignatureKey()}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof f&&e instanceof f){if(t.serialNumber!==e.serialNumber){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(M,null,"There was an error decoding this certificate."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(M,null,"There is no certificate available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(wt,Object.assign({},this.certificateDecoded)),t(xt,{key:this.certificateDecoded.publicKey}),t(mt,{key:this.certificateDecoded.signatureKey}),this.download&&t(ft,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};kt.style=zt;export{lt as peculiar_attribute_certificate_viewer,dt as peculiar_certificate_chain_viewer,gt as peculiar_crl_viewer,yt as peculiar_csr_viewer,kt as peculiar_ssh_certificate_viewer};
152
- //# sourceMappingURL=p-7385d0bb.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BasicAttribute","props","children","attribute","h","RowValue","name","value","getStringByOID","asn","type","colSpan","class","NamePart","map","relativeDistinguishedName","attributeTypeAndValue","OIDs","toString","NameAttribute","ActivityDescriptionAttribute","camelCaseToWords","TableRowTable","GeneralNamePart","generalName","codeAuthority","getDNSNameLink","getIPAddressLink","codeId","shortName","shortDescription","WebGdprAttribute","assessmentAuthority","assessmentLocation","assessmentRef","dataStorageTerritory","description","InsuranceValueAttribute","base","degree","location","TypeRelationshipAttribute","Object","keys","keyName","toNumber","l10n","getString","getValueRank","ratio","ValuationRankingAttribute","values","AsStringAttribute","monospace","UnstructuredNameAttribute","utf8String","ChallengePasswordAttribute","ExtensionRequestAttribute","extensions","e","Extension","AsnConvert","serialize","Extensions","getLEILink","PrivateKeyPossessionStatementAttribute","certificateRaw","cert","Convert","ToHex","signer","serialNumber","issuer","certificate","ToBase64","Attributes","attributes","length","RowTitle","Name","ExtensionRequest","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","PrivateKeyPossessionStatement","_a","console","error","RevokedCertificates","revokedCertificates","userCertificate","dateShort","revocationDate","getTime","crlEntryExtensions","extension","CRLReason","extnID","toJSON","reason","InvalidityDate","CertificateIssuer","gn","extnValue","Holder","holder","baseCertificateID","objectDigestInfo","item","serial","digestAlgorithm","algorithm","objectDigest","digestedObjectType","Issuer","certificateViewerCss","AttributeCertificateViewer","constructor","hostRef","this","mobileMediaQueryString","mobileScreenView","isDecodeInProcess","getAuthKeyIdParentLink","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","handleMediaQueryChange","event","matches","componentWillLoad","decodeCertificate","mobileMediaQuery","window","matchMedia","addEventListener","bind","disconnectedCallback","removeEventListener","X509AttributeCertificate","certificateDecoded","parseExtensions","parseAttributes","getThumbprint","certificateDecodeError","watchCertificateAndDecode","newValue","oldValue","renderErrorState","Typography","renderEmptyState","render","Host","String","BasicInformation","assign","Signature","signature","Thumbprints","thumbprints","download","Miscellaneous","certificateChainViewerCss","CertificateChainViewer","selectedCertificateIndex","certificates","role","Array","from","index","onClick","commonName","CrlViewer","X509Crl","getIssuerDnLink","issuerDnLink","IssuerName","CsrViewer","Pkcs10CertificateRequest","SubjectName","subject","PublicKey","publicKey","SshBasicInformation","validity","notBefore","notAfter","keyId","principals","criticalOptions","undefined","join","SshPublicKey","key","thumbprint","collapse","SshSignatureKey","SshMiscellaneous","Button","startIcon","DownloadIcon","downloadAsPub","SshCertificateViewer","SshCertificate","parsePublicKey","parseSignatureKey","signatureKey"],"sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/extension_request_attribute.tsx","src/components/certificate-details-parts/attributes/private_key_possession_statement_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-chain-viewer/certificate-chain-viewer.scss?tag=peculiar-certificate-chain-viewer&encapsulation=shadow","src/components/certificate-chain-viewer/certificate-chain-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx","src/components/ssh-certificate-viewer/-components/basic_information.tsx","src/components/ssh-certificate-viewer/-components/public_key.tsx","src/components/ssh-certificate-viewer/-components/signature_key.tsx","src/components/ssh-certificate-viewer/-components/miscellaneous.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-ssh-certificate-viewer&encapsulation=shadow","src/components/ssh-certificate-viewer/ssh-certificate-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ));\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ActivityDescription } from '@peculiar/asn1-ntqwac';\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { WebGDPR } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { InsuranceValue } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { TypeRelationship } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ValuationRanking } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as unknown as string[]}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { UnstructuredName } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ChallengePassword } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ExtensionRequest } from '@peculiar/asn1-pkcs9';\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport { Attribute } from '../../../crypto/attribute';\nimport { Extensions } from '../../certificate-details-parts';\nimport { TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IExtensionRequestAttributeProps {\n attribute: Attribute<ExtensionRequest>;\n}\n\nexport const ExtensionRequestAttribute:\nFunctionalComponent<IExtensionRequestAttributeProps> = (props) => {\n const { attribute } = props;\n let extensions: Extension<TExtensionValue>[];\n\n if (attribute.value) {\n extensions = attribute.value.map((e) => new Extension(AsnConvert.serialize(e)));\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <TableRowTable>\n <Extensions\n extensions={extensions}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n getLEILink={() => ''}\n />\n </TableRowTable>\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PrivateKeyPossessionStatement } from '@peculiar/asn1-private-key-stmt';\nimport { Convert } from 'pvtsutils';\nimport { Attribute } from '../../../crypto/attribute';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface IPrivateKeyPossessionStatementAttributeProps {\n attribute: Attribute<PrivateKeyPossessionStatement>;\n}\n\nexport const PrivateKeyPossessionStatementAttribute:\nFunctionalComponent<IPrivateKeyPossessionStatementAttributeProps> = (props) => {\n const { attribute } = props;\n const certificateRaw = attribute.value.cert\n ? AsnConvert.serialize(attribute.value.cert)\n : null;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Serial Number\"\n value={Convert.ToHex(attribute.value.signer.serialNumber)}\n monospace\n />\n <RowValue\n name=\"Issuer\"\n value=\"\"\n />\n <TableRowTable>\n <NamePart\n name={attribute.value.signer.issuer}\n />\n </TableRowTable>\n {certificateRaw && [\n <RowValue\n name=\"Certificate\"\n value=\"\"\n />,\n <TableRowTable>\n <peculiar-certificate-viewer\n certificate={Convert.ToBase64(certificateRaw)}\n />\n </TableRowTable>,\n ]}\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { PrivateKeyPossessionStatement } from '@peculiar/asn1-private-key-stmt';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\nimport { ExtensionRequestAttribute } from './extension_request_attribute';\nimport { PrivateKeyPossessionStatementAttribute } from './private_key_possession_statement_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as unknown as Attribute<Name>}\n />\n );\n }\n\n if (attribute.value instanceof ExtensionRequest) {\n return (\n <ExtensionRequestAttribute\n attribute={attribute as unknown as Attribute<ExtensionRequest>}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as unknown as Attribute<ActivityDescription>}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as unknown as Attribute<WebGDPR>}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as unknown as Attribute<InsuranceValue>}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as unknown as Attribute<TypeRelationship>}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as unknown as Attribute<ValuationRanking>}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as unknown as Attribute<UnstructuredName>}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as unknown as Attribute<ChallengePassword>}\n />\n );\n }\n\n if (attribute.value instanceof PrivateKeyPossessionStatement) {\n return (\n <PrivateKeyPossessionStatementAttribute\n attribute={attribute as unknown as Attribute<PrivateKeyPossessionStatement>}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as unknown as Attribute<string>}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch {\n console.error('Error render attribute:', attribute.asn.type);\n\n return null;\n }\n }),\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n CRLReason, InvalidityDate, CertificateIssuer,\n} from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport {\n dateShort, l10n, getStringByOID,\n} from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ])),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\n </TableRowTable>,\n ]),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509AttributeCertificate } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TAttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificate: TAttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TAttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TAttributeCertificateProp,\n oldValue: TAttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this attribute certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no attribute certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n@import '../certificate-viewer/certificate-viewer.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.tabs {\n white-space: nowrap;\n overflow-x: auto;\n border-bottom: 1px solid var(--pv-color-gray-4);\n padding: 0 var(--pv-size-base-4);\n margin-bottom: var(--pv-size-base-6);\n}\n\n.tab {\n font-family: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border: none;\n border-bottom: 3px solid transparent;\n min-height: var(--pv-size-base-12);\n height: 100%;\n padding: 0 var(--pv-size-base-3);\n background-color: transparent;\n transition: background-color 200ms, color 200ms, border-color 200ms;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n font-weight: var(--pv-text-s2-weight);\n font-size: var(--pv-text-s2-size);\n line-height: var(--pv-text-s2-height);\n letter-spacing: var(--pv-text-s2-spacing);\n color: var(--pv-color-gray-10);\n\n &:hover {\n background-color: var(--pv-color-secondary-tint-5);\n }\n\n &[aria-selected=\"true\"] {\n color: var(--pv-color-black);\n border-color: var(--pv-color-secondary);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Host,\n} from '@stencil/core';\nimport { X509Certificates } from '../../crypto';\nimport { Typography } from '../typography';\nimport { Miscellaneous } from '../certificate-details-parts';\n\n@Component({\n tag: 'peculiar-certificate-chain-viewer',\n styleUrl: 'certificate-chain-viewer.scss',\n shadow: true,\n})\nexport class CertificateChainViewer {\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificates: X509Certificates;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n @State() selectedCertificateIndex = 0;\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificates available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (!this.certificates) {\n return this.renderEmptyState();\n }\n\n return (\n <Host>\n <div\n role=\"tablist\"\n class=\"tabs\"\n >\n {Array.from(this.certificates).map((certificate, index) => (\n <button\n type=\"button\"\n role=\"tab\"\n class=\"tab\"\n aria-selected={index === this.selectedCertificateIndex ? 'true' : 'false'}\n onClick={() => {\n this.selectedCertificateIndex = index;\n }}\n >\n {certificate.commonName}\n </button>\n ))}\n </div>\n {Array.from(this.certificates).map((certificate, index) => {\n if (index === this.selectedCertificateIndex) {\n return (\n <peculiar-certificate-viewer\n certificate={certificate}\n download={false}\n />\n );\n }\n\n return null;\n })}\n\n <table>\n {this.download && (\n <Miscellaneous\n certificate={this.certificates}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509Crl } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TCrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TCrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TCrlProp,\n oldValue: TCrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { Pkcs10CertificateRequest } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCsrProp = string | Pkcs10CertificateRequest;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: Pkcs10CertificateRequest;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TCsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TCsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof Pkcs10CertificateRequest) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new Pkcs10CertificateRequest(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TCsrProp,\n oldValue: TCsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof Pkcs10CertificateRequest\n && oldValue instanceof Pkcs10CertificateRequest\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => value;\n\n private getAuthKeyIdSiblingsLink = (value: string) => value;\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate request.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate request available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { RowTitle, RowValue } from '../../certificate-details-parts/row';\nimport { dateShort, l10n } from '../../../utils';\n\ninterface ISshBasicInformationProps {\n serialNumber: string;\n validity: string;\n notBefore: Date;\n notAfter: Date;\n type: string;\n keyId: string;\n principals: string[];\n extensions: Record<string, string>;\n criticalOptions: Record<string, string>;\n}\n\nexport const SshBasicInformation: FunctionalComponent<ISshBasicInformationProps> = (props) => {\n const {\n serialNumber,\n validity,\n notBefore,\n notAfter,\n type,\n keyId,\n principals,\n extensions,\n criticalOptions,\n } = props;\n\n return [\n <RowTitle\n value={l10n.getString('basicInformation')}\n />,\n <RowValue\n name={l10n.getString('type')}\n value={type}\n />,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={serialNumber}\n monospace\n />,\n <RowValue\n name={l10n.getString('validity')}\n value={validity}\n />,\n <RowValue\n name={l10n.getString('issued')}\n value={notBefore ? dateShort(notBefore) : undefined}\n />,\n <RowValue\n name={l10n.getString('expired')}\n value={notAfter ? dateShort(notAfter) : undefined}\n />,\n <RowValue\n name={l10n.getString('keyId')}\n value={keyId}\n />,\n <RowValue\n name={l10n.getString('principals')}\n value={principals.join(', ') || '(none)'}\n />,\n <RowValue\n name={l10n.getString('criticalOptions')}\n value={Object.keys(criticalOptions).join(', ') || '(none)'}\n />,\n <RowValue\n name={l10n.getString('extensions')}\n value={Object.keys(extensions).join(', ') || '(none)'}\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n, getStringByOID } from '../../../utils';\nimport {\n RowTitle,\n RowValue,\n} from '../../certificate-details-parts/row';\n\ninterface ISshPublicKeyProps {\n key: SshCertificate['publicKey'];\n}\n\nexport const SshPublicKey: FunctionalComponent<ISshPublicKeyProps> = (props) => {\n const { key } = props;\n\n if (!key) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name=\"Thumbprint (SHA-256)\"\n value={key.thumbprint}\n monospace\n />,\n <RowValue\n name={l10n.getString('value')}\n value={key.value}\n monospace\n collapse\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n, getStringByOID } from '../../../utils';\nimport {\n RowTitle,\n RowValue,\n} from '../../certificate-details-parts/row';\n\ninterface ISshSignatureKeyProps {\n key: SshCertificate['signatureKey'];\n}\n\nexport const SshSignatureKey: FunctionalComponent<ISshSignatureKeyProps> = (props) => {\n const { key } = props;\n\n if (!key) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('signingCA')}\n />,\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name=\"Thumbprint (SHA-256)\"\n value={key.thumbprint}\n monospace\n />,\n <RowValue\n name={l10n.getString('value')}\n value={key.value}\n monospace\n collapse\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n } from '../../../utils';\nimport { Button } from '../../button';\nimport { DownloadIcon } from '../../icons';\nimport { RowTitle } from '../../certificate-details-parts/row';\n\ninterface ISshMiscellaneousProps {\n certificate: SshCertificate;\n}\n\nexport const SshMiscellaneous: FunctionalComponent<ISshMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n startIcon={<DownloadIcon />}\n onClick={() => certificate.downloadAsPub()}\n >\n {l10n.getString('download')}\n </Button>\n </td>\n </tr>,\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\nimport { SshCertificate } from '../../crypto';\nimport { Typography } from '../typography';\nimport { SshBasicInformation } from './-components/basic_information';\nimport { SshPublicKey } from './-components/public_key';\nimport { SshSignatureKey } from './-components/signature_key';\nimport { SshMiscellaneous } from './-components/miscellaneous';\n\nexport type TSshCertificateProp = string | SshCertificate;\n\n@Component({\n tag: 'peculiar-ssh-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class SshCertificateViewer {\n private certificateDecoded: SshCertificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TSshCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TSshCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof SshCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new SshCertificate(certificate);\n } else {\n return;\n }\n\n // this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.parsePublicKey();\n await this.certificateDecoded.parseSignatureKey();\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: TSshCertificateProp, oldValue: TSshCertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof SshCertificate && oldValue instanceof SshCertificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <SshBasicInformation\n {...this.certificateDecoded}\n />\n\n <SshPublicKey\n key={this.certificateDecoded.publicKey}\n />\n\n <SshSignatureKey\n key={this.certificateDecoded.signatureKey}\n />\n\n {this.download && (\n <SshMiscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}