zyzz 0.0.23 → 0.0.25

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 (119) hide show
  1. package/README.md +23 -365
  2. package/dist/Style.d.ts +2 -0
  3. package/dist/Style.d.ts.map +1 -1
  4. package/dist/compiler/Graph.d.ts +3 -0
  5. package/dist/compiler/Graph.d.ts.map +1 -1
  6. package/dist/compiler/Graph.js +38 -2
  7. package/dist/compiler/Graph.js.map +1 -1
  8. package/dist/compiler/Source.d.ts.map +1 -1
  9. package/dist/compiler/Source.js +11 -3
  10. package/dist/compiler/Source.js.map +1 -1
  11. package/dist/compiler/Transform.d.ts +4 -0
  12. package/dist/compiler/Transform.d.ts.map +1 -1
  13. package/dist/compiler/Transform.js +79 -15
  14. package/dist/compiler/Transform.js.map +1 -1
  15. package/dist/compiler/internal/Applications.d.ts +20 -0
  16. package/dist/compiler/internal/Applications.d.ts.map +1 -1
  17. package/dist/compiler/internal/Applications.js +151 -47
  18. package/dist/compiler/internal/Applications.js.map +1 -1
  19. package/dist/compiler/internal/Compositions.d.ts.map +1 -1
  20. package/dist/compiler/internal/Compositions.js +6 -0
  21. package/dist/compiler/internal/Compositions.js.map +1 -1
  22. package/dist/compiler/internal/Configurations.d.ts.map +1 -1
  23. package/dist/compiler/internal/Configurations.js +4 -0
  24. package/dist/compiler/internal/Configurations.js.map +1 -1
  25. package/dist/compiler/internal/Contract.d.ts.map +1 -1
  26. package/dist/compiler/internal/Contract.js +34 -7
  27. package/dist/compiler/internal/Contract.js.map +1 -1
  28. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
  29. package/dist/compiler/internal/PackedStyles.js +7 -0
  30. package/dist/compiler/internal/PackedStyles.js.map +1 -1
  31. package/dist/compiler/internal/Themes.d.ts.map +1 -1
  32. package/dist/compiler/internal/Themes.js +20 -8
  33. package/dist/compiler/internal/Themes.js.map +1 -1
  34. package/dist/internal/Configuration.d.ts +10 -0
  35. package/dist/internal/Configuration.d.ts.map +1 -1
  36. package/dist/internal/Configuration.js +10 -1
  37. package/dist/internal/Configuration.js.map +1 -1
  38. package/dist/internal/Token.d.ts +2 -0
  39. package/dist/internal/Token.d.ts.map +1 -1
  40. package/dist/internal/Token.js.map +1 -1
  41. package/dist/next/internal/Project.d.ts.map +1 -1
  42. package/dist/next/internal/Project.js +30 -25
  43. package/dist/next/internal/Project.js.map +1 -1
  44. package/dist/next/loader.js +2 -1
  45. package/dist/next/loader.js.map +1 -1
  46. package/dist/node/Host.d.ts.map +1 -1
  47. package/dist/node/Host.js +64 -27
  48. package/dist/node/Host.js.map +1 -1
  49. package/dist/node/internal/Contracts.d.ts +22 -0
  50. package/dist/node/internal/Contracts.d.ts.map +1 -0
  51. package/dist/node/internal/Contracts.js +287 -0
  52. package/dist/node/internal/Contracts.js.map +1 -0
  53. package/dist/react-native/internal/Device.js +90 -37
  54. package/dist/react-native/internal/Device.js.map +3 -3
  55. package/dist/react-native/internal/NativeZyzz.js.map +2 -2
  56. package/dist/react-native/internal/Store.d.ts +4 -0
  57. package/dist/react-native/internal/Store.d.ts.map +1 -1
  58. package/dist/react-native/internal/Store.js.map +1 -1
  59. package/dist/react-native/internal/Viewport.d.ts +6 -0
  60. package/dist/react-native/internal/Viewport.d.ts.map +1 -1
  61. package/dist/react-native/internal/Viewport.js +2 -0
  62. package/dist/react-native/internal/Viewport.js.map +1 -1
  63. package/dist/react-native/react.d.ts +5 -2
  64. package/dist/react-native/react.d.ts.map +1 -1
  65. package/dist/react-native/react.js +60 -8
  66. package/dist/react-native/react.js.map +1 -1
  67. package/dist/runtime/NativeContext.d.ts +6 -0
  68. package/dist/runtime/NativeContext.d.ts.map +1 -1
  69. package/dist/runtime/NativeContext.js +62 -9
  70. package/dist/runtime/NativeContext.js.map +1 -1
  71. package/dist/unplugin/index.d.ts.map +1 -1
  72. package/dist/unplugin/index.js +35 -14
  73. package/dist/unplugin/index.js.map +1 -1
  74. package/dist/variants.d.ts +3 -2
  75. package/dist/variants.d.ts.map +1 -1
  76. package/dist/variants.js.map +1 -1
  77. package/dist/vite/index.d.ts.map +1 -1
  78. package/dist/vite/index.js +30 -37
  79. package/dist/vite/index.js.map +1 -1
  80. package/dist/web/Css.d.ts +10 -5
  81. package/dist/web/Css.d.ts.map +1 -1
  82. package/dist/web/Css.js +170 -31
  83. package/dist/web/Css.js.map +1 -1
  84. package/dist/web/internal/ClassName.d.ts +49 -0
  85. package/dist/web/internal/ClassName.d.ts.map +1 -1
  86. package/dist/web/internal/ClassName.js +57 -0
  87. package/dist/web/internal/ClassName.js.map +1 -1
  88. package/native/NativeZyzz.cpp +52 -65
  89. package/native/NativeZyzz.h +0 -4
  90. package/native/ZyzzSpecJSI.h +0 -10
  91. package/native/android/ZyzzSpec-generated.cpp +0 -6
  92. package/package.json +1 -1
  93. package/src/Style.ts +2 -0
  94. package/src/compiler/Graph.ts +42 -2
  95. package/src/compiler/Source.ts +11 -3
  96. package/src/compiler/Transform.ts +130 -29
  97. package/src/compiler/internal/Applications.ts +239 -63
  98. package/src/compiler/internal/Compositions.ts +9 -0
  99. package/src/compiler/internal/Configurations.ts +4 -0
  100. package/src/compiler/internal/Contract.ts +59 -7
  101. package/src/compiler/internal/PackedStyles.ts +9 -0
  102. package/src/compiler/internal/Themes.ts +25 -7
  103. package/src/internal/Configuration.ts +23 -1
  104. package/src/internal/Token.ts +2 -0
  105. package/src/next/internal/Project.ts +28 -23
  106. package/src/next/loader.ts +2 -1
  107. package/src/node/Host.ts +90 -36
  108. package/src/node/internal/Contracts.ts +384 -0
  109. package/src/react-native/internal/Device.ts +129 -48
  110. package/src/react-native/internal/NativeZyzz.ts +4 -6
  111. package/src/react-native/internal/Store.ts +4 -0
  112. package/src/react-native/internal/Viewport.ts +7 -0
  113. package/src/react-native/react.ts +81 -11
  114. package/src/runtime/NativeContext.ts +83 -9
  115. package/src/unplugin/index.ts +39 -14
  116. package/src/variants.ts +3 -2
  117. package/src/vite/index.ts +35 -36
  118. package/src/web/Css.ts +228 -42
  119. package/src/web/internal/ClassName.ts +114 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAIrB,OAAyC;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5E,MAAM,KAAK,GACT,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1D,OAAO,GAAG;QACR,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;KAC3D,CAAA;IACD,IAAI,KAAmD,CAAA;IAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE7C,SAAS,WAAW,CAAC,KAAc;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAE9B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAClD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;IAMzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAoB,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5C,mFAAmF;IACnF,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEpD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1D,IACE,OAAO,IAAI,KAAK;YAChB,KAAK,CAAC,YAAY,CAAC,IAAI,CACrB,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CACvD;YAED,OAAO,KAAK,CAAA;QAEd,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAExB,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAA;IAC3D,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC3D,wEAAwE;IACxE,SAAS,OAAO,CAAC,KAAuB;QACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,YAAY;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5C,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAA;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,KAAK,MAAM,QAAQ,IAAI,UAAU;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;YAChC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;IAEH,SAAS,SAAS,CAAC,QAAgB;QACjC,OAAO,QAAQ,IAAI,OAAO,CAAC,OAAO;YAChC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAwC,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAA;IACd,CAAC;IAED,SAAS,MAAM,CAAC,QAAgB;QAC9B,IACE,MAAM;YACN,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,aAAa;YAE1B,OAAO,KAAK,CAAA;QAEd,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAA;QACvD,IAAI,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAAE,OAAO,sBAAsB,CAAA;QAC1E,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,oBAAoB,CAAA;QAE1E,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YACtE,OAAO,YAAY,CAAA;QAErB,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YAChE,OAAO,SAAS,CAAA;QAElB,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,aAAa,CAAA;QAE5D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAEhD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9D,OAAO,UAAU,CAAA;QAEnB,IAAI,0CAA0C,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,WAAW,CAAA;QACvE,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAEhE,IACE;YACE,YAAY;YACZ,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,cAAc;YACd,eAAe;SAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEpB,OAAO,YAAY,CAAA;QAErB,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,cAAc,CAAA;QAE1E,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IACE,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,eAAe;YAC5B,QAAQ,KAAK,gBAAgB,EAC7B,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC9C,OAAO,oBAAoB,CAAA;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IACE,aAAa;YACb,kDAAkD,CAAC,IAAI,CAAC,QAAQ,CAAC,EACjE,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,SAAS,IAAI,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE3B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAO,GAAG,IAAI,GAAG,EAAU;QACzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAEjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1B,IAAI,OAAO,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAElD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CACpC,QAA2C,CAC5C;gBACC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpC,SAAS,SAAS,CAAC,KAAiC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QAEvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE3D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,kBAAkB,CACzB,KAAiC;QAEjC,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,KAAK,CAAC,IAAI,GAAG,CAAA;QAClD,IAAI,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE3E,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBAClE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAwB,CAAA;IACjC,CAAC;IAED,SAAS,eAAe,CAAC,WAA8B;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC9C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;QAClD,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,MAAM,EAAE,IAAI,GAAG,EAAE;aAClB,CAAA;YACD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACzD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YAC3E,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,MAAM,CAAC,KAAuB;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,YAAY,CAAC,KAAuB;QAC3C,IAAI,KAAK,CAAC,KAAK;YACb,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAE/B,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,CAAA;YAClC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACnD,SAAS,QAAQ,CAAC,QAAgB;QAChC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC/C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wEAAwE;IACxE,gFAAgF;IAChF,uFAAuF;IACvF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC,CAAA;IAE/D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAA;QAEH,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;YACtE,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;YAChC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC7B,GAAG,CAAC,GAAG,CACL,GAAG,EACH,QAAQ,KAAK,KAAK;oBAChB,KAAK,CAAC,KAAK;oBACX,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;oBACnD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,CAAC,IAAI,CACf,CAAA;YACH,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IACjD,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;QACvD,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sCAAsC;gBAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF,CAAC,CAAA;IAEJ,SAAS,UAAU,CAAC,KAAuB;QACzC,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAG/C,CAAA;IACf,CAAC;IAED,SAAS,eAAe,CAAC,KAAuB;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC;YAChE,EAAE,KAA8C,CAAA;QAElD,OAAO,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,SAAS,CAAA;IACjD,CAAC;IAED,sEAAsE;IACtE,SAAS,QAAQ,CAAC,KAAuB;QACvC,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IACzE,CAAC;IAQD,2EAA2E;IAC3E,kEAAkE;IAClE,SAAS,OAAO,CACd,KAAuB,EACvB,UAAU,GAAsB,EAAE;QAElC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAErD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GAAW,EAAE,CAAA;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBAEzD,MAAM,MAAM,GAAG,OAAO,CACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC1B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CACpC,CAAA;gBACD,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAE7B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,KAAK,GAAW,EAAE,CAAA;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAI,CAAC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,CAAA;YACpD,IAAI,KAAK,GAAG,EAAE,CAAA;YACd,sEAAsE;YACtE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAA;gBAChD,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YACnH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,QAAQ,CAAC,KAAsB;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;gBACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,SAAS,cAAc,CAAC,KAAuB;QAC7C,OAAO;YACL,UAAU,CAAC,KAAK,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvD,CAAA;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,KAAuB;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAC/D,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,sCAAsC;oBAC/C,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;iBAChC;aACF,CAAC,CAAA;QACJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC5D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QACvC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,CAAC;IAEH,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAA;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAA;IACtD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0C,CAAA;QAE9D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAE7B,MAAM,KAAK,GACT,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,QAAQ;gBAC/C,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;gBACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC,SAAS,CAAA;YACf,0DAA0D;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAClD,CAAA;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACjC,IAAI,QAAQ,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;oBACvC,SAAQ;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAA;gBAC1D,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAA;QAC7C,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAClE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;gBAC7C,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,8CAA8C;oBACvD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YACJ,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;YACjC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,WAAW,GACf,QAAQ,KAAK,SAAS,IAAI,WAAW;YACnC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC,UAAU,CAAE,CAAC,EAAE;YAC/G,CAAC,CAAC,SAAS,CAAA;QACf,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAA;YACpD,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAa,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChE,MAAM,YAAY,GAChB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS;YAC/B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;YACvD,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAC1C,CAAC;QAED,SAAS,IAAI,CACX,IAAY,EACZ,KAAa,EACb,MAAe,EACf,MAAM,GAAG,IAAI,EACb,WAA6B;YAE7B,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA;YAE3B,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS;gBACtB,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAA;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtE,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACpB,OAAO,QAAQ,CAAA;YACjB,CAAC;YAED,IAAI,QAAQ;gBAAE,MAAM,GAAG,KAAK,CAAA;YAE5B,sFAAsF;YACtF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;gBACrB,IAAI,QAAQ,KAAK,SAAS;oBACxB,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;gBACvD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;gBAC1F,CAAC;gBACD,OAAO,SAAS,CAAC,MAAM,CAAC;oBACtB,IAAI;oBACJ,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBACtC,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjC,CAAC,CAAA;YACJ,CAAC,CAAC,EAAE,CAAA;YACJ,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACpE,IACE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBACrD,CAAC,KAAK,KAAK,SAAS;oBAClB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACxB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;gBAErC,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EACL,sEAAsE;oBACxE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YAEJ,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACzB,IACE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACzC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CACvC;gBAED,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;iBACxD,CAAC;gBACJ,IAAI,QAAQ;oBAAE,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,SAAS,KAAK,CACZ,KAAuB,EACvB,UAAU,GAAsB,EAAE;YAElC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,KAAK,CAAC,CACd,CAAA;gBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBACrC,OAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACxC,gEAAgE;wBAChE,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CACtD,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CAAA;wBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;wBAC1B,SAAQ;oBACV,CAAC;oBACD,KAAK,CACH,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,KAAK,SAAS;wBAC1B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CACpC,CAAA;gBACH,CAAC;gBACD,OAAM;YACR,CAAC;YAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAI,CAAC;gBACxD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAA;gBAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC5B,sEAAsE;gBACtE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ;oBACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAC,CAAA;gBAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC/C,MAAM,MAAM,GACV,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACjE,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,MAAM,QAAQ,IAAI,MAAM;wBAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACrD,SAAQ;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM;qBACjB,GAAG,CACF,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CACnF;qBACA,IAAI,CAAC,EAAE,CAAC,CAAA;gBACX,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,KAAK,CACN,CAAA;gBACD,MAAM,MAAM,GACV,CAAC,iBAAiB;oBAClB,CAAC,UAAU,CAAC,MAAM;oBAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;oBAClD,UAAU;oBACV,KAAK;iBACN,CAAC,CAAA;gBACF,IAAI,QAAQ,KAAK,SAAS;oBAAE,SAAQ;gBAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAA;gBACpE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAC/D,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,SAAS,KAAK,CAAC,KAAuB;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;YAE/B,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,mFAAmF;gBACnF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,KAAK,MAAM,IAAI,IAAI,MAAM;wBACvB,IAAI,CACF,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,IAAI,CAAC,KAAK,CACX,EACD,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAA;oBACH,SAAQ;gBACV,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;gBAC/C,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;oBACrD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EACL,sEAAsE;wBACxE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBACnB,CAAC,CAAA;gBAEJ,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAwB,EAAE,CAAA;gBACtC,MAAM,KAAK,GAAwB,EAAE,CAAA;gBACrC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAC1C,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,KAAK;wBACZ,WAAW;wBACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;wBACzB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;;wBACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;oBAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC3D,CAAC;;oBAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW;gBAAE,KAAK,CAAC,KAAK,CAAC,CAAA;;gBACzD,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,WAAW,KAAK,SAAS;YAC3B,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,WAAW,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,CAAA;IAE3D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,MAAqD,CAAA;IAEzD,IAAI,CAAC;QACH,MAAM;YACJ,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO;gBACtC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9B,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,OAAO,IAAI,KAAK,EACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACvB;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,GAAG;QACV,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;YAC1B,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAA;YACtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9C,IACE,CAAC,WAAW;gBACZ,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBACzB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1C;gBAED,OAAO,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAA;YAE/B,yFAAyF;YACzF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7D,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAC1B,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU;iBAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACjD,WAAW,CACV,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,WAAW,CAAC,KAAK,CAClB,CAAA;YACH,OAAO,UAAU,CAAC,WAAW,CAC3B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,GAAG,QAAQ,IAAI,MAAM,GAAG,CACzB,CAAA;QACH,CAAC,CAAC;KACH;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI;QAC7B,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;YAC/B,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;gBACpH,IAAI,CAAC,KAAK;aACX,CAAC,CACH;SACF,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,OAA8C;KAC5D,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAuED,8EAA8E;AAC9E,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,8EAA8E;IAC9E,YAAY,WAAkC;QAC5C,KAAK,CACH,WAAW;aACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,IAAI;YACP,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IACD,wDAAwD;IAC/C,WAAW,CAAuB;IAC3C,0CAA0C;IACjC,IAAI,GAAG,kBAAkB,CAAA;CACnC;AAiBD,sEAAsE;AACtE,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,KAAK,CAAC,OAAO,CAClB,gBAAgB,EAChB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAC3D,CAAA;AACH,CAAC"}
