@uncefact/untp-utils 0.2.0 → 0.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 (262) hide show
  1. package/README.md +40 -12
  2. package/artefacts/context/untp/0.6.0/dcc.json +1241 -0
  3. package/artefacts/context/untp/0.6.0/dfr.json +619 -0
  4. package/artefacts/context/untp/0.6.0/dia.json +162 -0
  5. package/artefacts/context/untp/0.6.0/dpp.json +1078 -0
  6. package/artefacts/context/untp/0.6.0/dte.json +1285 -0
  7. package/artefacts/context/untp/0.6.1/dcc.json +1388 -0
  8. package/artefacts/context/untp/0.6.1/dfr.json +690 -0
  9. package/artefacts/context/untp/0.6.1/dia.json +196 -0
  10. package/artefacts/context/untp/0.6.1/dpp.json +1164 -0
  11. package/artefacts/context/untp/0.6.1/dte.json +1340 -0
  12. package/artefacts/context/untp/0.7.0/untp.json +3493 -0
  13. package/artefacts/context/vcdm/2/credentials.json +301 -0
  14. package/artefacts/manifest.json +214 -0
  15. package/artefacts/schema/untp/0.6.0/dcc.json +1131 -0
  16. package/artefacts/schema/untp/0.6.0/dfr.json +1028 -0
  17. package/artefacts/schema/untp/0.6.0/dia.json +236 -0
  18. package/artefacts/schema/untp/0.6.0/dpp.json +1219 -0
  19. package/artefacts/schema/untp/0.6.0/dte.json +845 -0
  20. package/artefacts/schema/untp/0.6.1/dcc.json +1196 -0
  21. package/artefacts/schema/untp/0.6.1/dfr.json +1037 -0
  22. package/artefacts/schema/untp/0.6.1/dia.json +236 -0
  23. package/artefacts/schema/untp/0.6.1/dpp.json +1229 -0
  24. package/artefacts/schema/untp/0.6.1/dte.json +845 -0
  25. package/artefacts/schema/untp/0.7.0/cvc.json +701 -0
  26. package/artefacts/schema/untp/0.7.0/dcc.json +1133 -0
  27. package/artefacts/schema/untp/0.7.0/dfr.json +1245 -0
  28. package/artefacts/schema/untp/0.7.0/dia.json +443 -0
  29. package/artefacts/schema/untp/0.7.0/dpp.json +1300 -0
  30. package/artefacts/schema/untp/0.7.0/dte.json +1226 -0
  31. package/artefacts/schema/untp/0.7.0/linkset.json +119 -0
  32. package/artefacts/schema/vcdm/2/verifiable-credential.json +318 -0
  33. package/build/artefacts/detect-version-from-context.d.ts +7 -2
  34. package/build/artefacts/detect-version-from-context.js +17 -6
  35. package/build/artefacts/detect-version-from-context.js.map +1 -1
  36. package/build/artefacts/detect-version-from-context.test.js +59 -0
  37. package/build/artefacts/detect-version-from-context.test.js.map +1 -1
  38. package/build/artefacts/urls.d.ts +8 -1
  39. package/build/artefacts/urls.js +17 -5
  40. package/build/artefacts/urls.js.map +1 -1
  41. package/build/artefacts/urls.test.js +63 -1
  42. package/build/artefacts/urls.test.js.map +1 -1
  43. package/build/bundle/artefacts/context/untp/0.6.0/dcc.d.ts +2 -0
  44. package/build/bundle/artefacts/context/untp/0.6.0/dcc.js +1244 -0
  45. package/build/bundle/artefacts/context/untp/0.6.0/dcc.js.map +1 -0
  46. package/build/bundle/artefacts/context/untp/0.6.0/dfr.d.ts +2 -0
  47. package/build/bundle/artefacts/context/untp/0.6.0/dfr.js +622 -0
  48. package/build/bundle/artefacts/context/untp/0.6.0/dfr.js.map +1 -0
  49. package/build/bundle/artefacts/context/untp/0.6.0/dia.d.ts +2 -0
  50. package/build/bundle/artefacts/context/untp/0.6.0/dia.js +165 -0
  51. package/build/bundle/artefacts/context/untp/0.6.0/dia.js.map +1 -0
  52. package/build/bundle/artefacts/context/untp/0.6.0/dpp.d.ts +2 -0
  53. package/build/bundle/artefacts/context/untp/0.6.0/dpp.js +1081 -0
  54. package/build/bundle/artefacts/context/untp/0.6.0/dpp.js.map +1 -0
  55. package/build/bundle/artefacts/context/untp/0.6.0/dte.d.ts +2 -0
  56. package/build/bundle/artefacts/context/untp/0.6.0/dte.js +1288 -0
  57. package/build/bundle/artefacts/context/untp/0.6.0/dte.js.map +1 -0
  58. package/build/bundle/artefacts/context/untp/0.6.1/dcc.d.ts +2 -0
  59. package/build/bundle/artefacts/context/untp/0.6.1/dcc.js +1391 -0
  60. package/build/bundle/artefacts/context/untp/0.6.1/dcc.js.map +1 -0
  61. package/build/bundle/artefacts/context/untp/0.6.1/dfr.d.ts +2 -0
  62. package/build/bundle/artefacts/context/untp/0.6.1/dfr.js +693 -0
  63. package/build/bundle/artefacts/context/untp/0.6.1/dfr.js.map +1 -0
  64. package/build/bundle/artefacts/context/untp/0.6.1/dia.d.ts +2 -0
  65. package/build/bundle/artefacts/context/untp/0.6.1/dia.js +199 -0
  66. package/build/bundle/artefacts/context/untp/0.6.1/dia.js.map +1 -0
  67. package/build/bundle/artefacts/context/untp/0.6.1/dpp.d.ts +2 -0
  68. package/build/bundle/artefacts/context/untp/0.6.1/dpp.js +1167 -0
  69. package/build/bundle/artefacts/context/untp/0.6.1/dpp.js.map +1 -0
  70. package/build/bundle/artefacts/context/untp/0.6.1/dte.d.ts +2 -0
  71. package/build/bundle/artefacts/context/untp/0.6.1/dte.js +1343 -0
  72. package/build/bundle/artefacts/context/untp/0.6.1/dte.js.map +1 -0
  73. package/build/bundle/artefacts/context/untp/0.7.0/untp.d.ts +2 -0
  74. package/build/bundle/artefacts/context/untp/0.7.0/untp.js +3496 -0
  75. package/build/bundle/artefacts/context/untp/0.7.0/untp.js.map +1 -0
  76. package/build/bundle/artefacts/context/vcdm/2/credentials.d.ts +2 -0
  77. package/build/bundle/artefacts/context/vcdm/2/credentials.js +304 -0
  78. package/build/bundle/artefacts/context/vcdm/2/credentials.js.map +1 -0
  79. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.d.ts +2 -0
  80. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js +1134 -0
  81. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js.map +1 -0
  82. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.d.ts +2 -0
  83. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js +1031 -0
  84. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js.map +1 -0
  85. package/build/bundle/artefacts/schema/untp/0.6.0/dia.d.ts +2 -0
  86. package/build/bundle/artefacts/schema/untp/0.6.0/dia.js +239 -0
  87. package/build/bundle/artefacts/schema/untp/0.6.0/dia.js.map +1 -0
  88. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.d.ts +2 -0
  89. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js +1222 -0
  90. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js.map +1 -0
  91. package/build/bundle/artefacts/schema/untp/0.6.0/dte.d.ts +2 -0
  92. package/build/bundle/artefacts/schema/untp/0.6.0/dte.js +848 -0
  93. package/build/bundle/artefacts/schema/untp/0.6.0/dte.js.map +1 -0
  94. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.d.ts +2 -0
  95. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js +1199 -0
  96. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js.map +1 -0
  97. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.d.ts +2 -0
  98. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js +1040 -0
  99. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js.map +1 -0
  100. package/build/bundle/artefacts/schema/untp/0.6.1/dia.d.ts +2 -0
  101. package/build/bundle/artefacts/schema/untp/0.6.1/dia.js +239 -0
  102. package/build/bundle/artefacts/schema/untp/0.6.1/dia.js.map +1 -0
  103. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.d.ts +2 -0
  104. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js +1232 -0
  105. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js.map +1 -0
  106. package/build/bundle/artefacts/schema/untp/0.6.1/dte.d.ts +2 -0
  107. package/build/bundle/artefacts/schema/untp/0.6.1/dte.js +848 -0
  108. package/build/bundle/artefacts/schema/untp/0.6.1/dte.js.map +1 -0
  109. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.d.ts +2 -0
  110. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js +704 -0
  111. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js.map +1 -0
  112. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.d.ts +2 -0
  113. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js +1136 -0
  114. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js.map +1 -0
  115. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.d.ts +2 -0
  116. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js +1248 -0
  117. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js.map +1 -0
  118. package/build/bundle/artefacts/schema/untp/0.7.0/dia.d.ts +2 -0
  119. package/build/bundle/artefacts/schema/untp/0.7.0/dia.js +446 -0
  120. package/build/bundle/artefacts/schema/untp/0.7.0/dia.js.map +1 -0
  121. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.d.ts +2 -0
  122. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js +1303 -0
  123. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js.map +1 -0
  124. package/build/bundle/artefacts/schema/untp/0.7.0/dte.d.ts +2 -0
  125. package/build/bundle/artefacts/schema/untp/0.7.0/dte.js +1229 -0
  126. package/build/bundle/artefacts/schema/untp/0.7.0/dte.js.map +1 -0
  127. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.d.ts +2 -0
  128. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js +122 -0
  129. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js.map +1 -0
  130. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.d.ts +2 -0
  131. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js +321 -0
  132. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js.map +1 -0
  133. package/build/bundle/fallback.d.ts +41 -0
  134. package/build/bundle/fallback.js +62 -0
  135. package/build/bundle/fallback.js.map +1 -0
  136. package/build/bundle/fallback.test.d.ts +1 -0
  137. package/build/bundle/fallback.test.js +124 -0
  138. package/build/bundle/fallback.test.js.map +1 -0
  139. package/build/bundle/index.d.ts +4 -0
  140. package/build/bundle/index.js +77 -0
  141. package/build/bundle/index.js.map +1 -0
  142. package/build/bundle/lookup.d.ts +14 -0
  143. package/build/bundle/lookup.js +40 -0
  144. package/build/bundle/lookup.js.map +1 -0
  145. package/build/bundle/lookup.test.d.ts +1 -0
  146. package/build/bundle/lookup.test.js +70 -0
  147. package/build/bundle/lookup.test.js.map +1 -0
  148. package/build/bundle/public.d.ts +29 -0
  149. package/build/bundle/public.js +60 -0
  150. package/build/bundle/public.js.map +1 -0
  151. package/build/bundle/public.test.d.ts +1 -0
  152. package/build/bundle/public.test.js +41 -0
  153. package/build/bundle/public.test.js.map +1 -0
  154. package/build/bundle/refresh-classify.test.d.ts +1 -0
  155. package/build/bundle/refresh-classify.test.js +20 -0
  156. package/build/bundle/refresh-classify.test.js.map +1 -0
  157. package/build/bundle/refresh-main.test.d.ts +1 -0
  158. package/build/bundle/refresh-main.test.js +98 -0
  159. package/build/bundle/refresh-main.test.js.map +1 -0
  160. package/build/common/as-date-time.d.ts +13 -0
  161. package/build/common/as-date-time.js +44 -0
  162. package/build/common/as-date-time.js.map +1 -0
  163. package/build/common/as-date-time.test.d.ts +1 -0
  164. package/build/common/as-date-time.test.js +42 -0
  165. package/build/common/as-date-time.test.js.map +1 -0
  166. package/build/common/as-non-empty-string.d.ts +11 -4
  167. package/build/common/as-non-empty-string.js +15 -5
  168. package/build/common/as-non-empty-string.js.map +1 -1
  169. package/build/common/as-non-empty-string.test.js +7 -2
  170. package/build/common/as-non-empty-string.test.js.map +1 -1
  171. package/build/common/canonical-json.d.ts +10 -0
  172. package/build/common/canonical-json.js +29 -0
  173. package/build/common/canonical-json.js.map +1 -0
  174. package/build/common/canonical-json.test.d.ts +1 -0
  175. package/build/common/canonical-json.test.js +20 -0
  176. package/build/common/canonical-json.test.js.map +1 -0
  177. package/build/common/index.d.ts +5 -0
  178. package/build/common/index.js +6 -0
  179. package/build/common/index.js.map +1 -0
  180. package/build/common/validity-window.d.ts +45 -0
  181. package/build/common/validity-window.js +68 -0
  182. package/build/common/validity-window.js.map +1 -0
  183. package/build/common/validity-window.test.d.ts +1 -0
  184. package/build/common/validity-window.test.js +67 -0
  185. package/build/common/validity-window.test.js.map +1 -0
  186. package/build/conformity-vocabulary/codes.d.ts +4 -0
  187. package/build/conformity-vocabulary/codes.js +4 -0
  188. package/build/conformity-vocabulary/codes.js.map +1 -1
  189. package/build/conformity-vocabulary/parse-conformity-scheme.test.js +150 -0
  190. package/build/conformity-vocabulary/parse-conformity-scheme.test.js.map +1 -1
  191. package/build/conformity-vocabulary/parsers/v0-7-0.parser.js +225 -0
  192. package/build/conformity-vocabulary/parsers/v0-7-0.parser.js.map +1 -1
  193. package/build/conformity-vocabulary/types.d.ts +69 -15
  194. package/build/conformity-vocabulary/validate-conformity-claim.d.ts +17 -11
  195. package/build/conformity-vocabulary/validate-conformity-claim.js +118 -13
  196. package/build/conformity-vocabulary/validate-conformity-claim.js.map +1 -1
  197. package/build/conformity-vocabulary/validate-conformity-claim.test.js +265 -0
  198. package/build/conformity-vocabulary/validate-conformity-claim.test.js.map +1 -1
  199. package/build/loaders/index.d.ts +2 -0
  200. package/build/loaders/index.js +1 -0
  201. package/build/loaders/index.js.map +1 -1
  202. package/build/loaders/jsonld-document-loader.d.ts +7 -5
  203. package/build/loaders/jsonld-document-loader.js +11 -2
  204. package/build/loaders/jsonld-document-loader.js.map +1 -1
  205. package/build/loaders/jsonld-document-loader.test.js +41 -1
  206. package/build/loaders/jsonld-document-loader.test.js.map +1 -1
  207. package/build/loaders/schema-loader.d.ts +13 -3
  208. package/build/loaders/schema-loader.js +24 -8
  209. package/build/loaders/schema-loader.js.map +1 -1
  210. package/build/loaders/schema-loader.test.js +56 -1
  211. package/build/loaders/schema-loader.test.js.map +1 -1
  212. package/build/node/errors.d.ts +9 -3
  213. package/build/node/errors.js +9 -3
  214. package/build/node/errors.js.map +1 -1
  215. package/build/node/index.d.ts +1 -1
  216. package/build/node/index.js +1 -1
  217. package/build/node/index.js.map +1 -1
  218. package/build/node/is-private-ip.d.ts +8 -4
  219. package/build/node/is-private-ip.fail-closed.test.d.ts +1 -0
  220. package/build/node/is-private-ip.fail-closed.test.js +36 -0
  221. package/build/node/is-private-ip.fail-closed.test.js.map +1 -0
  222. package/build/node/is-private-ip.js +77 -12
  223. package/build/node/is-private-ip.js.map +1 -1
  224. package/build/node/is-private-ip.test.js +28 -0
  225. package/build/node/is-private-ip.test.js.map +1 -1
  226. package/build/node/validate-public-url.d.ts +43 -11
  227. package/build/node/validate-public-url.js +68 -34
  228. package/build/node/validate-public-url.js.map +1 -1
  229. package/build/node/validate-public-url.test.js +161 -14
  230. package/build/node/validate-public-url.test.js.map +1 -1
  231. package/build/resolvers/errors.d.ts +36 -6
  232. package/build/resolvers/errors.js +41 -7
  233. package/build/resolvers/errors.js.map +1 -1
  234. package/build/resolvers/resolve-document-if-changed.test.js +7 -0
  235. package/build/resolvers/resolve-document-if-changed.test.js.map +1 -1
  236. package/build/resolvers/resolve-document.d.ts +29 -9
  237. package/build/resolvers/resolve-document.integration.test.d.ts +1 -0
  238. package/build/resolvers/resolve-document.integration.test.js +108 -0
  239. package/build/resolvers/resolve-document.integration.test.js.map +1 -0
  240. package/build/resolvers/resolve-document.js +129 -49
  241. package/build/resolvers/resolve-document.js.map +1 -1
  242. package/build/resolvers/resolve-document.test.js +462 -12
  243. package/build/resolvers/resolve-document.test.js.map +1 -1
  244. package/build/resolvers/resolve-json-document.d.ts +11 -8
  245. package/build/resolvers/resolve-json-document.js +7 -6
  246. package/build/resolvers/resolve-json-document.js.map +1 -1
  247. package/build/resolvers/resolve-json-document.test.js +21 -4
  248. package/build/resolvers/resolve-json-document.test.js.map +1 -1
  249. package/build/validation/describe-jsonld-failure.d.ts +48 -8
  250. package/build/validation/describe-jsonld-failure.js +94 -27
  251. package/build/validation/describe-jsonld-failure.js.map +1 -1
  252. package/build/validation/describe-jsonld-failure.test.js +98 -13
  253. package/build/validation/describe-jsonld-failure.test.js.map +1 -1
  254. package/build/validation/index.d.ts +3 -2
  255. package/build/validation/index.js +2 -2
  256. package/build/validation/index.js.map +1 -1
  257. package/build/validation/validate-jsonld.d.ts +29 -3
  258. package/build/validation/validate-jsonld.js +49 -22
  259. package/build/validation/validate-jsonld.js.map +1 -1
  260. package/build/validation/validate-jsonld.test.js +62 -5
  261. package/build/validation/validate-jsonld.test.js.map +1 -1
  262. package/package.json +23 -3
