@cef-ebsi/cli 1.3.2 → 1.4.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 (187) hide show
  1. package/bin/cli.js +1 -1
  2. package/dist/abi/pilot/DidRegistry.js +568 -0
  3. package/dist/abi/pilot/DidRegistry.js.map +1 -0
  4. package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
  5. package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
  6. package/dist/abi/pilot/Timestamp.js +658 -0
  7. package/dist/abi/pilot/Timestamp.js.map +1 -0
  8. package/dist/abi/pilot/Tir.js +428 -0
  9. package/dist/abi/pilot/Tir.js.map +1 -0
  10. package/dist/abi/pilot/TnT.js +842 -0
  11. package/dist/abi/pilot/TnT.js.map +1 -0
  12. package/dist/abi/pilot/Tpr.js +492 -0
  13. package/dist/abi/pilot/Tpr.js.map +1 -0
  14. package/dist/abi/test/DidRegistry.js +144 -658
  15. package/dist/abi/test/DidRegistry.js.map +1 -1
  16. package/dist/abi/test/SchemaSCRegistry.js +101 -810
  17. package/dist/abi/test/SchemaSCRegistry.js.map +1 -1
  18. package/dist/abi/test/Timestamp.js +239 -673
  19. package/dist/abi/test/Timestamp.js.map +1 -1
  20. package/dist/abi/test/Tir.js +167 -636
  21. package/dist/abi/test/Tir.js.map +1 -1
  22. package/dist/abi/test/TnT.js +842 -0
  23. package/dist/abi/test/TnT.js.map +1 -0
  24. package/dist/abi/test/Tpr.js +166 -942
  25. package/dist/abi/test/Tpr.js.map +1 -1
  26. package/dist/app.js +444 -443
  27. package/dist/app.js.map +1 -1
  28. package/dist/buildParam/{didV3.js → didr.js} +182 -204
  29. package/dist/buildParam/didr.js.map +1 -0
  30. package/dist/buildParam/index.js +32 -48
  31. package/dist/buildParam/index.js.map +1 -1
  32. package/dist/buildParam/{timestampV2.js → timestamp.js} +137 -136
  33. package/dist/buildParam/timestamp.js.map +1 -0
  34. package/dist/buildParam/{tirV3.js → tir.js} +57 -59
  35. package/dist/buildParam/tir.js.map +1 -0
  36. package/dist/buildParam/{tntV2.js → tnt.js} +62 -61
  37. package/dist/buildParam/tnt.js.map +1 -0
  38. package/dist/buildParam/{tprV2.js → tpr.js} +34 -33
  39. package/dist/buildParam/tpr.js.map +1 -0
  40. package/dist/buildParam/{tsrV2.js → tsr.js} +39 -38
  41. package/dist/buildParam/tsr.js.map +1 -0
  42. package/dist/cli.js +1 -0
  43. package/dist/cli.js.map +1 -1
  44. package/dist/commands/{authorisation-v4.js → authorisation.js} +78 -71
  45. package/dist/commands/authorisation.js.map +1 -0
  46. package/dist/commands/compute.js +389 -389
  47. package/dist/commands/compute.js.map +1 -1
  48. package/dist/commands/{conformance-v3.js → conformance.js} +236 -248
  49. package/dist/commands/conformance.js.map +1 -0
  50. package/dist/commands/hardwarewallet.js +5 -5
  51. package/dist/commands/hardwarewallet.js.map +1 -1
  52. package/dist/commands/index.js +4 -4
  53. package/dist/commands/index.js.map +1 -1
  54. package/dist/commands/{ledger-v4.js → ledger.js} +141 -128
  55. package/dist/commands/ledger.js.map +1 -0
  56. package/dist/commands/tnl.js +10 -9
  57. package/dist/commands/tnl.js.map +1 -1
  58. package/dist/commands/tsr.js +46 -0
  59. package/dist/commands/tsr.js.map +1 -0
  60. package/dist/commands/view.js +8 -8
  61. package/dist/commands/view.js.map +1 -1
  62. package/dist/config.js +280 -279
  63. package/dist/config.js.map +1 -1
  64. package/dist/index.js +3 -3
  65. package/dist/index.js.map +1 -1
  66. package/dist/interfaces/index.js +1 -1
  67. package/dist/interfaces/index.js.map +1 -1
  68. package/dist/programs/migrateDid.js +33 -33
  69. package/dist/programs/migrateDid.js.map +1 -1
  70. package/dist/programs/migrateDids.js +39 -42
  71. package/dist/programs/migrateDids.js.map +1 -1
  72. package/dist/programs/migrateTsr.js +109 -113
  73. package/dist/programs/migrateTsr.js.map +1 -1
  74. package/dist/scripts/accreditAndAuthorize/conformance/step1 +1 -1
  75. package/dist/scripts/accreditAndAuthorize/test/step1 +1 -1
  76. package/dist/scripts/accreditTI +1 -1
  77. package/dist/scripts/assets/CTRevocableCredential.json +1 -1
  78. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +2 -2
  79. package/dist/scripts/assets/TrustedNodesList.json +1 -1
  80. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +2 -2
  81. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +2 -2
  82. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +1 -1
  83. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +1 -1
  84. package/dist/scripts/bootstrap/6-setupConformanceIssuer +1 -1
  85. package/dist/scripts/issueVcOnboard +1 -1
  86. package/dist/scripts/issueVcRootTAO +1 -1
  87. package/dist/scripts/issueVcTAO +2 -2
  88. package/dist/scripts/issueVcTI +2 -2
  89. package/dist/scripts/issueVcTnl +1 -1
  90. package/dist/scripts/issue_CTRevocableCredential +1 -1
  91. package/dist/scripts/issue_SelfAttestationSupportOffice +2 -2
  92. package/dist/scripts/issue_VerifiableAccreditationToAccredit +2 -2
  93. package/dist/scripts/issue_VerifiableAccreditationToAttest +2 -2
  94. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +1 -1
  95. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +1 -1
  96. package/dist/scripts/updateVcRootTAO +1 -1
  97. package/dist/scripts/updateVcTAO +2 -2
  98. package/dist/scripts/updateVcTI +2 -2
  99. package/dist/scripts/{wctv3 → wct}/accreditAndAuthorize +1 -1
  100. package/dist/tsconfig.build.tsbuildinfo +1 -0
  101. package/dist/utils/Client.js +81 -68
  102. package/dist/utils/Client.js.map +1 -1
  103. package/dist/utils/HardwareWallet.js +169 -165
  104. package/dist/utils/HardwareWallet.js.map +1 -1
  105. package/dist/utils/http.js +24 -27
  106. package/dist/utils/http.js.map +1 -1
  107. package/dist/utils/index.js +3 -3
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/jsonrpc.js +14 -14
  110. package/dist/utils/jsonrpc.js.map +1 -1
  111. package/dist/utils/print.js +19 -19
  112. package/dist/utils/print.js.map +1 -1
  113. package/dist/utils/utils.js +180 -173
  114. package/dist/utils/utils.js.map +1 -1
  115. package/package.json +70 -46
  116. package/dist/abi/pilot/DidRegistryV3.js +0 -1082
  117. package/dist/abi/pilot/DidRegistryV3.js.map +0 -1
  118. package/dist/abi/pilot/DidRegistryV4.js +0 -942
  119. package/dist/abi/pilot/DidRegistryV4.js.map +0 -1
  120. package/dist/abi/pilot/SchemaSCRegistryV2.js +0 -474
  121. package/dist/abi/pilot/SchemaSCRegistryV2.js.map +0 -1
  122. package/dist/abi/pilot/TimestampV2.js +0 -1128
  123. package/dist/abi/pilot/TimestampV2.js.map +0 -1
  124. package/dist/abi/pilot/TimestampV3.js +0 -995
  125. package/dist/abi/pilot/TimestampV3.js.map +0 -1
  126. package/dist/abi/pilot/TirV3.js +0 -496
  127. package/dist/abi/pilot/TirV3.js.map +0 -1
  128. package/dist/abi/pilot/TirV4.js +0 -710
  129. package/dist/abi/pilot/TirV4.js.map +0 -1
  130. package/dist/abi/pilot/TnTV1.js +0 -1375
  131. package/dist/abi/pilot/TnTV1.js.map +0 -1
  132. package/dist/abi/pilot/TprV2.js +0 -889
  133. package/dist/abi/pilot/TprV2.js.map +0 -1
  134. package/dist/abi/pilot/TprV3.js +0 -707
  135. package/dist/abi/pilot/TprV3.js.map +0 -1
  136. package/dist/abi/pilot/TsrV3.js +0 -571
  137. package/dist/abi/pilot/TsrV3.js.map +0 -1
  138. package/dist/abi/test/DidRegistryV3.js +0 -1089
  139. package/dist/abi/test/DidRegistryV3.js.map +0 -1
  140. package/dist/abi/test/DidRegistryV4.js +0 -960
  141. package/dist/abi/test/DidRegistryV4.js.map +0 -1
  142. package/dist/abi/test/SchemaSCRegistryV2.js +0 -474
  143. package/dist/abi/test/SchemaSCRegistryV2.js.map +0 -1
  144. package/dist/abi/test/TimestampV2.js +0 -1128
  145. package/dist/abi/test/TimestampV2.js.map +0 -1
  146. package/dist/abi/test/TimestampV3.js +0 -995
  147. package/dist/abi/test/TimestampV3.js.map +0 -1
  148. package/dist/abi/test/TirV3.js +0 -496
  149. package/dist/abi/test/TirV3.js.map +0 -1
  150. package/dist/abi/test/TirV4.js +0 -710
  151. package/dist/abi/test/TirV4.js.map +0 -1
  152. package/dist/abi/test/TnTV1.js +0 -1375
  153. package/dist/abi/test/TnTV1.js.map +0 -1
  154. package/dist/abi/test/TprV2.js +0 -889
  155. package/dist/abi/test/TprV2.js.map +0 -1
  156. package/dist/abi/test/TprV3.js +0 -707
  157. package/dist/abi/test/TprV3.js.map +0 -1
  158. package/dist/abi/test/TsrV3.js +0 -571
  159. package/dist/abi/test/TsrV3.js.map +0 -1
  160. package/dist/buildParam/didV3.js.map +0 -1
  161. package/dist/buildParam/didV4.js +0 -326
  162. package/dist/buildParam/didV4.js.map +0 -1
  163. package/dist/buildParam/timestampV2.js.map +0 -1
  164. package/dist/buildParam/timestampV3.js +0 -317
  165. package/dist/buildParam/timestampV3.js.map +0 -1
  166. package/dist/buildParam/tirV3.js.map +0 -1
  167. package/dist/buildParam/tirV4.js +0 -119
  168. package/dist/buildParam/tirV4.js.map +0 -1
  169. package/dist/buildParam/tntV1.js +0 -185
  170. package/dist/buildParam/tntV1.js.map +0 -1
  171. package/dist/buildParam/tntV2.js.map +0 -1
  172. package/dist/buildParam/tprV2.js.map +0 -1
  173. package/dist/buildParam/tprV3.js +0 -82
  174. package/dist/buildParam/tprV3.js.map +0 -1
  175. package/dist/buildParam/tsrV2.js.map +0 -1
  176. package/dist/buildParam/tsrV3.js +0 -110
  177. package/dist/buildParam/tsrV3.js.map +0 -1
  178. package/dist/commands/authorisation-v4.js.map +0 -1
  179. package/dist/commands/authorisation-v5.js +0 -119
  180. package/dist/commands/authorisation-v5.js.map +0 -1
  181. package/dist/commands/conformance-v3.js.map +0 -1
  182. package/dist/commands/ledger-v4.js.map +0 -1
  183. package/dist/tsconfig.tsbuildinfo +0 -1
  184. /package/dist/scripts/{wctv3 → wct}/holderWallet +0 -0
  185. /package/dist/scripts/{wctv3 → wct}/issueToHolder +0 -0
  186. /package/dist/scripts/{wctv3 → wct}/pda1 +0 -0
  187. /package/dist/scripts/{wctv3 → wct}/verifier +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/utils/jsonrpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAiB;IAC3D,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM;QACN,MAAM;QACN,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,mBAA+C;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,EAAE;QAC1B,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,KAAK,EAAE,mBAAmB,CAAC,KAAK;QAChC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACpD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;QACtC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAsB,EACtB,KAAa;IAEb,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,mBAAmB,EAAE,EAAE;QACvB,CAAC;QACD,CAAC;QACD,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QAChC,oBAAoB,EAAE,KAAK;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/utils/jsonrpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,UAAU,+BAA+B,CAC7C,mBAA+C;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACpD,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;QACtC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;QACtC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACxC,EAAE,EAAE,mBAAmB,CAAC,EAAE;QAC1B,KAAK,EAAE,mBAAmB,CAAC,KAAK;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAiB;IAC3D,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACnC,OAAO,EAAE,KAAK;QACd,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAsB,EACtB,KAAa;IAEb,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,CAAC;QACD,CAAC;QACD,oBAAoB,EAAE,KAAK;QAC3B,mBAAmB,EAAE,EAAE;QACvB,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;KACjC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,24 @@