@@ -20,6 +20,55 @@ export declare namespace create {
20
20
  export declare function selector(value: string): string;
21
21
  /** Carries exact emitted rule bodies for graph-wide collision checks. */
22
22
  export declare const rules: unique symbol;
23
+ /** Carries a compilation's unit naming scope in, and its naming decisions out. */
24
+ export declare const units: unique symbol;
25
+ /**
26
+ * Marks a graph compiled once with every module, whose stylesheets load together.
27
+ * Only its modules may reuse names that unrelated modules introduce.
28
+ */
29
+ export declare const complete: unique symbol;
30
+ /** One compilation's unit names. */
31
+ export type Units = {
32
+ /** Names a declaration unit, reusing a visible earlier name for an equal body. */
33
+ readonly name: (body: string, namespace: string | undefined) => string;
34
+ /** Names chosen so far, keyed by namespace and body, and whether each was reused. */
35
+ readonly used: ReadonlyMap<string, Decision>;
36
+ };
37
+ /** A naming decision recorded so cached output can be validated against a later build. */
38
+ export type Decision = {
39
+ /** Whether the name was introduced by an earlier compilation. */
40
+ readonly borrowed: boolean;
41
+ /** Emitted class name. */
42
+ readonly name: string;
43
+ };
44
+ /** Shares unit names across the compilations of one graph. */
45
+ export declare function registry(): registry.ReturnType;
46
+ /** Graph-wide unit naming contracts. */
47
+ export declare namespace registry {
48
+ /** Visibility and identity of one compilation in the shared name table. */
49
+ type Options = {
50
+ /** Compilation identity recorded on the names it introduces. */
51
+ readonly owner: string;
52
+ /** Limits reuse to names introduced by these owners. Defaults to every owner. */
53
+ readonly visible?: ((owner: string) => boolean) | undefined;
54
+ };
55
+ /** Creates per-compilation naming scopes over one shared name table. */
56
+ type ReturnType = {
57
+ /**
58
+ * Registers a cached compilation's names. Returns false, registering nothing,
59
+ * when compiling it now would choose different names.
60
+ */
61
+ readonly restore: (options: Options & {
62
+ /** Decisions recorded by the cached compilation. */
63
+ readonly used: ReadonlyMap<string, Decision>;
64
+ }) => boolean;
65
+ /** Names units for one compilation, whose qualifier keeps new names distinct. */
66
+ readonly scope: (options: Options & {
67
+ /** Fixed prefix distinguishing this compilation's new names. */
68
+ readonly qualifier: string;
69
+ }) => Units;
70
+ };
71
+ }
23
72
  /** Carries authored names between source extraction and CSS emission. */
24
73
  export declare const labels: unique symbol;
25
74
  /** Authored names retained on extracted style data. */
@@ -1 +1 @@
1
- {"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
1
+ {"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,kFAAkF;AAClF,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,QAAQ,eAA8B,CAAA;AAEnD,oCAAoC;AACpC,MAAM,MAAM,KAAK,GAAG;IAClB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAA;IACtE,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG;IACrB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAsD9C;AAED,wCAAwC;AACxC,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,2EAA2E;IAC3E,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,iFAAiF;QACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;KAC5D,CAAA;IAED,wEAAwE;IACxE,KAAK,UAAU,GAAG;QAChB;;;WAGG;QACH,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,OAAO,GAAG;YACjB,oDAAoD;YACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;SAC7C,KACE,OAAO,CAAA;QACZ,iFAAiF;QACjF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,GAAG;YACjB,gEAAgE;YAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;SAC3B,KACE,KAAK,CAAA;KACX,CAAA;CACF;AAED,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
@@ -59,6 +59,63 @@ export function selector(value) {
59
59
  }
60
60
  /** Carries exact emitted rule bodies for graph-wide collision checks. */
61
61
  export const rules = Symbol('zyzz.css.rules');
62
+ /** Carries a compilation's unit naming scope in, and its naming decisions out. */
63
+ export const units = Symbol('zyzz.css.units');
64
+ /**
65
+ * Marks a graph compiled once with every module, whose stylesheets load together.
66
+ * Only its modules may reuse names that unrelated modules introduce.
67
+ */
68
+ export const complete = Symbol('zyzz.css.complete');
69
+ /** Shares unit names across the compilations of one graph. */
70
+ export function registry() {
71
+ const names = new Map();
72
+ // A borrowed name stays tied to its first owner, so later modules can resolve it.
73
+ function borrow(key, visible) {
74
+ const previous = names.get(key);
75
+ if (previous && (visible?.(previous.owner) ?? true))
76
+ return previous.name;
77
+ return undefined;
78
+ }
79
+ return {
80
+ restore(options) {
81
+ for (const [key, decision] of options.used) {
82
+ const name = borrow(key, options.visible);
83
+ if ((name !== undefined) !== decision.borrowed)
84
+ return false;
85
+ if (name !== undefined && name !== decision.name)
86
+ return false;
87
+ }
88
+ for (const [key, decision] of options.used)
89
+ if (!names.has(key))
90
+ names.set(key, { name: decision.name, owner: options.owner });
91
+ return true;
92
+ },
93
+ scope(options) {
94
+ const local = new Map();
95
+ const used = new Map();
96
+ return {
97
+ name(body, namespace) {
98
+ const key = `${namespace ?? ''}\n${body}`;
99
+ // Every distinct body consumes a slot, so own names never depend on reuse.
100
+ let index = local.get(key);
101
+ if (index === undefined) {
102
+ index = local.size;
103
+ local.set(key, index);
104
+ }
105
+ const borrowed = borrow(key, options.visible);
106
+ // The underscore keeps unit names apart from readable names and anonymous scopes.
107
+ const name = borrowed ??
108
+ `z_${namespace ? `${namespace}-` : ''}${options.qualifier}${index.toString(36)}`;
109
+ if (!names.has(key))
110
+ names.set(key, { name, owner: options.owner });
111
+ used.set(key, { borrowed: borrowed !== undefined, name });
112
+ return name;
113
+ },
114
+ used,
115
+ };
116
+ },
117
+ };
118
+ }
62
119
  /** Carries authored names between source extraction and CSS emission. */
63
120
  export const labels = Symbol('zyzz.css.labels');
64
121
  //# sourceMappingURL=ClassName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassName.js","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClassName.js","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /** Applies scoped style changes and preserves them through Fabric commits. */
2
2
  #include "NativeZyzz.h"
3
3
  #include <functional>
4
+ #include <optional>
4
5
  #include <unordered_set>
5
6
  #include <jsi/JSIDynamic.h>
6
7
  #include <react/renderer/bridging/bridging.h>
7
8
  #include <react/renderer/core/PropsParserContext.h>
8
9
  #include <react/renderer/mounting/ShadowTree.h>
9
- #include <react/renderer/mounting/ShadowTreeRegistry.h>
10
10
 
11
11
  namespace facebook::react {
12
12
 
@@ -19,53 +19,11 @@ NativeZyzz::~NativeZyzz() {
19
19
  if (manager_) manager_->unregisterCommitHook(*this);
20
20
  }
21
21
 
22
- double NativeZyzz::attach(jsi::Runtime &runtime, jsi::Object node, jsi::Object props) {
23
- auto shadowNode = Bridging<std::shared_ptr<const ShadowNode>>::fromJs(
24
- runtime, jsi::Value(runtime, node));
25
- auto values = jsi::dynamicFromValue(runtime, jsi::Value(runtime, props));
26
- if (!values.isObject()) throw jsi::JSError(runtime, "Native styles must be an object.");
27
-
28
- if (!binding_) {
29
- binding_ = UIManagerBinding::getBinding(runtime);
30
- if (!binding_) throw jsi::JSError(runtime, "Zyzz requires Fabric.");
31
- manager_ = &binding_->getUIManager();
32
- manager_->registerCommitHook(*this);
33
- }
34
-
35
- double id;
36
- {
37
- std::lock_guard<std::mutex> lock(mutex_);
38
- id = ++nextId_;
39
- entries_.emplace(id, Entry{shadowNode->getFamilyShared(), values, values,
40
- folly::dynamic::object(), shadowNode->getProps(), nullptr});
41
- }
42
- // A React commit can restore its earlier rendered props before the ref relinks.
43
- write({{shadowNode->getTag(), std::move(values)}});
44
- return id;
45
- }
46
-
47
22
  void NativeZyzz::detach(jsi::Runtime &, double id) {
48
- std::shared_ptr<ShadowNodeFamily> family;
49
- Props::Shared authored;
50
- {
51
- std::lock_guard<std::mutex> lock(mutex_);
52
- const auto entry = entries_.find(id);
53
- if (entry == entries_.end()) return;
54
- if (!entry->second.overlay.empty()) {
55
- family = entry->second.family.lock();
56
- authored = entry->second.authored;
57
- }
58
- entries_.erase(entry);
59
- }
60
- if (!family || !authored) return;
61
- // The React commit has already passed through the overlay hook when an old
62
- // ref is detached. Restore that commit's authored props, not the old style.
63
- manager_->getShadowTreeRegistry().visit(family->getSurfaceId(), [&](const ShadowTree &tree) {
64
- tree.commit([&](const RootShadowNode &root) {
65
- return std::static_pointer_cast<RootShadowNode>(root.cloneTree(*family,
66
- [&](const ShadowNode &node) { return node.clone({.props = authored}); }));
67
- }, {.mountSynchronously = true});
68
- });
23
+ // React detaches refs before completing the root in the same commit, so its
24
+ // own props replace the overlay without a separate restoring commit.
25
+ std::lock_guard<std::mutex> lock(mutex_);
26
+ entries_.erase(id);
69
27
  }
70
28
 
71
29
  jsi::Object NativeZyzz::inspect(jsi::Runtime &runtime) {
@@ -78,18 +36,55 @@ jsi::Object NativeZyzz::inspect(jsi::Runtime &runtime) {
78
36
  }
79
37
 
80
38
  void NativeZyzz::update(jsi::Runtime &runtime, std::vector<jsi::Object> updates) {
81
- std::vector<std::pair<double, folly::dynamic>> selections;
39
+ struct Selection {
40
+ double id;
41
+ folly::dynamic props;
42
+ ShadowNodeFamily::Shared family;
43
+ folly::dynamic rendered;
44
+ };
45
+ struct Converted {
46
+ std::optional<jsi::Object> source;
47
+ folly::dynamic value;
48
+ };
49
+ // Views sharing a compiled style pass the same object, so reuse its last conversion.
50
+ Converted props, rendered;
51
+ const auto read = [&](const jsi::Object &update, const char *name, Converted &cache) {
52
+ auto value = update.getProperty(runtime, name);
53
+ if (!value.isObject()) throw jsi::JSError(runtime, "Native styles must be an object.");
54
+ auto object = value.asObject(runtime);
55
+ if (!cache.source || !jsi::Object::strictEquals(runtime, *cache.source, object)) {
56
+ cache.value = jsi::dynamicFromValue(runtime, value);
57
+ cache.source = std::move(object);
58
+ }
59
+ return cache.value;
60
+ };
61
+
62
+ std::vector<Selection> selections;
63
+ selections.reserve(updates.size());
82
64
  for (const auto &update : updates) {
83
- auto id = update.getProperty(runtime, "id").asNumber();
84
- auto props = jsi::dynamicFromValue(runtime, update.getProperty(runtime, "props"));
85
- if (!props.isObject()) throw jsi::JSError(runtime, "Native styles must be an object.");
86
- selections.emplace_back(id, std::move(props));
65
+ Selection selection{update.getProperty(runtime, "id").asNumber(),
66
+ read(update, "props", props), nullptr, nullptr};
67
+ // A first update binds its mounted node to the style React rendered.
68
+ if (update.hasProperty(runtime, "node")) {
69
+ if (!binding_) {
70
+ binding_ = UIManagerBinding::getBinding(runtime);
71
+ if (!binding_) throw jsi::JSError(runtime, "Zyzz requires Fabric.");
72
+ manager_ = &binding_->getUIManager();
73
+ manager_->registerCommitHook(*this);
74
+ }
75
+ selection.family = Bridging<std::shared_ptr<const ShadowNode>>::fromJs(
76
+ runtime, update.getProperty(runtime, "node"))->getFamilyShared();
77
+ selection.rendered = read(update, "rendered", rendered);
78
+ }
79
+ selections.push_back(std::move(selection));
87
80
  }
88
81
 
89
82
  std::unordered_map<Tag, folly::dynamic> patches;
90
83
  {
91
84
  std::lock_guard<std::mutex> lock(mutex_);
92
- for (auto &[id, selected] : selections) {
85
+ for (auto &[id, selected, bound, initial] : selections) {
86
+ if (bound)
87
+ entries_.try_emplace(id, Entry{bound, initial, initial, folly::dynamic::object()});
93
88
  auto entry = entries_.find(id);
94
89
  if (entry == entries_.end()) continue;
95
90
  auto family = entry->second.family.lock();
@@ -140,10 +135,12 @@ std::shared_ptr<RootShadowNode> NativeZyzz::shadowTreeWillCommit(
140
135
  const ShadowTree &tree,
141
136
  const std::shared_ptr<const RootShadowNode> &,
142
137
  const std::shared_ptr<RootShadowNode> &next) noexcept {
138
+ // Our own patch commit already carries every selection, and other overlays
139
+ // persist from the committed tree it clones.
140
+ if (writing_ == this) return next;
143
141
  struct Overlay {
144
142
  std::shared_ptr<ShadowNodeFamily> family;
145
143
  folly::dynamic props;
146
- double id;
147
144
  };
148
145
  std::unordered_map<const ShadowNodeFamily *, Overlay> overlays;
149
146
  {
@@ -156,7 +153,7 @@ std::shared_ptr<RootShadowNode> NativeZyzz::shadowTreeWillCommit(
156
153
  }
157
154
  if (family->getSurfaceId() == tree.getSurfaceId() &&
158
155
  !entry->second.overlay.empty())
159
- overlays.emplace(family.get(), Overlay{family, entry->second.overlay, entry->first});
156
+ overlays.emplace(family.get(), Overlay{family, entry->second.overlay});
160
157
  ++entry;
161
158
  }
162
159
  }
@@ -193,16 +190,6 @@ std::shared_ptr<RootShadowNode> NativeZyzz::shadowTreeWillCommit(
193
190
  ? node->getProps()
194
191
  : node->getComponentDescriptor().cloneProps(
195
192
  context, node->getProps(), RawProps(overlay->second.props));
196
- if (overlay != overlays.end()) {
197
- std::lock_guard<std::mutex> lock(mutex_);
198
- const auto entry = entries_.find(overlay->second.id);
199
- if (entry != entries_.end()) {
200
- // Skip our own native patches and nodes reused from an earlier overlay.
201
- if (writing_ != this && node->getProps() != entry->second.applied)
202
- entry->second.authored = node->getProps();
203
- entry->second.applied = props;
204
- }
205
- }
206
193
  return std::shared_ptr<const ShadowNode>(node->clone({
207
194
  .props = props,
208
195
  .children = children ? children : ShadowNodeFragment::childrenPlaceholder(),
@@ -15,7 +15,6 @@ class NativeZyzz : public NativeZyzzCxxSpec<NativeZyzz>, public UIManagerCommitH
15
15
  explicit NativeZyzz(std::shared_ptr<CallInvoker> invoker);
16
16
  ~NativeZyzz() override;
17
17
 
18
- double attach(jsi::Runtime &runtime, jsi::Object node, jsi::Object props);
19
18
  void detach(jsi::Runtime &runtime, double id);
20
19
  jsi::Object inspect(jsi::Runtime &runtime);
21
20
  void update(jsi::Runtime &runtime, std::vector<jsi::Object> updates);
@@ -33,8 +32,6 @@ class NativeZyzz : public NativeZyzzCxxSpec<NativeZyzz>, public UIManagerCommitH
33
32
  folly::dynamic rendered;
34
33
  folly::dynamic selected;
35
34
  folly::dynamic overlay;
36
- Props::Shared authored;
37
- Props::Shared applied;
38
35
  };
39
36
 
40
37
  void write(std::unordered_map<Tag, folly::dynamic> patches);
@@ -44,7 +41,6 @@ class NativeZyzz : public NativeZyzzCxxSpec<NativeZyzz>, public UIManagerCommitH
44
41
  UIManager *manager_ = nullptr;
45
42
  std::unordered_map<double, Entry> entries_;
46
43
  std::mutex mutex_;
47
- double nextId_ = 0;
48
44
  double batches_ = 0;
49
45
  double writes_ = 0;
50
46
  };
@@ -22,22 +22,12 @@ public:
22
22
 
23
23
  protected:
24
24
  NativeZyzzCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeZyzzCxxSpec::kModuleName}, jsInvoker) {
25
- methodMap_["attach"] = MethodMetadata {.argCount = 2, .invoker = __attach};
26
25
  methodMap_["detach"] = MethodMetadata {.argCount = 1, .invoker = __detach};
27
26
  methodMap_["inspect"] = MethodMetadata {.argCount = 0, .invoker = __inspect};
28
27
  methodMap_["update"] = MethodMetadata {.argCount = 1, .invoker = __update};
29
28
  }
30
29
 
31
30
  private:
32
- static jsi::Value __attach(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
33
- static_assert(
34
- bridging::getParameterCount(&T::attach) == 3,
35
- "Expected attach(...) to have 3 parameters");
36
- return bridging::callFromJs<double>(rt, &T::attach, static_cast<NativeZyzzCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
37
- count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt),
38
- count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt));
39
- }
40
-
41
31
  static jsi::Value __detach(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
42
32
  static_assert(
43
33
  bridging::getParameterCount(&T::detach) == 2,
@@ -12,11 +12,6 @@
12
12
 
13
13
  namespace facebook::react {
14
14
 
15
- static facebook::jsi::Value __hostFunction_NativeZyzzSpecJSI_attach(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
16
- static jmethodID cachedMethodId = nullptr;
17
- return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, NumberKind, "attach", "(Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/ReadableMap;)D", args, count, cachedMethodId);
18
- }
19
-
20
15
  static facebook::jsi::Value __hostFunction_NativeZyzzSpecJSI_detach(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
21
16
  static jmethodID cachedMethodId = nullptr;
22
17
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "detach", "(D)V", args, count, cachedMethodId);
@@ -34,7 +29,6 @@ static facebook::jsi::Value __hostFunction_NativeZyzzSpecJSI_update(facebook::js
34
29
 
35
30
  NativeZyzzSpecJSI::NativeZyzzSpecJSI(const JavaTurboModule::InitParams &params)
36
31
  : JavaTurboModule(params) {
37
- methodMap_["attach"] = MethodMetadata {2, __hostFunction_NativeZyzzSpecJSI_attach};
38
32
  methodMap_["detach"] = MethodMetadata {1, __hostFunction_NativeZyzzSpecJSI_detach};
39
33
  methodMap_["inspect"] = MethodMetadata {0, __hostFunction_NativeZyzzSpecJSI_inspect};
40
34
  methodMap_["update"] = MethodMetadata {1, __hostFunction_NativeZyzzSpecJSI_update};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "license": "MIT",
5
5
  "description": "Modern, universal, simple styling library for the Web and React Native",
6
6
  "repository": {
package/src/Style.ts CHANGED
@@ -842,6 +842,8 @@ export type LiteralDeclarations = {
842
842
 
843
843
  /** A named group of ordered declarations. */
844
844
  export type NamedStyle<name extends string = string> = {
845
+ /** Compiler-owned composition mode inherited from the defining configuration. */
846
+ readonly composition?: 'independent' | 'ordered' | undefined
845
847
  /** Compiler-owned web mode inherited from the defining configuration. */
846
848
  readonly cssOutput?: 'atomic' | 'grouped' | undefined
847
849
  /** Ordered nested blocks, when this style contains conditions. */
@@ -46,6 +46,8 @@ export declare namespace compile {
46
46
  readonly [ThemeRules.shared]?: 'all' | 'defaults' | undefined
47
47
  /** Host entrypoints emit owned stylesheet effects without packed contracts. */
48
48
  readonly [Stylesheets.entry]?: string | undefined
49
+ /** Lets modules reuse shared rule names from unrelated modules of this one graph. */
50
+ readonly [ClassName.complete]?: boolean | undefined
49
51
  /** Host syntax from the same immutable source snapshot. */
50
52
  readonly [Syntax.cache]?:
51
53
  | ReadonlyMap<string, Parser.ParseResult>
@@ -1682,6 +1684,37 @@ function build(options: compile.Options, cache?: Cache): Cache {
1682
1684
  )
1683
1685
 
1684
1686
  const ownerSignature = JSON.stringify(owners)
1687
+ const units = ClassName.registry()
1688
+ const closures = new Map<string, ReadonlySet<string>>()
1689
+
1690
+ function closure(moduleId: string): ReadonlySet<string> {
1691
+ const cached = closures.get(moduleId)
1692
+ if (cached) return cached
1693
+
1694
+ const result = new Set<string>()
1695
+ closures.set(moduleId, result)
1696
+ for (const dependency of dependencies[moduleId] ?? []) {
1697
+ result.add(dependency)
1698
+ for (const nested of closure(dependency)) result.add(nested)
1699
+ }
1700
+
1701
+ return result
1702
+ }
1703
+
1704
+ // Hosts that compile a module within several graphs must name it the same in
1705
+ // each, so it may reuse only names its dependencies introduce.
1706
+ function visible(moduleId: string) {
1707
+ if (options[ClassName.complete]) return undefined
1708
+ return (owner: string) => closure(moduleId).has(owner)
1709
+ }
1710
+
1711
+ function restore(moduleId: string, output: Transform.compile.ReturnType) {
1712
+ return units.restore({
1713
+ owner: moduleId,
1714
+ used: output[ClassName.units] ?? new Map(),
1715
+ visible: visible(moduleId),
1716
+ })
1717
+ }
1685
1718
 
1686
1719
  // Extraction visits dependencies first; their emitted classes must precede consumers.
1687
1720
  for (const moduleId of extracted.keys()) {
@@ -1695,14 +1728,21 @@ function build(options: compile.Options, cache?: Cache): Cache {
1695
1728
  Object.entries(cached.classes).every(
1696
1729
  ([name, value]) => styleClasses[name] === value,
1697
1730
  ) &&
1698
- cached.owners === ownerSignature
1731
+ cached.owners === ownerSignature &&
1732
+ restore(moduleId, cached.output)
1699
1733
  modules[moduleId] = reusable
1700
1734
  ? cached.output
1701
1735
  : sameThemes &&
1702
1736
  previous!.schemes === schemes &&
1703
- extracted.get(moduleId) === previous!.extracted.get(moduleId)
1737
+ extracted.get(moduleId) === previous!.extracted.get(moduleId) &&
1738
+ restore(moduleId, previous!.result.modules[moduleId]!)
1704
1739
  ? previous!.result.modules[moduleId]!
1705
1740
  : Transform.compile({
1741
+ [ClassName.units]: units.scope({
1742
+ owner: moduleId,
1743
+ qualifier: Identity.compact(moduleId).slice(-6),
1744
+ visible: visible(moduleId),
1745
+ }),
1706
1746
  [ThemeRules.shared]:
1707
1747
  options[Stylesheets.entry] === undefined
1708
1748
  ? (options[ThemeRules.shared] ?? 'defaults')
@@ -1291,11 +1291,19 @@ export function extract(options: extract.Options): extract.ReturnType {
1291
1291
 
1292
1292
  if (diagnostics.length !== before) continue
1293
1293
 
1294
- const cssOutput = themes?.styles.get(call.start)?.theme[Token.definition]
1295
- .contract.cssOutput
1294
+ const contract = themes?.styles.get(call.start)?.theme[Token.definition]
1295
+ .contract
1296
+ const composition = contract?.composition
1297
+ const cssOutput = contract?.cssOutput
1296
1298
  styles.push(
1297
1299
  ...definition.styles.map((style) =>
1298
- cssOutput ? Object.freeze({ ...style, cssOutput }) : style,
1300
+ composition || cssOutput
1301
+ ? Object.freeze({
1302
+ ...style,
1303
+ ...(composition ? { composition } : {}),
1304
+ ...(cssOutput ? { cssOutput } : {}),
1305
+ })
1306
+ : style,
1299
1307
  ),
1300
1308
  )
1301
1309