@squiz/dx-json-schema-lib 1.87.0 → 1.89.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 (73) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/browser.d.ts +21 -0
  3. package/lib/browser.js +61 -0
  4. package/lib/browser.js.map +1 -0
  5. package/lib/formatted-text/v1/resolveFormattedTextNodes.d.ts +5 -2
  6. package/lib/formatted-text/v1/resolveFormattedTextNodes.js +12 -6
  7. package/lib/formatted-text/v1/resolveFormattedTextNodes.js.map +1 -1
  8. package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js +58 -0
  9. package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js.map +1 -1
  10. package/lib/index.d.ts +1 -15
  11. package/lib/index.js +4 -38
  12. package/lib/index.js.map +1 -1
  13. package/lib/primitiveTypes/FormattedText.js +36 -3
  14. package/lib/primitiveTypes/FormattedText.js.map +1 -1
  15. package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.d.ts +6 -0
  16. package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.js +93 -0
  17. package/lib/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.js.map +1 -0
  18. package/lib/utils/jsonBreakDetector/checks/findConstChanges.d.ts +6 -0
  19. package/lib/utils/jsonBreakDetector/checks/findConstChanges.js +75 -0
  20. package/lib/utils/jsonBreakDetector/checks/findConstChanges.js.map +1 -0
  21. package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.d.ts +6 -0
  22. package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.js +90 -0
  23. package/lib/utils/jsonBreakDetector/checks/findEnumNarrowing.js.map +1 -0
  24. package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.d.ts +8 -0
  25. package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.js +86 -0
  26. package/lib/utils/jsonBreakDetector/checks/findFieldTypeChanges.js.map +1 -0
  27. package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.d.ts +6 -0
  28. package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.js +68 -0
  29. package/lib/utils/jsonBreakDetector/checks/findNewRequiredFields.js.map +1 -0
  30. package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.d.ts +6 -0
  31. package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.js +179 -0
  32. package/lib/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.js.map +1 -0
  33. package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.d.ts +6 -0
  34. package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.js +106 -0
  35. package/lib/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.js.map +1 -0
  36. package/lib/utils/jsonBreakDetector/compareSubschemas.d.ts +9 -0
  37. package/lib/utils/jsonBreakDetector/compareSubschemas.js +49 -0
  38. package/lib/utils/jsonBreakDetector/compareSubschemas.js.map +1 -0
  39. package/lib/utils/jsonBreakDetector/dereference/dereference.d.ts +6 -0
  40. package/lib/utils/jsonBreakDetector/dereference/dereference.js +52 -0
  41. package/lib/utils/jsonBreakDetector/dereference/dereference.js.map +1 -0
  42. package/lib/utils/jsonBreakDetector/dereference/dereference.spec.d.ts +1 -0
  43. package/lib/utils/jsonBreakDetector/dereference/dereference.spec.js +225 -0
  44. package/lib/utils/jsonBreakDetector/dereference/dereference.spec.js.map +1 -0
  45. package/lib/utils/jsonBreakDetector/jsonBreakDetector.d.ts +8 -0
  46. package/lib/utils/jsonBreakDetector/jsonBreakDetector.js +35 -0
  47. package/lib/utils/jsonBreakDetector/jsonBreakDetector.js.map +1 -0
  48. package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.d.ts +1 -0
  49. package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.js +2761 -0
  50. package/lib/utils/jsonBreakDetector/jsonBreakDetector.spec.js.map +1 -0
  51. package/lib/utils/jsonBreakDetector/types.d.ts +25 -0
  52. package/lib/utils/jsonBreakDetector/types.js +28 -0
  53. package/lib/utils/jsonBreakDetector/types.js.map +1 -0
  54. package/package.json +10 -1
  55. package/src/browser.ts +27 -0
  56. package/src/formatted-text/v1/resolveFormattedTextNodes.spec.ts +70 -0
  57. package/src/formatted-text/v1/resolveFormattedTextNodes.ts +19 -4
  58. package/src/index.ts +4 -20
  59. package/src/primitiveTypes/FormattedText.ts +1 -1
  60. package/src/utils/jsonBreakDetector/checks/findArrayConstraintNarrowing.ts +121 -0
  61. package/src/utils/jsonBreakDetector/checks/findConstChanges.ts +97 -0
  62. package/src/utils/jsonBreakDetector/checks/findEnumNarrowing.ts +124 -0
  63. package/src/utils/jsonBreakDetector/checks/findFieldTypeChanges.ts +105 -0
  64. package/src/utils/jsonBreakDetector/checks/findNewRequiredFields.ts +97 -0
  65. package/src/utils/jsonBreakDetector/checks/findNumericConstraintNarrowing.ts +243 -0
  66. package/src/utils/jsonBreakDetector/checks/findStringConstraintNarrowing.ts +139 -0
  67. package/src/utils/jsonBreakDetector/compareSubschemas.ts +67 -0
  68. package/src/utils/jsonBreakDetector/dereference/dereference.spec.ts +245 -0
  69. package/src/utils/jsonBreakDetector/dereference/dereference.ts +65 -0
  70. package/src/utils/jsonBreakDetector/jsonBreakDetector.spec.ts +3041 -0
  71. package/src/utils/jsonBreakDetector/jsonBreakDetector.ts +36 -0
  72. package/src/utils/jsonBreakDetector/types.ts +29 -0
  73. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonBreakDetector.spec.js","sourceRoot":"","sources":["../../../src/utils/jsonBreakDetector/jsonBreakDetector.spec.ts"],"names":[],"mappings":";;;;;AAAA,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAoC,MAAS,EAAK,EAAE,CAAC,MAAM,CAAC;CACvF,CAAC,CAAC,CAAC;AAGJ,2DAA6D;AAE7D,4EAAoD;AAEpD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAE/E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aAChC,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aAChC,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC;gBACtC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC;aACxC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;qBAC3B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;4BACD,QAAQ,EAAE,CAAC,MAAM,CAAC;yBACnB;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;4BACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;yBAC5B;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aAChC,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;YAChH,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;iBAC3B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,iBAAiB,EAAE;4BACjB,SAAS,EAAE,CAAC,KAAK,CAAC;yBACnB;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,iBAAiB,EAAE;4BACjB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;yBAC5B;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,CAAC,OAAO,CAAC;6BAChB;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC7B;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;6BAC5B;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;iBAC3B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;YACjG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,EAAE;iBACV;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,EAAE;iBACV;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBACxB;wBACD,iBAAiB,EAAE;4BACjB,SAAS,EAAE,CAAC,KAAK,CAAC;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,iBAAiB,EAAE;oBACjB,KAAK,EAAE,CAAC,OAAO,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAe;gBAC/B,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACpC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;iBACpC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC3B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;iBACrC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACpC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC3B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC3B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACpC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;iBACrC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;iBACpE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;iBAC9F;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE;iBACV;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC1B;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC1B;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;iBAChD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;gBACzC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;yBACzD;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;yBAChD;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;gBAClD,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;qBAC9D;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;qBACnD;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;iBACrE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC3B;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;yBACzD;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;qBACnD;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;YAC1G,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC/C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACzD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;iBAC5C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;iBAC5C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;iBACxC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;yBACtC;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;yBACtC;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;qBACzC;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;qBAC1C;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;wBACZ,WAAW,EAAE,IAAI;wBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;wBACZ,WAAW,EAAE,IAAI;wBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;wBACX,WAAW,EAAE,IAAI;wBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;wBACZ,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAChE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAChE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACnD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAChE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACjE;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAChE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACnD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAChE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACnD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACtE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACnD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACjF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;aACzD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBAChE;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBAChE;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,eAAe,EAAE,0BAA0B,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iCAClE;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iCACjE;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACpD;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACvE;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,EAAE;4BACZ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,CAAC;4BACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BAChE;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BAChE;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,eAAe,EAAE,0BAA0B,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BACjE;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BAChE;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,eAAe,EAAE,wBAAwB,CAAC;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BACtD;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6BACzE;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE;oCACN,IAAI,EAAE,OAAO;oCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC1B;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE;oCACN,IAAI,EAAE,OAAO;oCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC1B;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE;oCACN,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yCACjE;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE;oCACN,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yCACjE;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;aACjE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,OAAO,EAAE;oCACP,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qCAC9E;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,OAAO,EAAE;oCACP,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,IAAI,EAAE;4CACJ,IAAI,EAAE,OAAO;4CACb,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,CAAC;4CACX,WAAW,EAAE,IAAI;4CACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yCAC1B;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;gBAC9D,OAAO,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;gBAC5D,OAAO,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAC9E;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;wBACX,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC;gBAC3C,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;gBACzC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACnF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;iBAChG;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;iBAChG;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;iBAC7G;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE;iBACnE;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACxG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACxG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;iBACxC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;iBACxC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE;iBACjD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAChD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE;iBACjD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;yBAC1C;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;yBAC1C;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;qBACxC;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;qBACvC;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;iBACpD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC9F;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;gBACtD,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC/C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAChD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAChD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAChD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;iBAC3D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;iBACvC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,OAAO,EAAE,kCAAkC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;iBAC7D;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;iBACnD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC9F;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC9F;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC7F;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;iBACxD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;iBACxC;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;iBACxC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;iBACxC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;iBAC1C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;iBAC1C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;iBACzC;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC9C;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC9C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE;iBAClD;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC3C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC9C;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;yBACvC;qBACF;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;yBACvC;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,eAAe,EAAE,4BAA4B,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;qBAC1C;iBACF;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;qBACzC;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;iBACvD;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,EAAE;wBACb,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,cAAc;qBACxB;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,MAAM,EAAE,4BAA4B,CAAC;gBAC7C,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC;gBAC3C,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBACxC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;iBAC/F;aACF,CAAC;YAEF,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,8BAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,YAAY,GAAe;gBAC/B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF,CAAC;YACF,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;aACF,CAAC;YAEF,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAE7C,MAAM,CAAC,8BAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,8BAAgB,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,CAAC,8BAAgB,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;YACnE,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,4FAA4F,CAAC;YAElH,IAAI,CAAC,MAAM,CAAC,8BAAgB,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,8BAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACpD,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,4FAA4F,CAAC;YAElH,IAAI;iBACD,MAAM,CAAC,8BAAgB,CAAC;iBACxB,sBAAsB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;iBAC1C,sBAAsB,CAAC,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,8BAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;YACzE,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;YACvE,MAAM,kBAAkB,GACtB,kGAAkG,CAAC;YACrG,MAAM,iBAAiB,GACrB,iGAAiG,CAAC;YAEpG,IAAI;iBACD,MAAM,CAAC,8BAAgB,CAAC;iBACxB,sBAAsB,CAAC,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC,CAAC;iBACD,sBAAsB,CAAC,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,IAAA,2BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC;gBAC/B,OAAO,CAAC,EAAE,EAAE,iBAAiB,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,8BAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface JsonBreak {
2
+ location: string;
3
+ message: string;
4
+ }
5
+ export declare const BREAK_MESSAGES: {
6
+ readonly required: "New required field";
7
+ readonly dependentRequired: "New dependent required field";
8
+ readonly type: "Field type changed";
9
+ readonly enum: "Enum options removed";
10
+ readonly enumAdded: "Enum added";
11
+ readonly const: "Const value changed";
12
+ readonly minItems: "Array minItems increased";
13
+ readonly maxItems: "Array maxItems lowered";
14
+ readonly uniqueItems: "Array uniqueItems added";
15
+ readonly minimum: "Numeric minimum increased";
16
+ readonly exclusiveMinimum: "Numeric exclusiveMinimum increased";
17
+ readonly maximum: "Numeric maximum lowered";
18
+ readonly exclusiveMaximum: "Numeric exclusiveMaximum lowered";
19
+ readonly multipleOf: "Numeric multipleOf narrowed";
20
+ readonly minLength: "String minLength increased";
21
+ readonly maxLength: "String maxLength lowered";
22
+ readonly format: "String format changed";
23
+ readonly pattern: "String pattern changed";
24
+ };
25
+ export declare function pushBreak(breaks: JsonBreak[], location: string, message: string): void;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BREAK_MESSAGES = void 0;
4
+ exports.pushBreak = pushBreak;
5
+ exports.BREAK_MESSAGES = {
6
+ required: 'New required field',
7
+ dependentRequired: 'New dependent required field',
8
+ type: 'Field type changed',
9
+ enum: 'Enum options removed',
10
+ enumAdded: 'Enum added',
11
+ const: 'Const value changed',
12
+ minItems: 'Array minItems increased',
13
+ maxItems: 'Array maxItems lowered',
14
+ uniqueItems: 'Array uniqueItems added',
15
+ minimum: 'Numeric minimum increased',
16
+ exclusiveMinimum: 'Numeric exclusiveMinimum increased',
17
+ maximum: 'Numeric maximum lowered',
18
+ exclusiveMaximum: 'Numeric exclusiveMaximum lowered',
19
+ multipleOf: 'Numeric multipleOf narrowed',
20
+ minLength: 'String minLength increased',
21
+ maxLength: 'String maxLength lowered',
22
+ format: 'String format changed',
23
+ pattern: 'String pattern changed',
24
+ };
25
+ function pushBreak(breaks, location, message) {
26
+ breaks.push({ location, message });
27
+ }
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/jsonBreakDetector/types.ts"],"names":[],"mappings":";;;AA0BA,8BAEC;AAvBY,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,oBAAoB;IAC9B,iBAAiB,EAAE,8BAA8B;IACjD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,qBAAqB;IAC5B,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,wBAAwB;IAClC,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,2BAA2B;IACpC,gBAAgB,EAAE,oCAAoC;IACtD,OAAO,EAAE,yBAAyB;IAClC,gBAAgB,EAAE,kCAAkC;IACpD,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAE,4BAA4B;IACvC,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE,wBAAwB;CACzB,CAAC;AAEX,SAAgB,SAAS,CAAC,MAAmB,EAAE,QAAgB,EAAE,OAAe;IAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,22 @@
1
1
  {
2
2
  "name": "@squiz/dx-json-schema-lib",
3
- "version": "1.87.0",
3
+ "version": "1.89.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
+ "browser": "./lib/browser.js",
6
7
  "exports": {
7
8
  ".": {
8
9
  "types": "./lib/index.d.ts",
10
+ "browser": {
11
+ "types": "./lib/browser.d.ts",
12
+ "default": "./lib/browser.js"
13
+ },
9
14
  "default": "./lib/index.js"
10
15
  },
16
+ "./browser": {
17
+ "types": "./lib/browser.d.ts",
18
+ "default": "./lib/browser.js"
19
+ },
11
20
  "./lib/*": "./lib/*",
12
21
  "./src/*": "./src/*",
13
22
  "./package.json": "./package.json"
package/src/browser.ts ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Browser-safe public API. Omits User API manifest validation (`fs` / `path`).
3
+ * Node consumers should import the package root, which re-exports this module
4
+ * plus `./manifest/userApi/v1`.
5
+ */
6
+ export * as MANIFEST_MODELS from './manifest/v1/manifestModels';
7
+ export * as MANIFEST_SCHEMAS from './manifest/v1/manifestSchemas';
8
+
9
+ export * as FORMATTED_TEXT_MODELS from './formatted-text/v1/formattedTextModels';
10
+ export * as FORMATTED_TEXT_SCHEMAS from './formatted-text/v1/formattedTextSchemas';
11
+ export * from './formatted-text/v1/resolveFormattedTextNodes';
12
+
13
+ export * as SUB_SCHEMAS from './manifest/v1/subSchemas';
14
+
15
+ export * from './JsonSchemaService';
16
+ export * from './JsonValidationService';
17
+ export * from './errors/SchemaValidationError';
18
+ export * from './errors/JsonResolutionError';
19
+
20
+ export * from './validators/utils/matrixAssetValidator';
21
+
22
+ export * from './jsonTypeResolution/TypeResolver';
23
+ export * from './jsonTypeResolution/TypeResolverBuilder';
24
+ export * from './primitiveTypes';
25
+ export * from './resolvableTypes';
26
+
27
+ export * from './utils/jsonBreakDetector/jsonBreakDetector';
@@ -747,6 +747,76 @@ describe('resolveFormattedNodes', () => {
747
747
  expect(result).toEqual(expectedItem);
748
748
  });
749
749
 
750
+ it('should not join formatted text when shouldJoinFormattedText returns false', async () => {
751
+ const testSchema = {
752
+ type: 'object',
753
+ properties: {
754
+ myProp: { type: 'FormattedText' },
755
+ },
756
+ required: ['myProp'],
757
+ };
758
+ const testItem = {
759
+ myProp: [{ type: 'text', value: 'hello' }],
760
+ };
761
+
762
+ const result = await resolveFormattedTextNodes(testItem, testSchema, testResolverMap, {
763
+ withJoin: '',
764
+ shouldJoinFormattedText: () => false,
765
+ });
766
+
767
+ expect(result).toEqual({
768
+ myProp: [{ type: 'text', value: 'hello' }],
769
+ });
770
+ });
771
+
772
+ it('should use selectResolvers to choose resolvers per formatted text field', async () => {
773
+ const testSchema = {
774
+ type: 'object',
775
+ properties: {
776
+ plainText: { type: 'FormattedText' },
777
+ dynamicText: { type: 'FormattedText' },
778
+ },
779
+ required: ['plainText', 'dynamicText'],
780
+ };
781
+ const testItem = {
782
+ plainText: [{ type: 'text', value: 'plain' }],
783
+ dynamicText: [
784
+ {
785
+ type: 'matrix-image',
786
+ matrixIdentifier: 'matrix-id',
787
+ matrixAssetId: '123',
788
+ matrixDomain: 'https://matrix.example.com',
789
+ },
790
+ ],
791
+ };
792
+ const htmlResolvers = {
793
+ text: async (node: { value: string }) => `html:${node.value}`,
794
+ default: async (node: { type: string }) => `html:${node.type}`,
795
+ };
796
+ const structuredResolvers = {
797
+ 'matrix-image': async (node: { matrixAssetId: string }) => ({
798
+ type: 'text',
799
+ value: `matrix:${node.matrixAssetId}`,
800
+ }),
801
+ };
802
+
803
+ const result = await resolveFormattedTextNodes(
804
+ testItem,
805
+ testSchema,
806
+ htmlResolvers as any,
807
+ {
808
+ withJoin: '',
809
+ selectResolvers: (formattedText: any) =>
810
+ formattedText.some((node: any) => node.type === 'matrix-image') ? structuredResolvers : htmlResolvers,
811
+ } as any,
812
+ );
813
+
814
+ expect(result).toEqual({
815
+ plainText: 'html:plain',
816
+ dynamicText: [{ type: 'text', value: 'matrix:123' }],
817
+ });
818
+ });
819
+
750
820
  it('should resolve a FormattedText value which is an empty array', async () => {
751
821
  const testSchema = {
752
822
  type: 'object',
@@ -1,6 +1,6 @@
1
1
  import JSONQuery from '@sagold/json-query';
2
2
  import { JSONSchema } from '@squiz/json-schema-library';
3
- import { ComponentInputSchema } from '../..';
3
+ import { ComponentInputSchema } from '../../JsonValidationService';
4
4
  import {
5
5
  BaseFormattedNodes,
6
6
  ComponentNode,
@@ -49,14 +49,24 @@ export type FullyResolvedNodesMap = ResolverConfig<FullyResolvedNodes, string>;
49
49
 
50
50
  interface ResolveOptions<O extends ResolutionOutput<FormattedNode>> {
51
51
  withJoin?: string;
52
+ shouldJoinFormattedText?: (formattedText: FormattedText) => boolean;
53
+ selectResolvers?: (
54
+ formattedText: FormattedText,
55
+ resolvers: Partial<ResolverConfig<any, O>>,
56
+ ) => Partial<ResolverConfig<any, O>>;
52
57
  handleError?: (error: unknown, pointer: string) => O | never;
53
58
  }
54
59
 
60
+ export type FormattedTextResolveOptions<O extends ResolutionOutput<FormattedNode> = string> = Pick<
61
+ ResolveOptions<O>,
62
+ 'shouldJoinFormattedText' | 'selectResolvers'
63
+ >;
64
+
55
65
  export async function resolveFormattedTextNodes<O extends ResolutionOutput<FormattedNode>>(
56
66
  contentItem: any,
57
67
  contentSchema: JSONSchema,
58
68
  resolvers: Partial<ResolverConfig<any, O>>,
59
- { withJoin, handleError }: ResolveOptions<O> = {},
69
+ { withJoin, shouldJoinFormattedText, selectResolvers, handleError }: ResolveOptions<O> = {},
60
70
  ) {
61
71
  const resolvedDataSetters: Promise<(newItem: typeof contentItem) => typeof contentItem>[] = [];
62
72
  ComponentInputSchema.each(
@@ -67,7 +77,8 @@ export async function resolveFormattedTextNodes<O extends ResolutionOutput<Forma
67
77
  return;
68
78
  }
69
79
  const formattedText = data as FormattedText;
70
- const textResolvers = formattedText.map((t) => resolveFormattedText(t, resolvers));
80
+ const fieldResolvers = selectResolvers?.(formattedText, resolvers) ?? resolvers;
81
+ const textResolvers = formattedText.map((t) => resolveFormattedText(t, fieldResolvers));
71
82
 
72
83
  const resolvedItem = Promise.all(textResolvers)
73
84
  .catch((error) => {
@@ -78,7 +89,11 @@ export async function resolveFormattedTextNodes<O extends ResolutionOutput<Forma
78
89
  })
79
90
  .then((resolvedData: unknown[]) => (newItem: typeof contentItem) => {
80
91
  let joinedData: string | null = null;
81
- if (resolvedData.every((d): d is string => typeof d === 'string') && typeof withJoin === 'string') {
92
+ const canJoin =
93
+ resolvedData.every((d): d is string => typeof d === 'string') &&
94
+ typeof withJoin === 'string' &&
95
+ (shouldJoinFormattedText?.(formattedText) ?? true);
96
+ if (canJoin) {
82
97
  joinedData = resolvedData.join(withJoin);
83
98
  }
84
99
  return JSONQuery.set(newItem, pointer, joinedData ?? resolvedData);
package/src/index.ts CHANGED
@@ -1,22 +1,6 @@
1
- export * as MANIFEST_MODELS from './manifest/v1/manifestModels';
2
- export * as MANIFEST_SCHEMAS from './manifest/v1/manifestSchemas';
3
-
4
- export * as FORMATTED_TEXT_MODELS from './formatted-text/v1/formattedTextModels';
5
- export * as FORMATTED_TEXT_SCHEMAS from './formatted-text/v1/formattedTextSchemas';
6
- export * from './formatted-text/v1/resolveFormattedTextNodes';
7
-
8
- export * as SUB_SCHEMAS from './manifest/v1/subSchemas';
9
-
10
- export * from './JsonSchemaService';
11
- export * from './JsonValidationService';
12
- export * from './errors/SchemaValidationError';
13
- export * from './errors/JsonResolutionError';
14
-
15
- export * from './validators/utils/matrixAssetValidator';
16
-
17
- export * from './jsonTypeResolution/TypeResolver';
18
- export * from './jsonTypeResolution/TypeResolverBuilder';
19
- export * from './primitiveTypes';
20
- export * from './resolvableTypes';
1
+ // This is split into a browser safe version and a node version
2
+ // The browser version is used in the dxp-component-dev-ui component editing UI
3
+ export * from './browser';
21
4
 
5
+ // Export that need to use node only functionality should be exported below
22
6
  export * from './manifest/userApi/v1';
@@ -1,5 +1,5 @@
1
- import { FORMATTED_TEXT_SCHEMAS } from '..';
2
1
  import { BaseFormattedNodes, FormattedText } from '../formatted-text/v1/formattedText';
2
+ import * as FORMATTED_TEXT_SCHEMAS from '../formatted-text/v1/formattedTextSchemas';
3
3
  import { PrimitiveType } from '../jsonTypeResolution/TypeResolver';
4
4
 
5
5
  export const FormattedTextType = PrimitiveType<FormattedText, 'FormattedText'>({
@@ -0,0 +1,121 @@
1
+ import { compareContainsSubschemas } from '../compareSubschemas';
2
+ import { BREAK_MESSAGES, JsonBreak, pushBreak } from '../types';
3
+ import { JSONSchema } from '@squiz/json-schema-library';
4
+
5
+ /** Recursively detects narrowed array constraints at each schema level, accumulating dotted paths. */
6
+ export function findArrayConstraintNarrowing(
7
+ beforeSchema: JSONSchema,
8
+ afterSchema: JSONSchema,
9
+ path: string,
10
+ breaks: JsonBreak[],
11
+ ): void {
12
+ const beforeProperties = beforeSchema.properties ?? {};
13
+ const afterProperties = afterSchema.properties ?? {};
14
+
15
+ // Recurse into latest nested object properties.
16
+ for (const [key, afterPropertySchema] of Object.entries(afterProperties)) {
17
+ // Skip if the property is not an object.
18
+ if (!afterPropertySchema || typeof afterPropertySchema !== 'object') {
19
+ continue;
20
+ }
21
+
22
+ const beforePropertySchema = beforeProperties[key];
23
+ const childPath = path ? `${path}.${key}` : key;
24
+
25
+ // Only compare array constraints on fields that existed in the before schema. New fields are skipped.
26
+ if (beforePropertySchema && typeof beforePropertySchema === 'object') {
27
+ checkArrayConstraintNarrowing(beforePropertySchema, afterPropertySchema, childPath, breaks);
28
+ findArrayConstraintNarrowing(beforePropertySchema, afterPropertySchema, childPath, breaks);
29
+ }
30
+ }
31
+
32
+ const beforeItems = beforeSchema.items;
33
+ const afterItems = afterSchema.items;
34
+
35
+ // Recurse into latest nested array items.
36
+ if (afterItems && typeof afterItems === 'object' && !Array.isArray(afterItems)) {
37
+ const itemsPath = path ? `${path}[]` : '[]';
38
+ const beforeItemSchema =
39
+ beforeItems && typeof beforeItems === 'object' && !Array.isArray(beforeItems) ? beforeItems : undefined;
40
+
41
+ // Only compare array constraints on items that existed in the before schema. New items are skipped.
42
+ if (beforeItemSchema) {
43
+ checkArrayConstraintNarrowing(beforeItemSchema, afterItems, itemsPath, breaks);
44
+ findArrayConstraintNarrowing(beforeItemSchema, afterItems, itemsPath, breaks);
45
+ }
46
+ }
47
+ }
48
+
49
+ /** Returns true when a schema represents an array field. */
50
+ function isArrayFieldSchema(schema: JSONSchema): boolean {
51
+ const type = schema.type;
52
+ if (type === 'array') {
53
+ return true;
54
+ }
55
+
56
+ // Type can be defined as a union of strings e.g. ['array', 'string'], so check if 'array' is included.
57
+ if (Array.isArray(type) && type.includes('array')) {
58
+ return true;
59
+ }
60
+
61
+ return (
62
+ schema.minItems !== undefined ||
63
+ schema.maxItems !== undefined ||
64
+ schema.uniqueItems !== undefined ||
65
+ schema.contains !== undefined
66
+ );
67
+ }
68
+
69
+ /** Returns true when afterSchema requires more array items than beforeSchema. */
70
+ function hasMinItemsIncreased(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
71
+ const beforeMinItems = beforeSchema.minItems ?? 0;
72
+ const afterMinItems = afterSchema.minItems ?? 0;
73
+ return afterMinItems > beforeMinItems;
74
+ }
75
+
76
+ /** Returns true when afterSchema allows fewer array items than beforeSchema. */
77
+ function hasMaxItemsLowered(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
78
+ const beforeMaxItems = beforeSchema.maxItems;
79
+ const afterMaxItems = afterSchema.maxItems;
80
+
81
+ if (afterMaxItems === undefined) {
82
+ return false;
83
+ }
84
+
85
+ if (beforeMaxItems === undefined) {
86
+ return true;
87
+ }
88
+
89
+ return afterMaxItems < beforeMaxItems;
90
+ }
91
+
92
+ /** Returns true when afterSchema adds a uniqueItems requirement. */
93
+ function hasUniqueItemsAdded(beforeSchema: JSONSchema, afterSchema: JSONSchema): boolean {
94
+ return afterSchema.uniqueItems === true && beforeSchema.uniqueItems !== true;
95
+ }
96
+
97
+ /** Checks array constraint keywords on a single schema for narrowing changes. */
98
+ export function checkArrayConstraintNarrowing(
99
+ beforeSchema: JSONSchema,
100
+ afterSchema: JSONSchema,
101
+ path: string,
102
+ breaks: JsonBreak[],
103
+ ): void {
104
+ if (!isArrayFieldSchema(beforeSchema) && !isArrayFieldSchema(afterSchema)) {
105
+ return;
106
+ }
107
+
108
+ if (hasMinItemsIncreased(beforeSchema, afterSchema)) {
109
+ pushBreak(breaks, path, BREAK_MESSAGES.minItems);
110
+ }
111
+
112
+ if (hasMaxItemsLowered(beforeSchema, afterSchema)) {
113
+ pushBreak(breaks, path, BREAK_MESSAGES.maxItems);
114
+ }
115
+
116
+ if (hasUniqueItemsAdded(beforeSchema, afterSchema)) {
117
+ pushBreak(breaks, path, BREAK_MESSAGES.uniqueItems);
118
+ }
119
+
120
+ compareContainsSubschemas(beforeSchema, afterSchema, path, breaks);
121
+ }