1
1
  import chalk from "chalk";
2
- import * as dotenv from "dotenv";
2
+ import dotenv from "dotenv";
3
3
  dotenv.config();
4
+ export function blue(data) {
5
+ print(chalk.blue, data);
6
+ }
7
+ export function blueBold(data) {
8
+ print(chalk.blue, data);
9
+ }
10
+ export function cyan(data) {
11
+ print(chalk.cyan, data);
12
+ }
13
+ export function cyanBold(data) {
14
+ print(chalk.cyan.bold, data);
15
+ }
16
+ export function green(data) {
17
+ print(chalk.green, data);
18
+ }
19
+ export function greenBold(data) {
20
+ print(chalk.green, data);
21
+ }
4
22
  export function print(theme, data) {
5
23
  if (process.env.NO_HTTP_LOGS === "true")
6
24
  return;
@@ -26,28 +44,10 @@ export function red(data) {
26
44
  export function redBold(data) {
27
45
  print(chalk.red, data);
28
46
  }
29
- export function green(data) {
30
- print(chalk.green, data);
31
- }
32
- export function greenBold(data) {
33
- print(chalk.green, data);
34
- }
35
- export function blue(data) {
36
- print(chalk.blue, data);
37
- }
38
- export function blueBold(data) {
39
- print(chalk.blue, data);
40
- }
41
47
  export function yellow(data) {
42
48
  print(chalk.yellow, data);
43
49
  }
44
50
  export function yellowBold(data) {
45
51
  print(chalk.yellow, data);
46
52
  }
47
- export function cyan(data) {
48
- print(chalk.cyan, data);
49
- }
50
- export function cyanBold(data) {
51
- print(chalk.cyan.bold, data);
52
- }
53
53
  //# sourceMappingURL=print.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/utils/print.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,UAAU,KAAK,CAAC,KAAoB,EAAE,IAAa;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;QAAE,OAAO;IAChD,IAAI,UAAkB,CAAC;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAa;IAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAa;IACjC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAa;IAChC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAa;IAChC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/utils/print.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,UAAU,IAAI,CAAC,IAAa;IAChC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAa;IAChC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAa;IACjC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAoB,EAAE,IAAa;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;QAAE,OAAO;IAChD,IAAI,UAAkB,CAAC;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAa;IAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,73 +1,91 @@
1
- import crypto from "node:crypto";
2
- import Joi from "joi";
3
- import { secp256k1 } from "@noble/curves/secp256k1";
4
- import { p256 } from "@noble/curves/p256";
5
- import { base64url } from "multiformats/bases/base64";
6
- import { bases } from "multiformats/basics";
7
1
  import $RefParser from "@apidevtools/json-schema-ref-parser";
2
+ import { p256 } from "@noble/curves/p256";
3
+ import { secp256k1 } from "@noble/curves/secp256k1";
8
4
  import canonicalize from "canonicalize";
5
+ import Joi from "joi";
9
6
  import { base16 } from "multiformats/bases/base16";
10
7
  import { base58btc } from "multiformats/bases/base58";
11
- import readline from "readline";
8
+ import { base64url } from "multiformats/bases/base64";
9
+ import { bases } from "multiformats/basics";
10
+ import crypto from "node:crypto";
11
+ import readline from "node:readline";
12
12
  const serialize = canonicalize;
13
- export function prefixWith0x(key) {
14
- return key.startsWith("0x") ? key : `0x${key}`;
15
- }
16
- export function removePrefix0x(key) {
17
- return key.startsWith("0x") ? key.slice(2) : key;
18
- }
19
- export function fromHexString(hexString) {
20
- return Buffer.from(removePrefix0x(hexString), "hex");
21
- }
22
- export function toHexString(bytes) {
23
- return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, "0"), "");
24
- }
25
- function inferKeyProps(key, inputAlg, inputSourceType) {
26
- let alg;
27
- if (inputAlg) {
28
- alg = inputAlg;
13
+ export async function computeSchemaId(schema, base = "base58btc") {
14
+ // 1. Bundle schema
15
+ const bundledSchema = await $RefParser.bundle(schema);
16
+ // 2. Remove annotations
17
+ const sanitizedDocument = removeAnnotations(bundledSchema);
18
+ // 3. Canonicalise
19
+ const canonicalizedDocument = serialize(sanitizedDocument);
20
+ // 4. Compute sha256 of the stringified JSON document
21
+ const hash = crypto
22
+ .createHash("sha256")
23
+ .update(JSON.stringify(canonicalizedDocument), "utf8")
24
+ .digest();
25
+ // 5. encode hash in base16
26
+ if (base === "base16") {
27
+ return `0x${base16.baseEncode(hash)}`;
29
28
  }
30
- else {
31
- // infer alg
32
- if (typeof key !== "object") {
33
- throw new Error("cannot infer algorithm");
29
+ return base58btc.encode(hash);
30
+ }
31
+ export function encodePrivateKey(args) {
32
+ const { alg: inputAlg, format, key, sourceType: inputSourceType, type, } = args;
33
+ const { alg, sourceType } = inferKeyProps(key, inputAlg, inputSourceType);
34
+ if (sourceType.startsWith("public"))
35
+ throw new Error(`cannot encode key from ${sourceType} to ${format}`);
36
+ if (sourceType === "privateJwk") {
37
+ const privateKeyJwk = key;
38
+ if (format === "jwk")
39
+ return privateKeyJwk;
40
+ if (format === "pem") {
41
+ const keyObject = crypto.createPrivateKey({
42
+ format: "jwk",
43
+ key: privateKeyJwk,
44
+ });
45
+ return keyObject.export({ format: "pem", type });
34
46
  }
35
- const jwk = key;
36
- if (jwk.kty === "RSA")
37
- alg = "RS256";
38
- else if (jwk.kty === "OKP" && jwk.crv === "Ed25519")
39
- alg = "EdDSA";
40
- else if (jwk.kty === "EC" && jwk.crv === "P-256")
41
- alg = "ES256";
42
- else if (jwk.kty === "EC" && jwk.crv === "secp256k1")
43
- alg = "ES256K";
44
- else
45
- throw new Error("cannot infer algorithm");
46
- }
47
- let sourceType;
48
- if (inputSourceType) {
49
- sourceType = inputSourceType;
50
- // infer source type
51
- }
52
- else if (typeof key === "string" && key.length >= 130) {
53
- sourceType = "publicHex";
54
- }
55
- else if (typeof key === "string" && key.length >= 64) {
56
- sourceType = "privateHex";
57
- }
58
- else if (typeof key === "object" && Object.hasOwn(key, "d")) {
59
- sourceType = "privateJwk";
60
- }
61
- else if (typeof key === "object") {
62
- sourceType = "publicJwk";
47
+ // compute private key hex
48
+ if (!["ES256", "ES256K"].includes(alg))
49
+ throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
50
+ if (format === "hex") {
51
+ return `0x${Buffer.from(base64url.baseDecode(privateKeyJwk.d)).toString("hex")}`;
52
+ }
53
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
54
+ throw new Error(`invalid format ${format}`);
63
55
  }
64
- else {
65
- throw new Error("cannot infer source type");
56
+ if (sourceType === "privateHex") {
57
+ if (format === "hex")
58
+ return key;
59
+ // compute private key jwk
60
+ if (!["ES256", "ES256K"].includes(alg))
61
+ throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
62
+ const privateKeyHex = removePrefix0x(key);
63
+ const publicKey = alg === "ES256K"
64
+ ? secp256k1.getPublicKey(privateKeyHex, false)
65
+ : p256.getPublicKey(privateKeyHex, false);
66
+ const privateKeyJwk = {
67
+ crv: alg === "ES256K" ? "secp256k1" : "P-256",
68
+ d: base64url.baseEncode(Buffer.from(privateKeyHex, "hex")),
69
+ kty: "EC",
70
+ x: base64url.baseEncode(publicKey.slice(1, 33)),
71
+ y: base64url.baseEncode(publicKey.slice(33)),
72
+ };
73
+ if (format === "jwk")
74
+ return privateKeyJwk;
75
+ if (format === "pem") {
76
+ const keyObject = crypto.createPrivateKey({
77
+ format: "jwk",
78
+ key: privateKeyJwk,
79
+ });
80
+ return keyObject.export({ format: "pem", type });
81
+ }
82
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
83
+ throw new Error(`invalid format ${format}`);
66
84
  }
67
- return { alg, sourceType };
85
+ throw new Error(`invalid source type ${sourceType}`);
68
86
  }
69
87
  export function encodePublicKey(args) {
70
- const { key, format, alg: inputAlg, sourceType: inputSourceType } = args;
88
+ const { alg: inputAlg, format, key, sourceType: inputSourceType } = args;
71
89
  const { alg, sourceType } = inferKeyProps(key, inputAlg, inputSourceType);
72
90
  if (sourceType === "publicJwk") {
73
91
  const publicKeyJwk = key;
@@ -75,13 +93,13 @@ export function encodePublicKey(args) {
75
93
  return publicKeyJwk;
76
94
  if (format === "pem") {
77
95
  const keyObject = crypto.createPublicKey({
78
- key: publicKeyJwk,
79
96
  format: "jwk",
97
+ key: publicKeyJwk,
80
98
  });
81
99
  return keyObject.export({ format: "pem", type: "spki" });
82
100
  }
83
101
  // compute public key hex
84
- if (!["ES256K", "ES256"].includes(alg))
102
+ if (!["ES256", "ES256K"].includes(alg))
85
103
  throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
86
104
  if (format === "hex") {
87
105
  return `0x04${Buffer.from(base64url.baseDecode(publicKeyJwk.x)).toString("hex")}${Buffer.from(base64url.baseDecode(publicKeyJwk.y)).toString("hex")}`;
@@ -92,7 +110,7 @@ export function encodePublicKey(args) {
92
110
  if (sourceType === "privateJwk") {
93
111
  let publicKeyJwk;
94
112
  if (alg === "RS256") {
95
- const { d, p, q, dp, dq, qi, ...publicJwk } = key;
113
+ const { d, dp, dq, p, q, qi, ...publicJwk } = key;
96
114
  publicKeyJwk = publicJwk;
97
115
  }
98
116
  else {
@@ -100,22 +118,22 @@ export function encodePublicKey(args) {
100
118
  publicKeyJwk = publicJwk;
101
119
  }
102
120
  return encodePublicKey({
103
- key: publicKeyJwk,
104
121
  alg,
105
- sourceType: "publicJwk",
106
122
  format,
123
+ key: publicKeyJwk,
124
+ sourceType: "publicJwk",
107
125
  });
108
126
  }
109
127
  if (sourceType === "publicHex") {
110
128
  if (format === "hex")
111
129
  return key;
112
130
  // compute public key hex
113
- if (!["ES256K", "ES256"].includes(alg))
131
+ if (!["ES256", "ES256K"].includes(alg))
114
132
  throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
115
133
  const publicKeyHex = removePrefix0x(key);
116
134
  const publicKeyJwk = {
117
- kty: "EC",
118
135
  crv: alg === "ES256K" ? "secp256k1" : "P-256",
136
+ kty: "EC",
119
137
  x: base64url.baseEncode(Buffer.from(publicKeyHex.slice(2, 66), "hex")),
120
138
  y: base64url.baseEncode(Buffer.from(publicKeyHex.slice(66), "hex")),
121
139
  };
@@ -124,8 +142,8 @@ export function encodePublicKey(args) {
124
142
  }
125
143
  if (format === "pem") {
126
144
  const keyObject = crypto.createPublicKey({
127
- key: publicKeyJwk,
128
145
  format: "jwk",
146
+ key: publicKeyJwk,
129
147
  });
130
148
  return keyObject.export({ format: "pem", type: "spki" });
131
149
  }
@@ -134,7 +152,7 @@ export function encodePublicKey(args) {
134
152
  }
135
153
  if (sourceType === "privateHex") {
136
154
  // compute private key jwk
137
- if (!["ES256K", "ES256"].includes(alg))
155
+ if (!["ES256", "ES256K"].includes(alg))
138
156
  throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
139
157
  const privateKeyHex = removePrefix0x(key);
140
158
  const publicKey = alg === "ES256K"
@@ -142,71 +160,74 @@ export function encodePublicKey(args) {
142
160
  : p256.getPublicKey(privateKeyHex, false);
143
161
  const publicKeyHex = `0x${Buffer.from(publicKey).toString("hex")}`;
144
162
  return encodePublicKey({
145
- key: publicKeyHex,
146
163
  alg,
147
- sourceType: "publicHex",
148
164
  format,
165
+ key: publicKeyHex,
166
+ sourceType: "publicHex",
149
167
  });
150
168
  }
151
169
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
152
170
  throw new Error(`invalid source type ${sourceType}`);
153
171
  }
154
- export function encodePrivateKey(args) {
155
- const { key, format, type, alg: inputAlg, sourceType: inputSourceType, } = args;
156
- const { alg, sourceType } = inferKeyProps(key, inputAlg, inputSourceType);
157
- if (sourceType.startsWith("public"))
158
- throw new Error(`cannot encode key from ${sourceType} to ${format}`);
159
- if (sourceType === "privateJwk") {
160
- const privateKeyJwk = key;
161
- if (format === "jwk")
162
- return privateKeyJwk;
163
- if (format === "pem") {
164
- const keyObject = crypto.createPrivateKey({
165
- key: privateKeyJwk,
166
- format: "jwk",
167
- });
168
- return keyObject.export({ format: "pem", type });
169
- }
170
- // compute private key hex
171
- if (!["ES256K", "ES256"].includes(alg))
172
- throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
173
- if (format === "hex") {
174
- return `0x${Buffer.from(base64url.baseDecode(privateKeyJwk.d)).toString("hex")}`;
175
- }
176
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
177
- throw new Error(`invalid format ${format}`);
172
+ export function fromHexString(hexString) {
173
+ return Buffer.from(removePrefix0x(hexString), "hex");
174
+ }
175
+ export function multibaseEncode(base, input) {
176
+ const buffer = typeof input === "string" ? fromHexString(input) : input;
177
+ return bases[base].encode(buffer).toString();
178
+ }
179
+ export function prefixWith0x(key) {
180
+ return key.startsWith("0x") ? key : `0x${key}`;
181
+ }
182
+ export function removePrefix0x(key) {
183
+ return key.startsWith("0x") ? key.slice(2) : key;
184
+ }
185
+ export function toHexString(bytes) {
186
+ return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, "0"), "");
187
+ }
188
+ function inferKeyProps(key, inputAlg, inputSourceType) {
189
+ let alg;
190
+ if (inputAlg) {
191
+ alg = inputAlg;
178
192
  }
179
- if (sourceType === "privateHex") {
180
- if (format === "hex")
181
- return key;
182
- // compute private key jwk
183
- if (!["ES256K", "ES256"].includes(alg))
184
- throw new Error(`the encoding from ${sourceType} to ${format} for alg ${alg} is not supported`);
185
- const privateKeyHex = removePrefix0x(key);
186
- const publicKey = alg === "ES256K"
187
- ? secp256k1.getPublicKey(privateKeyHex, false)
188
- : p256.getPublicKey(privateKeyHex, false);
189
- const privateKeyJwk = {
190
- kty: "EC",
191
- crv: alg === "ES256K" ? "secp256k1" : "P-256",
192
- x: base64url.baseEncode(publicKey.slice(1, 33)),
193
- y: base64url.baseEncode(publicKey.slice(33)),
194
- d: base64url.baseEncode(Buffer.from(privateKeyHex, "hex")),
195
- };
196
- if (format === "jwk")
197
- return privateKeyJwk;
198
- if (format === "pem") {
199
- const keyObject = crypto.createPrivateKey({
200
- key: privateKeyJwk,
201
- format: "jwk",
202
- });
203
- return keyObject.export({ format: "pem", type });
193
+ else {
194
+ // infer alg
195
+ if (typeof key !== "object") {
196
+ throw new TypeError("cannot infer algorithm");
204
197
  }
205
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
206
- throw new Error(`invalid format ${format}`);
198
+ const jwk = key;
199
+ if (jwk.kty === "RSA")
200
+ alg = "RS256";
201
+ else if (jwk.kty === "OKP" && jwk.crv === "Ed25519")
202
+ alg = "EdDSA";
203
+ else if (jwk.kty === "EC" && jwk.crv === "P-256")
204
+ alg = "ES256";
205
+ else if (jwk.kty === "EC" && jwk.crv === "secp256k1")
206
+ alg = "ES256K";
207
+ else
208
+ throw new Error("cannot infer algorithm");
207
209
  }
208
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
209
- throw new Error(`invalid source type ${sourceType}`);
210
+ let sourceType;
211
+ if (inputSourceType) {
212
+ sourceType = inputSourceType;
213
+ // infer source type
214
+ }
215
+ else if (typeof key === "string" && key.length >= 130) {
216
+ sourceType = "publicHex";
217
+ }
218
+ else if (typeof key === "string" && key.length >= 64) {
219
+ sourceType = "privateHex";
220
+ }
221
+ else if (typeof key === "object" && Object.hasOwn(key, "d")) {
222
+ sourceType = "privateJwk";
223
+ }
224
+ else if (typeof key === "object") {
225
+ sourceType = "publicJwk";
226
+ }
227
+ else {
228
+ throw new TypeError("cannot infer source type");
229
+ }
230
+ return { alg, sourceType };
210
231
  }
211
232
  function removeAnnotations(obj) {
212
233
  /**
@@ -215,78 +236,65 @@ function removeAnnotations(obj) {
215
236
  * - https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.9
216
237
  * - https://json-schema.org/draft-07/json-schema-validation.html#rfc.section.10
217
238
  */
218
- const keysToRemove = [
219
- "title",
220
- "description",
239
+ const keysToRemove = new Set([
221
240
  "default",
222
241
  "deprecated",
242
+ "description",
243
+ "examples",
223
244
  "readOnly",
245
+ "title",
224
246
  "writeOnly",
225
- "examples",
226
- ];
227
- return JSON.parse(JSON.stringify(obj, (key, val) => keysToRemove.includes(key) ? undefined : val));
247
+ ]);
248
+ return JSON.parse(JSON.stringify(obj, (key, val) => keysToRemove.has(key) ? undefined : val));
228
249
  }
229
- export async function computeSchemaId(schema, base = "base58btc") {
230
- // 1. Bundle schema
231
- const bundledSchema = await $RefParser.bundle(schema);
232
- // 2. Remove annotations
233
- const sanitizedDocument = removeAnnotations(bundledSchema);
234
- // 3. Canonicalise
235
- const canonicalizedDocument = serialize(sanitizedDocument);
236
- // 4. Compute sha256 of the stringified JSON document
237
- const hash = crypto
238
- .createHash("sha256")
239
- .update(JSON.stringify(canonicalizedDocument), "utf-8")
240
- .digest();
241
- // 5. encode hash in base16
242
- if (base === "base16") {
243
- return `0x${base16.baseEncode(hash)}`;
250
+ export const schemaIdToHex = (schemaId) => {
251
+ if (schemaId.startsWith("0x")) {
252
+ return schemaId;
244
253
  }
245
- return base58btc.encode(hash);
246
- }
247
- export function multibaseEncode(base, input) {
248
- const buffer = typeof input === "string" ? fromHexString(input) : input;
249
- return bases[base].encode(buffer).toString();
250
- }
254
+ // Decode multibase base58btc string
255
+ const decoded = base58btc.decode(schemaId);
256
+ // Encode in hex
257
+ return prefixWith0x(base16.baseEncode(decoded));
258
+ };
251
259
  export function detachJwt(jwt) {
252
260
  const parts = jwt.split(".");
253
261
  return `${parts[0]}..${parts[2]}`;
254
262
  }
255
- export const JoiHash = Joi.string().pattern(/^(0x)?[0-9a-fA-F]{64,64}$/);
263
+ export const JoiHash = Joi.string().pattern(/^(0x)?[0-9a-fA-F]{64}$/);
256
264
  export const JoiHexadecimal = Joi.string().pattern(/^(0x)?[0-9a-fA-F]+$/);
265
+ export function extractJSON(str) {
266
+ const ini1 = str.indexOf("{");
267
+ const ini2 = str.indexOf("[");
268
+ if (ini1 === -1)
269
+ return extractJSONChars(str, "[]");
270
+ if (ini2 === -1)
271
+ return extractJSONChars(str, "{}");
272
+ if (ini1 < ini2)
273
+ return extractJSONChars(str, "{}");
274
+ return extractJSONChars(str, "[]");
275
+ }
257
276
  export function extractJSONChars(str, chars) {
258
277
  const [charIni, charEnd] = chars;
259
278
  const start = str.indexOf(` ${charIni}`);
260
279
  let end = str.lastIndexOf(charEnd) + 1;
261
- if (start < 0 || end === 0)
280
+ if (start === -1 || end === 0)
262
281
  return null;
263
282
  while (end > start + 1) {
264
- const candidate = str.substring(start, end);
283
+ const candidate = str.slice(start, end);
265
284
  try {
266
285
  return {
286
+ end,
267
287
  json: JSON.parse(candidate),
268
288
  start,
269
- end,
270
289
  };
271
290
  }
272
- catch (e) {
291
+ catch {
273
292
  // empty
274
293
  }
275
- end = str.substr(0, end - 1).lastIndexOf(charEnd) + 1;
294
+ end = str.slice(0, Math.max(0, end - 1)).lastIndexOf(charEnd) + 1;
276
295
  }
277
296
  throw new Error("JSON can not be parsed");
278
297
  }
279
- export function extractJSON(str) {
280
- const ini1 = str.indexOf("{");
281
- const ini2 = str.indexOf("[");
282
- if (ini1 < 0)
283
- return extractJSONChars(str, "[]");
284
- if (ini2 < 0)
285
- return extractJSONChars(str, "{}");
286
- if (ini1 < ini2)
287
- return extractJSONChars(str, "{}");
288
- return extractJSONChars(str, "[]");
289
- }
290
298
  export function getWords(str) {
291
299
  const preWords = str
292
300
  .split(" ")
@@ -301,27 +309,26 @@ export function getWords(str) {
301
309
  });
302
310
  let hasComments = false;
303
311
  const words = [];
304
- preWords.forEach((word) => {
312
+ for (const word of preWords) {
305
313
  if (typeof word === "string" && word.startsWith("#"))
306
314
  hasComments = true;
307
315
  if (!hasComments)
308
316
  words.push(word);
309
- });
310
- return { words, hasComments };
317
+ }
318
+ return { hasComments, words };
311
319
  }
312
320
  export function parseLine(s) {
313
321
  const parts = [];
314
322
  let str = s;
315
- // eslint-disable-next-line no-constant-condition
316
323
  while (true) {
317
324
  const resJson = extractJSON(str);
318
- const strAux = resJson ? str.substring(0, resJson.start) : str;
325
+ const strAux = resJson ? str.slice(0, Math.max(0, resJson.start)) : str;
319
326
  const resWords = getWords(strAux);
320
327
  parts.push(...resWords.words);
321
328
  if (!resJson || resWords.hasComments)
322
329
  break;
323
330
  parts.push(resJson.json);
324
- str = str.substring(resJson.end);
331
+ str = str.slice(Math.max(0, resJson.end));
325
332
  }
326
333
  return parts;
327
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}