@@ -40,6 +40,26 @@ function scheme() {
40
40
  ],
41
41
  };
42
42
  }
43
+ function scoringFramework(codes) {
44
+ return { name: 'Test framework', scores: codes.map((code) => ({ code })) };
45
+ }
46
+ function scoredScheme(options = {}) {
47
+ const base = scheme();
48
+ const profile = base.profiles[0];
49
+ return {
50
+ ...base,
51
+ ...(options.schemeCodes && { scoringFramework: scoringFramework(options.schemeCodes) }),
52
+ profiles: [
53
+ {
54
+ ...profile,
55
+ ...(options.profileCodes && { criterionScoringFrameworks: [scoringFramework(options.profileCodes)] }),
56
+ criteria: profile.criteria.map((criterion, index) => index === 0 && options.criterionCodes
57
+ ? { ...criterion, requiredPerformance: options.criterionCodes.map((code) => ({ score: { code } })) }
58
+ : criterion),
59
+ },
60
+ ],
61
+ };
62
+ }
43
63
  describe('validateConformityClaim', () => {
44
64
  it('returns an empty array when the claim matches the scheme exactly', () => {
45
65
  const claim = {
@@ -232,6 +252,251 @@ describe('validateConformityClaim', () => {
232
252
  expect(warnings[0].code).toBe(ConformityWarningCode.SchemeNotFound);
233
253
  });
234
254
  });
255
+ describe('score membership', () => {
256
+ it('warns when the profile score is not in the scheme framework', () => {
257
+ const claim = {
258
+ scheme: SCHEME_URI,
259
+ profile: PROFILE_URI,
260
+ profileScore: { code: 'PROFILE-UNKNOWN' },
261
+ criteria: [],
262
+ };
263
+ const [warning] = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A', 'B'] }));
264
+ expect(warning).toEqual(expect.objectContaining({
265
+ code: ConformityWarningCode.AttestationScoreNotInFramework,
266
+ received: 'PROFILE-UNKNOWN',
267
+ expected: ['A', 'B'],
268
+ pointer: '/profileScore/code',
269
+ }));
270
+ });
271
+ it('accepts a profile score code published by the scheme framework', () => {
272
+ const claim = {
273
+ scheme: SCHEME_URI,
274
+ profile: PROFILE_URI,
275
+ profileScore: { code: 'A' },
276
+ criteria: [],
277
+ };
278
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A'] }));
279
+ expect(warnings).not.toEqual(expect.arrayContaining([
280
+ expect.objectContaining({
281
+ code: ConformityWarningCode.AttestationScoreNotInFramework,
282
+ }),
283
+ ]));
284
+ });
285
+ it('warns on a performance score outside the ordered union of published frameworks', () => {
286
+ const claim = {
287
+ scheme: SCHEME_URI,
288
+ profile: PROFILE_URI,
289
+ criteria: [{ criterion: CRITERION_A }],
290
+ assessments: [
291
+ {
292
+ criteria: [CRITERION_A],
293
+ conformityTopics: [],
294
+ assessedScores: [{ code: 'X' }, { code: 'UNKNOWN' }],
295
+ },
296
+ ],
297
+ };
298
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A', 'B'], profileCodes: ['X', 'Y'], criterionCodes: ['R'] })).filter((warning) => warning.code === ConformityWarningCode.AssessmentScoreNotInFramework);
299
+ expect(warnings).toHaveLength(1);
300
+ expect(warnings[0]).toEqual(expect.objectContaining({
301
+ received: 'UNKNOWN',
302
+ expected: ['A', 'B', 'X', 'Y', 'R'],
303
+ message: 'Assessment score code is not published by the scheme, profile or referenced-criterion frameworks that apply to profile https://example.com/scheme/full/1.0.0.',
304
+ pointer: '/assessments/0/assessedScores/1/code',
305
+ }));
306
+ });
307
+ it('accepts a performance code from any applicable framework, including the referenced criterion', () => {
308
+ const claim = {
309
+ scheme: SCHEME_URI,
310
+ profile: PROFILE_URI,
311
+ criteria: [{ criterion: CRITERION_A }],
312
+ assessments: [{ criteria: [CRITERION_A], conformityTopics: [], assessedScores: [{ code: 'R' }] }],
313
+ };
314
+ expect(validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A'], profileCodes: ['B'], criterionCodes: ['R'] })).filter((warning) => warning.code === ConformityWarningCode.AssessmentScoreNotInFramework)).toEqual([]);
315
+ });
316
+ it('does not use an unreferenced criterion framework for an assessment score', () => {
317
+ const claim = {
318
+ scheme: SCHEME_URI,
319
+ profile: PROFILE_URI,
320
+ criteria: [{ criterion: CRITERION_B }],
321
+ assessments: [{ criteria: [CRITERION_B], conformityTopics: [], assessedScores: [{ code: 'R' }] }],
322
+ };
323
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['Q'], criterionCodes: ['R'] })).filter((warning) => warning.code === ConformityWarningCode.AssessmentScoreNotInFramework);
324
+ expect(warnings).toEqual([
325
+ expect.objectContaining({
326
+ received: 'R',
327
+ expected: ['Q'],
328
+ pointer: '/assessments/0/assessedScores/0/code',
329
+ }),
330
+ ]);
331
+ });
332
+ it('checks the profile score without a profile and says performance scores were not checked', () => {
333
+ const claim = {
334
+ scheme: SCHEME_URI,
335
+ profileScore: { code: 'UNKNOWN' },
336
+ criteria: [],
337
+ assessments: [{ criteria: [], conformityTopics: [], assessedScores: [{ code: 'UNKNOWN' }] }],
338
+ };
339
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A'], profileCodes: ['B'] }));
340
+ expect(warnings.map((warning) => warning.code)).toEqual([
341
+ ConformityWarningCode.AttestationScoreNotInFramework,
342
+ ConformityWarningCode.ProfileNotSpecified,
343
+ ]);
344
+ expect(warnings[1].message).toContain('performance scores were not checked');
345
+ expect(warnings.some((warning) => warning.code === ConformityWarningCode.AssessmentScoreNotInFramework)).toBe(false);
346
+ });
347
+ it('skips score checks when all published lists are empty', () => {
348
+ const claim = {
349
+ scheme: SCHEME_URI,
350
+ profile: PROFILE_URI,
351
+ profileScore: { code: 'A' },
352
+ criteria: [{ criterion: CRITERION_A }],
353
+ assessments: [{ criteria: [CRITERION_A], conformityTopics: [], assessedScores: [{ code: 'A' }] }],
354
+ };
355
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: [], profileCodes: [], criterionCodes: [] }));
356
+ expect(warnings.some((warning) => warning.code.endsWith('score-not-in-framework'))).toBe(false);
357
+ });
358
+ it('suppresses an assessment score warning when any referenced criterion is unresolved', () => {
359
+ const claim = {
360
+ scheme: SCHEME_URI,
361
+ profile: PROFILE_URI,
362
+ criteria: [{ criterion: CRITERION_A }, { criterion: 'https://example.com/criterion/unknown/1.0.0' }],
363
+ assessments: [
364
+ {
365
+ criteria: [CRITERION_A, 'https://example.com/criterion/unknown/1.0.0'],
366
+ conformityTopics: [],
367
+ assessedScores: [{ code: 'UNKNOWN' }],
368
+ },
369
+ ],
370
+ };
371
+ const warnings = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A'] }));
372
+ expect(warnings.map((warning) => warning.code)).toContain(ConformityWarningCode.CriterionNotInProfile);
373
+ expect(warnings.map((warning) => warning.code)).not.toContain(ConformityWarningCode.AssessmentScoreNotInFramework);
374
+ });
375
+ it('checks an assessment with no criteria against the scheme and profile frameworks', () => {
376
+ const claim = {
377
+ scheme: SCHEME_URI,
378
+ profile: PROFILE_URI,
379
+ criteria: [],
380
+ assessments: [{ criteria: [], conformityTopics: [], assessedScores: [{ code: 'Q' }] }],
381
+ };
382
+ const warning = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A', 'B'], profileCodes: ['X'] })).find((candidate) => candidate.code === ConformityWarningCode.AssessmentScoreNotInFramework);
383
+ expect(warning).toEqual(expect.objectContaining({
384
+ received: 'Q',
385
+ expected: ['A', 'B', 'X'],
386
+ pointer: '/assessments/0/assessedScores/0/code',
387
+ }));
388
+ });
389
+ it('compares score codes exactly, preserving empty and whitespace codes', () => {
390
+ const claim = {
391
+ scheme: SCHEME_URI,
392
+ profile: PROFILE_URI,
393
+ profileScore: { code: ' AA ' },
394
+ criteria: [],
395
+ };
396
+ const scored = scoredScheme({ schemeCodes: ['', ' AA '] });
397
+ expect(validateConformityClaim(claim, scored).some((warning) => warning.code === ConformityWarningCode.AttestationScoreNotInFramework)).toBe(false);
398
+ const mismatch = validateConformityClaim({ ...claim, profileScore: { code: 'AA' } }, scored).find((warning) => warning.code === ConformityWarningCode.AttestationScoreNotInFramework);
399
+ expect(mismatch).toEqual(expect.objectContaining({ received: 'AA', expected: ['', ' AA '] }));
400
+ });
401
+ it('checks a profile score only against the scheme framework', () => {
402
+ const claim = {
403
+ scheme: SCHEME_URI,
404
+ profile: PROFILE_URI,
405
+ profileScore: { code: 'X' },
406
+ criteria: [],
407
+ };
408
+ const [warning] = validateConformityClaim(claim, scoredScheme({ schemeCodes: ['A', 'B'], profileCodes: ['X', 'Y'] }));
409
+ expect(warning).toEqual(expect.objectContaining({
410
+ code: ConformityWarningCode.AttestationScoreNotInFramework,
411
+ received: 'X',
412
+ expected: ['A', 'B'],
413
+ pointer: '/profileScore/code',
414
+ }));
415
+ });
416
+ });
417
+ describe('catalogue tier diagnosis', () => {
418
+ it('reports a profile id used as a scheme id with the owning scheme', () => {
419
+ const claim = { scheme: 'https://scheme.example/profile/1.0.0', criteria: [] };
420
+ const warnings = validateConformityClaim(claim, null, {
421
+ scheme: [{ tier: 'profile', schemes: [SCHEME_URI] }],
422
+ });
423
+ expect(warnings).toEqual([
424
+ expect.objectContaining({
425
+ code: ConformityWarningCode.SchemeWrongTier,
426
+ received: claim.scheme,
427
+ expected: [SCHEME_URI],
428
+ pointer: '/scheme',
429
+ message: `The referenced id is a profile, not a scheme; it belongs to scheme ${SCHEME_URI}.`,
430
+ }),
431
+ ]);
432
+ });
433
+ it('keeps scheme-not-found when the resolver also found the expected tier', () => {
434
+ const claim = { scheme: SCHEME_URI, profile: PROFILE_URI, criteria: [] };
435
+ const warnings = validateConformityClaim(claim, null, {
436
+ scheme: [
437
+ { tier: 'scheme', schemes: [SCHEME_URI] },
438
+ { tier: 'profile', schemes: [SCHEME_URI] },
439
+ ],
440
+ });
441
+ expect(warnings[0].code).toBe(ConformityWarningCode.SchemeNotFound);
442
+ });
443
+ it('reports scheme and criterion ids used as a profile id at the wrong tier', () => {
444
+ const expectedProfiles = [PROFILE_URI];
445
+ const schemeWarning = validateConformityClaim({ scheme: SCHEME_URI, profile: SCHEME_URI, criteria: [] }, scheme(), { profile: [{ tier: 'scheme', schemes: [SCHEME_URI] }] })[0];
446
+ const criterionWarning = validateConformityClaim({ scheme: SCHEME_URI, profile: CRITERION_A, criteria: [] }, scheme(), { profile: [{ tier: 'criterion', schemes: [SCHEME_URI], profiles: [PROFILE_URI] }] })[0];
447
+ expect(schemeWarning).toEqual(expect.objectContaining({
448
+ code: ConformityWarningCode.ProfileWrongTier,
449
+ received: SCHEME_URI,
450
+ expected: expectedProfiles,
451
+ message: expect.stringContaining('scheme'),
452
+ }));
453
+ expect(criterionWarning).toEqual(expect.objectContaining({
454
+ code: ConformityWarningCode.ProfileWrongTier,
455
+ received: CRITERION_A,
456
+ expected: expectedProfiles,
457
+ message: expect.stringContaining('criterion'),
458
+ }));
459
+ });
460
+ it('keeps a profile-not-found warning and names another scheme for a mixed match', () => {
461
+ const warnings = validateConformityClaim({ scheme: SCHEME_URI, profile: 'https://other.example/profile/1.0.0', criteria: [] }, scheme(), {
462
+ profile: [
463
+ { tier: 'scheme', schemes: ['https://other.example'] },
464
+ { tier: 'profile', schemes: ['https://other.example'] },
465
+ ],
466
+ });
467
+ expect(warnings[0]).toEqual(expect.objectContaining({
468
+ code: ConformityWarningCode.ProfileNotFound,
469
+ message: expect.stringContaining('https://other.example'),
470
+ }));
471
+ });
472
+ it('does not diagnose an orphan criterion as a wrong-tier scheme', () => {
473
+ const warnings = validateConformityClaim({ scheme: 'https://example.com/orphan-criterion', criteria: [] }, null, {
474
+ scheme: [{ tier: 'criterion', schemes: [], profiles: [PROFILE_URI] }],
475
+ });
476
+ expect(warnings[0]).toEqual(expect.objectContaining({
477
+ code: ConformityWarningCode.SchemeNotFound,
478
+ received: 'https://example.com/orphan-criterion',
479
+ }));
480
+ });
481
+ it('does not diagnose an orphan criterion as a wrong-tier profile', () => {
482
+ const warnings = validateConformityClaim({ scheme: SCHEME_URI, profile: 'https://example.com/orphan-criterion', criteria: [] }, scheme(), { profile: [{ tier: 'criterion', schemes: [], profiles: [PROFILE_URI] }] });
483
+ expect(warnings[0]).toEqual(expect.objectContaining({
484
+ code: ConformityWarningCode.ProfileNotFound,
485
+ received: 'https://example.com/orphan-criterion',
486
+ expected: [PROFILE_URI],
487
+ }));
488
+ });
489
+ it('uses the complete wrong-tier messages for scheme and criterion profile references', () => {
490
+ const schemeWarning = validateConformityClaim({ scheme: SCHEME_URI, profile: SCHEME_URI, criteria: [] }, scheme(), { profile: [{ tier: 'scheme', schemes: [SCHEME_URI] }] })[0];
491
+ const criterionWarning = validateConformityClaim({ scheme: SCHEME_URI, profile: CRITERION_A, criteria: [] }, scheme(), { profile: [{ tier: 'criterion', schemes: [SCHEME_URI], profiles: [PROFILE_URI] }] })[0];
492
+ expect(schemeWarning.message).toBe('The referenced id is a scheme, not a profile in the selected scheme.');
493
+ expect(criterionWarning.message).toBe(`The referenced id is a criterion of profile ${PROFILE_URI} in scheme ${SCHEME_URI}, not a profile in the selected scheme.`);
494
+ });
495
+ it('does not diagnose an empty scheme match as a wrong tier', () => {
496
+ const warnings = validateConformityClaim({ scheme: SCHEME_URI, criteria: [] }, null, { scheme: [] });
497
+ expect(warnings[0].code).toBe(ConformityWarningCode.SchemeNotFound);
498
+ });
499
+ });
235
500
  describe('scheme-not-found', () => {
236
501
  it('fires when the scheme is null', () => {
237
502
  const claim = { scheme: SCHEME_URI, profile: PROFILE_URI, criteria: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"validate-conformity-claim.test.js","sourceRoot":"","sources":["../../src/conformity-vocabulary/validate-conformity-claim.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-conformity-claim.test.js","sourceRoot":"","sources":["../../src/conformity-vocabulary/validate-conformity-claim.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAChD,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAC5D,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAC5D,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAC5D,MAAM,QAAQ,GAAG,sDAAsD,CAAC;AACxE,MAAM,QAAQ,GAAG,sDAAsD,CAAC;AAExE,SAAS,MAAM;IACb,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR;gBACE,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,WAAW;wBACxB,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;wBAC9D,IAAI,EAAE,EAAE;qBACT;oBACD;wBACE,WAAW,EAAE,WAAW;wBACxB,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,EAAE;wBACV,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CACnB,UAII,EAAE;IAEN,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvF,QAAQ,EAAE;YACR;gBACE,GAAG,OAAO;gBACV,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,0BAA0B,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACrG,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAClD,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc;oBACnC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;oBACpG,CAAC,CAAC,SAAS,CACd;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAoB;YAC7B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE;gBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;aACjD;SACF,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YACrF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;gBACD,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aACtF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;gBACD,WAAW,EAAE;oBACX,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,wDAAwD,CAAC,EAAE;iBAC1G;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;YAC7E,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC5F,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC7F,kEAAkE;YAClE,uEAAuE;YACvE,qEAAqE;YACrE,wEAAwE;YACxE,MAAM,WAAW,GAAG,8DAA8D,CAAC;YACnF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;oBAC/E,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;gBACD,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;aAC5E,CAAC;YACF,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,uBAAuB,CAChE,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;YAChG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;gBACD,WAAW,EAAE;oBACX,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,oDAAoD,CAAC,EAAE;oBACrG,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,oDAAoD,CAAC,EAAE;iBACtG;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,uBAAuB,CAChE,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uGAAuG,EAAE,GAAG,EAAE;YAC/G,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;gBACD,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,wDAAwD,CAAC,EAAE,CAAC;aAC9G,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YACjG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBAChD,EAAE,SAAS,EAAE,6CAA6C,EAAE;iBAC7D;gBACD,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,CAAC,WAAW,EAAE,6CAA6C,CAAC;wBACtE,gBAAgB,EAAE,CAAC,wDAAwD,CAAC;qBAC7E;iBACF;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACzF,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,MAAM,GAAG,yDAAyD,CAAC;YACzE,MAAM,MAAM,GAAG,yDAAyD,CAAC;YACzE,MAAM,MAAM,GAAG,yDAAyD,CAAC;YACzE,MAAM,WAAW,GAAG,uCAAuC,CAAC;YAC5D,MAAM,WAAW,GAAqB;gBACpC,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE,UAAU;gBACrB,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,WAAW;wBACxB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,QAAQ;wBAChB,QAAQ,EAAE;4BACR;gCACE,WAAW,EAAE,WAAW;gCACxB,IAAI,EAAE,GAAG;gCACT,OAAO,EAAE,OAAO;gCAChB,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gCAC1D,IAAI,EAAE,EAAE;6BACT;4BACD;gCACE,WAAW,EAAE,WAAW;gCACxB,IAAI,EAAE,GAAG;gCACT,OAAO,EAAE,OAAO;gCAChB,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gCAC1D,IAAI,EAAE,EAAE;6BACT;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;oBAC9D,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;iBAC/D;gBACD,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;wBACpC,gBAAgB,EAAE,CAAC,0DAA0D,CAAC;qBAC/E;iBACF;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,MAAM,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,uBAAuB,CAChE,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;YAC3F,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,6CAA6C,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;aAC/F,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,kCAAkC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC5F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBACzC,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACrB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,8BAA8B;gBAC1D,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACpB,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC3B,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAC1B,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,8BAA8B;iBAC3D,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;YACxF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACtC,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,CAAC,WAAW,CAAC;wBACvB,gBAAgB,EAAE,EAAE;wBACpB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBACrD;iBACF;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAC3F,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;YAC5F,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBACnC,OAAO,EACL,+JAA+J;gBACjK,OAAO,EAAE,sCAAsC;aAChD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;YACtG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACtC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aAClG,CAAC;YACF,MAAM,CACJ,uBAAuB,CACrB,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CACjF,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,6BAA6B,CAAC,CAC5F,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACtC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aAClG,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAC5D,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;YAC5F,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,CAAC,GAAG,CAAC;oBACf,OAAO,EAAE,sCAAsC;iBAChD,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YACjG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;aAC7F,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,qBAAqB,CAAC,8BAA8B;gBACpD,qBAAqB,CAAC,mBAAmB;aAC1C,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAC7E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAC3G,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC3B,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACtC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aAClG,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACxE,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;YAC5F,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,6CAA6C,EAAE,CAAC;gBACpG,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,CAAC,WAAW,EAAE,6CAA6C,CAAC;wBACtE,gBAAgB,EAAE,EAAE;wBACpB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBACtC;iBACF;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;YACvG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAC3D,qBAAqB,CAAC,6BAA6B,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACzF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aACvF,CAAC;YACF,MAAM,OAAO,GAAG,uBAAuB,CACrC,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAC/D,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;YAC9F,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACrB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBACzB,OAAO,EAAE,sCAAsC;aAChD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CACJ,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CACzC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,8BAA8B,CACnF,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAC/F,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,8BAA8B,CACnF,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC3B,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,uBAAuB,CACvC,KAAK,EACL,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CACpE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACrB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,8BAA8B;gBAC1D,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACpB,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,sCAAsC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAChG,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE;gBACpD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;aACrD,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,eAAe;oBAC3C,QAAQ,EAAE,KAAK,CAAC,MAAM;oBACtB,QAAQ,EAAE,CAAC,UAAU,CAAC;oBACtB,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,sEAAsE,UAAU,GAAG;iBAC7F,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE;gBACpD,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;iBAC3C;aACF,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACjF,MAAM,gBAAgB,GAAG,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,uBAAuB,CAC3C,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EACzD,MAAM,EAAE,EACR,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CACzD,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAC1D,MAAM,EAAE,EACR,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CACrF,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAC3B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,gBAAgB;gBAC5C,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;aAC3C,CAAC,CACH,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAC9B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,gBAAgB;gBAC5C,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;aAC9C,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACtF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,qCAAqC,EAAE,QAAQ,EAAE,EAAE,EAAE,EACpF,MAAM,EAAE,EACR;gBACE,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE;oBACtD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE;iBACxD;aACF,CACF,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,eAAe;gBAC3C,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;aAC1D,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,sCAAsC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;gBAC/G,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,cAAc;gBAC1C,QAAQ,EAAE,sCAAsC;aACjD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,QAAQ,GAAG,uBAAuB,CACtC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,EAAE,EAAE,EACrF,MAAM,EAAE,EACR,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAC3E,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,eAAe;gBAC3C,QAAQ,EAAE,sCAAsC;gBAChD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;YAC3F,MAAM,aAAa,GAAG,uBAAuB,CAC3C,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EACzD,MAAM,EAAE,EACR,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CACzD,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAC1D,MAAM,EAAE,EACR,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CACrF,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YAC3G,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CACnC,+CAA+C,WAAW,cAAc,UAAU,yCAAyC,CAC5H,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACrG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,cAAc;oBAC1C,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,SAAS;iBACnB,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,WAAW,GAAqB,EAAE,GAAG,MAAM,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;YACnG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;aAC/E,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC7D,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,iDAAiD;gBAC1D,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,oDAAoD,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;aACtG,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,wCAAwC;gBACjD,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;aAC/E,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,eAAe;oBAC3C,QAAQ,EAAE,wCAAwC;oBAClD,QAAQ,EAAE,CAAC,WAAW,CAAC;oBACvB,OAAO,EAAE,UAAU;iBACpB,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,wCAAwC;gBACjD,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,6CAA6C,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBAClF,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,+CAA+C,CAAC,EAAE;iBAChG;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACvF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBAChD,EAAE,SAAS,EAAE,6CAA6C,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACnF;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,qBAAqB;oBACjD,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;oBAC7C,QAAQ,EAAE,6CAA6C;oBACvD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;oBACpC,OAAO,EAAE,uBAAuB;iBACjC,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBAChD;wBACE,SAAS,EAAE,6CAA6C;wBACxD,gBAAgB,EAAE,CAAC,+CAA+C,CAAC;qBACpE;iBACF;aACF,CAAC;YACF,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACjF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;aAC/E,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,gBAAgB;oBAC5C,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;oBAC7C,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,WAAW;iBACrB,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;iBAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,gBAAgB,CAAC;iBAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAAE;oBACxD,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,sBAAsB;oBAClD,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;oBAC7C,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,8BAA8B;iBACxC,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBAChD,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;iBAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,sBAAsB,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR;wBACE,SAAS,EAAE,WAAW;wBACtB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,6CAA6C,CAAC;qBACtF;oBACD,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,sBAAsB;oBAClD,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;oBAC7C,QAAQ,EAAE,6CAA6C;oBACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC9B,OAAO,EAAE,gCAAgC;iBAC1C,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACnF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAClE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,6CAA6C,CAAC,EAAE;oBACvG,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,sBAAsB;oBAClD,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,8BAA8B;iBACxC,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,qBAAqB,CAAC,sBAAsB;oBAClD,QAAQ,EAAE,6CAA6C;oBACvD,OAAO,EAAE,gCAAgC;iBAC1C,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;YAChG,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;aACnE,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YACrF,MAAM,KAAK,GAAoB;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAA2B,EAAE;oBACzE,EAAE,SAAS,EAAE,WAAW,EAAE;iBAC3B;aACF,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export { SchemaLoaderError, SchemaLoaderNetworkError, SchemaLoaderHttpError, SchemaLoaderInvalidJsonError, } from './errors.js';
2
2
  export { createSchemaLoader, type SchemaLoader } from './schema-loader.js';
3
3
  export { createJsonLdDocumentLoader, type JsonLdDocumentLoaderOptions, type LoadedRemoteDocument, } from './jsonld-document-loader.js';
4
+ export { isHostDeliveryFailure } from '../bundle/fallback.js';
5
+ export type { BundledFallbackEvent, BundledFallbackOptions } from '../bundle/fallback.js';
@@ -1,4 +1,5 @@
1
1
  export { SchemaLoaderError, SchemaLoaderNetworkError, SchemaLoaderHttpError, SchemaLoaderInvalidJsonError, } from './errors.js';
2
2
  export { createSchemaLoader } from './schema-loader.js';
3
3
  export { createJsonLdDocumentLoader, } from './jsonld-document-loader.js';
4
+ export { isHostDeliveryFailure } from '../bundle/fallback.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACL,0BAA0B,GAG3B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACL,0BAA0B,GAG3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ResolveDocumentOptions } from '../resolvers/index.js';
2
+ import type { BundledFallbackOptions } from '../bundle/fallback.js';
2
3
  import type { TtlCache } from '../cache/ttl-cache.js';
3
4
  /**
4
5
  * The subset of jsonld's `RemoteDocument` shape this loader returns. Carries
@@ -13,17 +14,18 @@ export interface LoadedRemoteDocument {
13
14
  document: unknown;
14
15
  }
15
16
  /** Options for {@link createJsonLdDocumentLoader}. */
16
- export interface JsonLdDocumentLoaderOptions extends ResolveDocumentOptions {
17
+ export interface JsonLdDocumentLoaderOptions extends ResolveDocumentOptions, BundledFallbackOptions {
17
18
  /** `Accept` header for `@context` fetches. Defaults to JSON-LD then JSON. */
18
19
  accept?: string;
19
20
  /**
20
21
  * Optional cache, keyed by URL, for resolved `@context` documents. When
21
22
  * supplied, a document fetched once is reused for the cache's TTL rather
22
- * than re-fetched on every expansion. Only successful fetches are cached
23
+ * than re-fetched on every expansion. Only successful loads are cached
23
24
  * (the {@link TtlCache} contract does not cache rejected fetches), so a
24
- * URL the guard rejects is re-checked every time. A successfully fetched
25
- * and parsed document is cached even if downstream JSON-LD processing
26
- * later rejects it.
25
+ * URL the guard rejects is re-checked every time; a bundled copy served
26
+ * after a host failure counts as a successful load and is cached like a
27
+ * fetched one. A successfully loaded document is cached even if
28
+ * downstream JSON-LD processing later rejects it.
27
29
  */
28
30
  cache?: TtlCache<LoadedRemoteDocument>;
29
31
  }
@@ -1,3 +1,4 @@
1
+ import { withBundledFallback } from '../bundle/fallback.js';
1
2
  /** Default `Accept` for `@context` documents: JSON-LD, falling back to JSON. */
2
3
  const CONTEXT_ACCEPT_HEADER = 'application/ld+json, application/json;q=0.9';
3
4
  /**
@@ -17,8 +18,8 @@ const CONTEXT_ACCEPT_HEADER = 'application/ld+json, application/json;q=0.9';
17
18
  * @see https://github.com/uncefact/tests-untp/issues/707
18
19
  */
19
20
  export function createJsonLdDocumentLoader(options) {
20
- const { cache, accept, ...resolverOptions } = options ?? {};
21
- const load = async (url) => {
21
+ const { cache, accept, bundledFallback, onBundledFallback, ...resolverOptions } = options ?? {};
22
+ const fetchContext = async (url) => {
22
23
  // Lazy import: the resolver stack pulls in undici, which jsdom test
23
24
  // environments cannot evaluate, so it loads at fetch time to keep this
24
25
  // module importable there.
@@ -29,6 +30,14 @@ export function createJsonLdDocumentLoader(options) {
29
30
  });
30
31
  return { documentUrl: finalUrl, document: json };
31
32
  };
33
+ // A bundled context is served under the URL that was requested, since no
34
+ // redirect was followed to reach it.
35
+ const load = async (url) => {
36
+ const fetched = await withBundledFallback(url, { bundledFallback, onBundledFallback }, () => fetchContext(url));
37
+ return 'documentUrl' in fetched && 'document' in fetched
38
+ ? fetched
39
+ : { documentUrl: url, document: fetched };
40
+ };
32
41
  return cache ? (url) => cache.get(url, () => load(url)) : load;
33
42
  }
34
43
  //# sourceMappingURL=jsonld-document-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonld-document-loader.js","sourceRoot":"","sources":["../../src/loaders/jsonld-document-loader.ts"],"names":[],"mappings":"AAgCA,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAqC;IAErC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE5D,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiC,EAAE;QAChE,oEAAoE;QACpE,uEAAuE;QACvE,2BAA2B;QAC3B,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACxD,GAAG,eAAe;YAClB,MAAM,EAAE,MAAM,IAAI,qBAAqB;SACxC,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"jsonld-document-loader.js","sourceRoot":"","sources":["../../src/loaders/jsonld-document-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAiC5D,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAqC;IAErC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEhG,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAiC,EAAE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,2BAA2B;QAC3B,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACxD,GAAG,eAAe;YAClB,MAAM,EAAE,MAAM,IAAI,qBAAqB;SACxC,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiC,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CACvC,GAAG,EACH,EAAE,eAAe,EAAE,iBAAiB,EAAE,EACtC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CACxB,CAAC;QACF,OAAO,aAAa,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO;YACtD,CAAC,CAAE,OAAgC;YACnC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC"}
@@ -1,5 +1,7 @@
1
- import { jest } from '@jest/globals';
1
+ import { ResolverNetworkError } from '../resolvers/errors.js';
2
+ import { ResolutionFailedError } from '../node/errors.js';
2
3
  import { createInMemoryTtlCache } from '../cache/in-memory-ttl-cache.js';
4
+ import { jest } from '@jest/globals';
3
5
  const resolveJsonDocument = jest.fn();
4
6
  jest.unstable_mockModule('../resolvers/index.js', () => ({
5
7
  resolveJsonDocument,
@@ -68,4 +70,42 @@ describe('createJsonLdDocumentLoader', () => {
68
70
  });
69
71
  });
70
72
  });
73
+ describe('createJsonLdDocumentLoader bundled fallback', () => {
74
+ const CONTEXT_URL = 'https://vocabulary.uncefact.org/untp/0.7.0/context/';
75
+ beforeEach(() => {
76
+ resolveJsonDocument.mockReset();
77
+ });
78
+ it('serves the bundled context under the requested URL when its fetch fails', async () => {
79
+ resolveJsonDocument.mockRejectedValue(new ResolverNetworkError(CONTEXT_URL, new Error('ENOTFOUND')));
80
+ const onBundledFallback = jest.fn();
81
+ const load = createJsonLdDocumentLoader({ onBundledFallback });
82
+ const result = await load(CONTEXT_URL);
83
+ expect(result.documentUrl).toBe(CONTEXT_URL);
84
+ expect(Object.keys(result.document)).toContain('@context');
85
+ expect(onBundledFallback).toHaveBeenCalledWith({ url: CONTEXT_URL, cause: expect.any(Error) });
86
+ });
87
+ it('rethrows for a context the bundle does not carry', async () => {
88
+ const cause = new ResolverNetworkError('https://example.com/context.jsonld', new Error('ENOTFOUND'));
89
+ resolveJsonDocument.mockRejectedValue(cause);
90
+ const load = createJsonLdDocumentLoader();
91
+ await expect(load('https://example.com/context.jsonld')).rejects.toBe(cause);
92
+ });
93
+ it('serves the copy when the context host name stops resolving', async () => {
94
+ resolveJsonDocument.mockRejectedValue(new ResolutionFailedError('vocabulary.uncefact.org', new Error('ENOTFOUND')));
95
+ const result = await createJsonLdDocumentLoader()(CONTEXT_URL);
96
+ expect(result.documentUrl).toBe(CONTEXT_URL);
97
+ });
98
+ it('rethrows when the fallback is switched off', async () => {
99
+ const cause = new ResolverNetworkError(CONTEXT_URL, new Error('ENOTFOUND'));
100
+ resolveJsonDocument.mockRejectedValue(cause);
101
+ await expect(createJsonLdDocumentLoader({ bundledFallback: false })(CONTEXT_URL)).rejects.toBe(cause);
102
+ });
103
+ it('caches a bundled context so the next load does not retry the network', async () => {
104
+ resolveJsonDocument.mockRejectedValue(new ResolverNetworkError(CONTEXT_URL, new Error('ENOTFOUND')));
105
+ const load = createJsonLdDocumentLoader({ cache: createInMemoryTtlCache({ ttlMs: 60_000 }) });
106
+ await load(CONTEXT_URL);
107
+ await load(CONTEXT_URL);
108
+ expect(resolveJsonDocument).toHaveBeenCalledTimes(1);
109
+ });
110
+ });
71
111
  //# sourceMappingURL=jsonld-document-loader.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonld-document-loader.test.js","sourceRoot":"","sources":["../../src/loaders/jsonld-document-loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonld-document-loader.test.js","sourceRoot":"","sources":["../../src/loaders/jsonld-document-loader.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { BundledFallbackOptions } from '../bundle/fallback.js';
1
2
  import type { TtlCache } from '../cache/ttl-cache.js';
2
3
  /**
3
4
  * Loads a JSON Schema document by URL. `T` declares the shape the caller
@@ -15,7 +16,16 @@ export interface SchemaLoader<T extends object = object> {
15
16
  * are never cached; a successfully fetched and parsed document is cached
16
17
  * even if it later fails Ajv compilation.
17
18
  *
18
- * @throws {SchemaLoaderError} on `load(url)` if the underlying fetch fails.
19
- * The concrete subclass identifies which step failed.
19
+ * When the host cannot deliver a bundled UNTP artefact (see
20
+ * `isHostDeliveryFailure`: unreachable, non-2xx, bad body, size, redirect or
21
+ * time bounds), the bundled copy is returned instead and
22
+ * `options.onBundledFallback` is told (see {@link BundledFallbackOptions}); a
23
+ * bundled copy served this way is cached like a fetched one. A URL the SSRF
24
+ * guard refused, an unexpected error, and any URL the bundle does not carry
25
+ * fail exactly as before.
26
+ *
27
+ * @throws {SchemaLoaderError} on `load(url)` if the underlying fetch fails
28
+ * and no bundled copy stands in. The concrete subclass identifies which
29
+ * step failed.
20
30
  */
21
- export declare function createSchemaLoader<T extends object = object>(cache?: TtlCache<T>): SchemaLoader<T>;
31
+ export declare function createSchemaLoader<T extends object = object>(cache?: TtlCache<T>, options?: BundledFallbackOptions): SchemaLoader<T>;