paperlint 5.0.0 → 6.0.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 (147) hide show
  1. package/CLAUDE.md +13 -0
  2. package/CONTRIBUTING.md +3 -0
  3. package/README.md +8 -8
  4. package/bin/paperlint.mjs +5 -1
  5. package/dist/adapters/latex/index.d.ts +1 -0
  6. package/dist/adapters/latex/index.d.ts.map +1 -1
  7. package/dist/adapters/latex/index.js +3 -0
  8. package/dist/adapters/latex/index.js.map +1 -1
  9. package/dist/adapters/latex/layout.d.ts +27 -0
  10. package/dist/adapters/latex/layout.d.ts.map +1 -0
  11. package/dist/adapters/latex/layout.js +62 -0
  12. package/dist/adapters/latex/layout.js.map +1 -0
  13. package/dist/adapters/latex/nodes.d.ts.map +1 -1
  14. package/dist/adapters/latex/nodes.js +11 -1
  15. package/dist/adapters/latex/nodes.js.map +1 -1
  16. package/dist/adapters/latex/parse.d.ts.map +1 -1
  17. package/dist/adapters/latex/parse.js +5 -1
  18. package/dist/adapters/latex/parse.js.map +1 -1
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +25 -5
  21. package/dist/cli.js.map +1 -1
  22. package/dist/domain/anonymity.d.ts +68 -0
  23. package/dist/domain/anonymity.d.ts.map +1 -0
  24. package/dist/domain/anonymity.js +94 -0
  25. package/dist/domain/anonymity.js.map +1 -0
  26. package/dist/domain/body-pages.d.ts +69 -0
  27. package/dist/domain/body-pages.d.ts.map +1 -0
  28. package/dist/domain/body-pages.js +141 -0
  29. package/dist/domain/body-pages.js.map +1 -0
  30. package/dist/domain/tex-document.d.ts +9 -0
  31. package/dist/domain/tex-document.d.ts.map +1 -1
  32. package/dist/eslint-rules/pdf-last-page-balance.d.ts +1 -1
  33. package/dist/eslint-rules/pdf-last-page-balance.js +2 -2
  34. package/dist/facts-file.d.ts +28 -2
  35. package/dist/facts-file.d.ts.map +1 -1
  36. package/dist/facts-file.js +54 -9
  37. package/dist/facts-file.js.map +1 -1
  38. package/dist/lib/paper-config.d.ts.map +1 -1
  39. package/dist/lib/paper-config.js +2 -1
  40. package/dist/lib/paper-config.js.map +1 -1
  41. package/dist/paper-settings.d.ts +11 -0
  42. package/dist/paper-settings.d.ts.map +1 -1
  43. package/dist/paper-settings.js +38 -4
  44. package/dist/paper-settings.js.map +1 -1
  45. package/dist/pdf-content.d.ts +40 -0
  46. package/dist/pdf-content.d.ts.map +1 -0
  47. package/dist/pdf-content.js +97 -0
  48. package/dist/pdf-content.js.map +1 -0
  49. package/dist/pdf-facts.d.ts +30 -0
  50. package/dist/pdf-facts.d.ts.map +1 -1
  51. package/dist/pdf-facts.js +37 -1
  52. package/dist/pdf-facts.js.map +1 -1
  53. package/dist/ports/latex.d.ts +3 -1
  54. package/dist/ports/latex.d.ts.map +1 -1
  55. package/dist/presets.d.ts +2 -0
  56. package/dist/presets.d.ts.map +1 -1
  57. package/dist/presets.js +4 -0
  58. package/dist/presets.js.map +1 -1
  59. package/dist/tex-requirements.d.ts +4 -0
  60. package/dist/tex-requirements.d.ts.map +1 -1
  61. package/dist/tex-requirements.js +3 -0
  62. package/dist/tex-requirements.js.map +1 -1
  63. package/dist/tex-venue-rules.d.ts +7 -1
  64. package/dist/tex-venue-rules.d.ts.map +1 -1
  65. package/dist/tex-venue-rules.js +40 -0
  66. package/dist/tex-venue-rules.js.map +1 -1
  67. package/dist/types.d.ts +2 -0
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/venue-rules.d.ts +38 -8
  70. package/dist/venue-rules.d.ts.map +1 -1
  71. package/dist/venue-rules.js +179 -41
  72. package/dist/venue-rules.js.map +1 -1
  73. package/docs/configuration.md +18 -16
  74. package/docs/e2e.md +32 -11
  75. package/docs/rules/anonymity/identity.md +111 -0
  76. package/docs/rules/format/layout-override.md +61 -0
  77. package/docs/rules/format/page-limit.md +108 -0
  78. package/docs/rules/pdf/body-size.md +87 -0
  79. package/docs/rules.md +44 -39
  80. package/eslint-rules/pdf-last-page-balance.harness.mjs +6 -1
  81. package/eslint-rules/pdf-last-page-balance.ts +2 -2
  82. package/fixtures/build-e2e/aidc/expect.json +1 -1
  83. package/fixtures/build-e2e/aidc/paperlint.json +1 -1
  84. package/fixtures/build-e2e/anon-ack/PIPELINE-STATUS.md +3 -0
  85. package/fixtures/build-e2e/anon-ack/expect.json +19 -0
  86. package/fixtures/build-e2e/anon-ack/paper.tex +31 -0
  87. package/fixtures/build-e2e/anon-ack/paperlint.json +1 -0
  88. package/fixtures/build-e2e/anon-author/PIPELINE-STATUS.md +3 -0
  89. package/fixtures/build-e2e/anon-author/expect.json +19 -0
  90. package/fixtures/build-e2e/anon-author/paper.tex +29 -0
  91. package/fixtures/build-e2e/anon-author/paperlint.json +1 -0
  92. package/fixtures/build-e2e/anon-bib/PIPELINE-STATUS.md +3 -0
  93. package/fixtures/build-e2e/anon-bib/expect.json +20 -0
  94. package/fixtures/build-e2e/anon-bib/paper.tex +35 -0
  95. package/fixtures/build-e2e/anon-bib/paperlint.json +1 -0
  96. package/fixtures/build-e2e/anon-href/PIPELINE-STATUS.md +3 -0
  97. package/fixtures/build-e2e/anon-href/expect.json +19 -0
  98. package/fixtures/build-e2e/anon-href/paper.tex +30 -0
  99. package/fixtures/build-e2e/anon-href/paperlint.json +1 -0
  100. package/fixtures/build-e2e/anon-macro/PIPELINE-STATUS.md +3 -0
  101. package/fixtures/build-e2e/anon-macro/expect.json +19 -0
  102. package/fixtures/build-e2e/anon-macro/paper.tex +30 -0
  103. package/fixtures/build-e2e/anon-macro/paperlint.json +1 -0
  104. package/fixtures/build-e2e/anon-pdfauthor/PIPELINE-STATUS.md +3 -0
  105. package/fixtures/build-e2e/anon-pdfauthor/expect.json +19 -0
  106. package/fixtures/build-e2e/anon-pdfauthor/paper.tex +31 -0
  107. package/fixtures/build-e2e/anon-pdfauthor/paperlint.json +1 -0
  108. package/fixtures/build-e2e/unbalanced/expect.json +2 -2
  109. package/lib/paper-config.ts +3 -1
  110. package/package.json +1 -1
  111. package/presets/acm-sigconf.jsonc +3 -1
  112. package/presets/aidc.jsonc +16 -17
  113. package/presets/ieee-conference.jsonc +8 -0
  114. package/presets/venue-profile.schema.json +9 -0
  115. package/skills/render-paper/extract-pdf-facts.harness.ts +3 -3
  116. package/src/adapters/latex/index.ts +3 -0
  117. package/src/adapters/latex/layout.ts +106 -0
  118. package/src/adapters/latex/nodes.ts +11 -3
  119. package/src/adapters/latex/parse.ts +5 -1
  120. package/src/build.harness.mjs +2 -2
  121. package/src/build.test.ts +5 -0
  122. package/src/cli.test.ts +13 -0
  123. package/src/cli.ts +36 -4
  124. package/src/domain/anonymity.test.ts +163 -0
  125. package/src/domain/anonymity.ts +129 -0
  126. package/src/domain/body-pages.test.ts +300 -0
  127. package/src/domain/body-pages.ts +223 -0
  128. package/src/domain/tex-document.ts +10 -0
  129. package/src/facts-file.test.ts +100 -4
  130. package/src/facts-file.ts +91 -9
  131. package/src/new-paper.test.ts +7 -1
  132. package/src/paper-settings.test.ts +63 -6
  133. package/src/paper-settings.ts +53 -5
  134. package/src/pdf-content.test.ts +71 -0
  135. package/src/pdf-content.ts +125 -0
  136. package/src/pdf-facts.test.ts +110 -2
  137. package/src/pdf-facts.ts +106 -8
  138. package/src/ports/latex.ts +3 -0
  139. package/src/presets.ts +8 -8
  140. package/src/rule-cases.test.ts +29 -3
  141. package/src/rule-docs.test.ts +0 -2
  142. package/src/tex-requirements.ts +9 -0
  143. package/src/tex-venue-rules.test.ts +110 -5
  144. package/src/tex-venue-rules.ts +57 -2
  145. package/src/types.ts +2 -0
  146. package/src/venue-rules.test.ts +351 -39
  147. package/src/venue-rules.ts +247 -47
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,GAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,GAGf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,qGAAqG;AACrG,qGAAqG;AACrG,wCAAwC;AACxC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,GAKZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,0FAA0F;AAC1F,MAAM,cAAc,GAAG,GAAa,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;AAEpE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAmCyB,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAuCH,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;CAUzF,CAAC;AAEF,4GAA4G;AAC5G,MAAM,UAAU,WAAW,CACzB,OAAwB,EAAE,EAC1B,WAAoB;IAEpB,MAAM,UAAU,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,MAAM,aAAa,GAAG;QACpB,GAAG,UAAU;QACb,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACxC,CAAC;IACF,qFAAqF;IACrF,MAAM,KAAK,GAAG;QACZ,oBAAoB,EAAE,MAAM;QAC5B,oBAAoB,EAAE,MAAM;KAC7B,CAAC;IACF,MAAM,EAAE,GAAG;QACT,QAAQ,EAAE,cAAc;QACxB,eAAe,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;KACzC,CAAC;IAEF,MAAM,GAAG,GAAkB;QACzB,mGAAmG;QACnG,4FAA4F;QAC5F,oGAAoG;QACpG,0FAA0F;QAC1F,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;QAC9B,8FAA8F;QAC9F,+FAA+F;QAC/F,+FAA+F;QAC/F,8FAA8F;QAC9F,0DAA0D;QAC1D;YACE,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,GAAG,QAAQ,CAAC,KAAK;wBACjB,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;qBAC7D;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;iBACrE;aACF;SACF;QACD;YACE,KAAK,EAAE,CAAC,uBAAuB,CAAC;YAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;YACzC,GAAG,EAAE;YACL,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,cAAc,EAAE,OAAO;aACxB;SACF;QACD;YACE,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACnD,GAAG,EAAE;YACL,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,CAAC,iBAAiB,CAAC;YAC1B,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAChD,GAAG,EAAE;YACL,2EAA2E;YAC3E,yCAAyC;YACzC,KAAK,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE;SACzC;QACD;YACE,wFAAwF;YACxF,6FAA6F;YAC7F,KAAK,EAAE,CAAC,kBAAkB,CAAC;YAC3B,OAAO,EAAE,CAAC,uBAAuB,CAAC;YAClC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;YAClD,GAAG,EAAE;YACL,KAAK,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE;SACzC;KACF,CAAC;IAEF,iGAAiG;IACjG,mFAAmF;IACnF,IAAI,WAAW;QACb,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;oBACjC,KAAK,EAAE;wBACL,GAAG,QAAQ;wBACX,GAAG,aAAa,CAAC;4BACf,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,UAAU,EAAE;4BACvB,KAAK,EAAE,WAAW;yBACnB,CAAC;wBACF,kBAAkB,EAAE,mBAAmB,CAAC;4BACtC,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,WAAW;yBACnB,CAAC;wBACF,QAAQ,EAAE,YAAY,CAAC;4BACrB,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,WAAW;yBACnB,CAAC;qBACH;iBACF;gBACD,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC/B,GAAG,EAAE,YAAY;gBACjB,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,GAAG,WAAW,CAAC;4BACb,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,UAAU,EAAE;4BACvB,KAAK,EAAE,WAAW;yBACnB,CAAC;wBACF,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;qBACjE;iBACF;aACF;YACD,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,GAAG,qBAAqB;gBACxB,wBAAwB,EAAE,MAAM;gBAChC,qBAAqB,EAAE,MAAM;gBAC7B,oBAAoB,EAAE,MAAM;gBAC5B,oEAAoE;gBACpE,sBAAsB,EAAE,MAAM;gBAC9B,+EAA+E;gBAC/E,cAAc,EAAE,MAAM;gBACtB,8BAA8B,EAAE,OAAO;gBACvC,+EAA+E;gBAC/E,GAAG,iBAAiB;gBACpB,GAAG,qBAAqB;gBACxB,GAAG,qBAAqB;gBACxB,GAAG,kBAAkB;gBACrB,GAAG,sBAAsB;aAC1B;SACF,CAAC,CAAC;IACL,kGAAkG;IAClG,oGAAoG;IACpG,wGAAwG;IACxG,mGAAmG;IACnG,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,SAAS,GAA2B,WAAW;QACnD,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,CAAC,UAAU,CAAC;gBACnB,OAAO,EAAE,CAAC,cAAc,CAAC;gBACzB,OAAO,EAAE;oBACP,GAAG,EAAE;wBACH,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;wBACjC,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;qBACxD;oBACD,KAAK,EAAE;wBACL,KAAK,EAAE;4BACL,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;4BAChD,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;4BAChD,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC;yBACzD;qBACF;iBACF;gBACD,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE;oBACL,oBAAoB,EAAE,MAAM;oBAC5B,oBAAoB,EAAE,MAAM;oBAC5B,wBAAwB,EAAE,MAAM;oBAChC,oBAAoB,EAAE,MAAM;iBAC7B;aACF;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,oGAAoG;IACpG,6FAA6F;IAC7F,iGAAiG;IACjG,uFAAuF;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,oFAAoF;IACpF,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;IAC1F,GAAG,CAAC,IAAI,CACN,GAAG,SAAS,EACZ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAChE,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,CAAU,EAAsB,EAAE,CACvD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAEtC,MAAM,UAAU,YAAY,CAAC,MAA8B;IACzD,MAAM,KAAK,GAAuB,MAAM,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,cAAc,CAC9D,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EAC7C,CAAC,QAAQ,CAAC,CACX,CAAC;AAQF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,WAAqB;IAC/C,MAAM,GAAG,GAAuD,EAAE,CAAC;IACnE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAC9D,IAAI,MAAM,KAAK,QAAQ;gBACrB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACtE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,KAAK,SAAS;QACzC,OAAO;YACL,GAAG,GAAG;YACN,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;SAC1D,CAAC;IACJ,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,WAAqB;IAC5C,OAAO,YAAY,CAAC;QAClB;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;SACvE;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,KAAK,EAAE,mBAAmB;YAC1B,aAAa,EAAE,EAAE,6BAA6B,EAAE,KAAK,EAAE;SACxD;KACF,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAW,EAAE;IACvC,MAAM,GAAG,GAAY,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CACxD,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CACvB,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CACpB,CACJ,CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qHAAqH;AACrH,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;KAC/D,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA8C,EAC9C,KAAwB,EACxB,IAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CACrB,CACF,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACnE,0EAA0E;QAC1E,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,EAAE,IAAI,QAAQ;YAAE,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB;IAExB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAA8C;QACrD,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;KACR,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,GAAW,EACX,CAAqD;IAErD,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvB,MAAM,UAAU,GACd,CAAC,CAAC,IAAI,KAAK,UAAU;QACnB,CAAC,CAAC,gBAAgB,CACd,CAAC,CAAC,MAAM,CAAC,KAAK,EACd,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAC1D,aAAa,CACd;QACH,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,GAAG,GACP,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QAClC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,eAAe,CACb,QAAQ,CAAC,KAAK,EACd,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EACtB,aAAa,EACb,GAAG,CACJ;YACH,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,gGAAgG;IAChG,gGAAgG;IAChG,MAAM,MAAM,GAAG,CAAC,KAAgC,EAAe,EAAE,CAC/D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;KACjE,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,QAAQ,CACf,GAAW,EACX,QAAuB;IAEvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,mBAAmB,GAAa,aAAa,CACjD,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAC9C,CAAC;AAEF,+FAA+F;AAC/F,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;AAClD,MAAM,SAAS,GAAG,CAAC;KAChB,KAAK,CAAC;IACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;QAC1D,MAAM,EAAE,KAAK;KACd,CAAC;CACH,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAa,EACb,KAAa,EACb,OAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,yBAAyB,EAAE,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,GAAG,KAAK,gBAAgB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACrG,yDAAyD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACnG,CAAC;IACJ,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,OAAO;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,2IAA2I;SAC3J,CAAC;IACJ,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC;YAChC,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAwB,EAAU,EAAE,CAClE,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAE9B,oGAAoG;AACpG,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,uDAAuD;AACvD,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAU,EAAE;IACrD,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CACxC,CAAC;IACF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,8FAA8F;IAC9F,4EAA4E;IAC5E,MAAM,GAAG,GAAS;QAChB,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,4FAA4F;QAC5F,iDAAiD;QACjD,WAAW,EAAE,CAAC,CAAC;KAChB,CAAC;IACF,oFAAoF;IACpF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,4FAA4F;IAC5F,sFAAsF;IACtF,oGAAoG;IACpG,gGAAgG;IAChG,uFAAuF;IACvF,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAsB,EAAE;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,2FAA2F;QAC3F,kFAAkF;QAClF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,MAAM,GACV,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAuB,EAAE;YACpC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,MAAM,KAAK,EAAE;gBAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;YACxC,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aAC/B,IAAI,CAAC,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAClC,IAAI,CAAC,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAClC,IAAI,CAAC,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;aACzC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,YAAY;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;aAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACxC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,UAAU;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAClD,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;QACnD,2FAA2F;QAC3F,yFAAyF;QACzF,iBAAiB;aACZ,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aACvE,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,SAAS;gBAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACzD,wFAAwF;aACnF,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC;;YAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yFAAyF;AACzF,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,CAAO,EACP,EACE,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,MAKjB,EAAE;IAEN,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM;QACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAE/D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,UAAU,uBAAuB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,+FAA+F;IAC/F,yFAAyF;IACzF,EAAE;IACF,+FAA+F;IAC/F,8EAA8E;IAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjE,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE,CACrD,gBAAgB,GAAG,6DAA6D,gBAAgB,IAAI;IACpG,MAAM,WAAW,gCAAgC,CAAC;AAEpD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAG3B,EAAY,EAAE,CACb,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAEtE,gGAAgG;AAChG,MAAM,UAAU,OAAO,CAAC,MAAe;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAC7D,CAAC;IACJ,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,OAAO,CACrB,IAAwB,EACxB,EACE,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,SAAS;AACf,+FAA+F;AAC/F,wEAAwE;AACxE,4FAA4F;AAC5F,6FAA6F;AAC7F,+DAA+D;AAC/D,kEAAkE;AAClE,6FAA6F;AAC7F,gGAAgG;AAChG,0DAA0D;AAC1D,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAU5C,EAAE;IAEN,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,iEAAiE,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,GAAG,CAAC,YAAY,IAAI,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACtD,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CACD,gEAAgE,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK;YAC/G,SAAS,IAAI,qFAAqF;YAClG,yDAAyD,CAC5D,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CACX,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,EACjD;QACE,KAAK,EAAE,SAAS;KACjB,CACF,CAAC;IACF,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,IAAY,EACZ,MAAmB,EACnB,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,KAAK,GAAG,IAAI,GAOb;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,IAAI;QAChB,GAAG,CACD,wCAAwC,MAAM,0DAA0D,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACvI,CAAC;SACC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACpD,GAAG,CACD,uBAAuB,KAAK,CAAC,KAAK,kCAAkC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,MAAM,uCAAuC,CAC5J,CAAC;IACJ,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACtD,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAsE,EACtE,EACE,QAAQ,EACR,GAAG,EACH,WAAW,EACX,GAAG,GAMJ;IAED,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAC7C,OAAO,GAAG,CACR,qHAAqH,KAAK,CAAC,IAAI,IAAI,CACpI,CAAC;IACJ,MAAM,KAAK,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE,CACjD,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,KAAK,GACT,KAAK,CAAC,KAAK;QACX,CAAC,WAAW;YACV,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,WAAW,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,GAAG,CACR,UAAU,KAAK,CAAC,IAAI,OAAO,KAAK,wEAAwE,CACzG,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,OAAO,GAAG,CACR,UAAU,KAAK,CAAC,IAAI,OAAO,KAAK,oBAAoB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnG,CAAC;IACN,CAAC;IACD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI;QACV,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACzD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,KAAK;YACL,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,CAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,KAAa,EAAgC,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,KAAK;IACT,KAAK;CACN,CAAC,CAAC;AAEH,2FAA2F;AAC3F,SAAS,SAAS,CAChB,KAAa,EACb,EACE,OAAO,EACP,QAAQ,EACR,GAAG,GAC2D;IAEhE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,OAAO,GAAG,CACR,WAAW,KAAK,mBAAmB,IAAI,qDAAqD,CAC7F,CAAC;QACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC;IACV,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,OAAO,GAAG,CACR,WAAW,KAAK,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0DAA0D,CACjI,CAAC;IACJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,GAAG,IAAI,EAAE,EAAE,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,MAAM,CACnB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,GAAG,aAAa,GAMpB;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CACD,uHAAuH,CACxH,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,GAAgB,cAAc,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,GAAG,CACD,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CACtE,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;SAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CACR,MAAM,YAAY,CAAC,GAAG,EAAE,qBAAqB,cAAc,IAAI,CAAC,CACjE,EAAE,IAAI,EAAE,CAAC;QACV,IAAI,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CACD,IAAI,gBAAgB,sDAAsD,IAAI,KAAK,CACpF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,GAAG,CACD,8DAA8D,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CACvF,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,8FAA8F;IAC9F,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,GAAG,CACD,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,mFAAmF,CACjI,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,IAAI,EAAE;QACpC,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE;YACnB,QAAQ;YACR,GAAG;YACH,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW;YACpD,GAAG;SACJ,CAAC,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7C,GAAG;QACH,GAAG;QACH,GAAG;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,eAAe,GAMhB;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CACD,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,EAAE,CAC3E,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,GAAG,CACD,+FAA+F;YAC7F,0FAA0F;YAC1F,qEAAqE,CACxE,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6FAA6F;IAC7F,uFAAuF;IACvF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE;QACrC,GAAG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG;QACH,eAAe;QACf,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,mFAAmF;AACnF,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;AAElE;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;QAC/C,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK;SACjB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SAC3C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS,CACtB,OAA0B,EAC1B,CAAO,EACP,EAAE,GAAG,EAAE,GAAG,EAA0D;IAEpE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK;SACd,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC;QAC9B,GAAG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,WAAW;QACpD,GAAG,EAAE,aAAa;QAClB,GAAG;QACH,GAAG;KACJ,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,wFAAwF;AACxF,MAAM,MAAM,GAaR;IACF,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAClC,YAAY,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG;QACH,GAAG;QACH,KAAK,EAAE,kBAAkB,EAAE;QAC3B,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,6FAA6F;AAC7F,SAAS,kBAAkB;IACzB,MAAM,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,CAAC,CAAC,UAAU;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,GACiE,EACtE,YAAiC,YAAY;IAE7C,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;QAC5D,OAAO,EAAE,GAAG,EAAE,CACZ,SAAS,CAAC;YACR,KAAK,EAAE,KAAK;YACZ,GAAG;YACH,GAAG;YACH,KAAK,EAAE,kBAAkB,EAAE;YAC3B,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;SACnD,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAO,EAAE,GAAW;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS;QAC5B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,OAAO,CACpB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,GACiE;IAEtE,4FAA4F;IAC5F,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACzB,GAAG,CACD,WAAW,CAAC,CAAC,SAAS,wEAAwE;YAC5F,mDAAmD,CACtD,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;QACnC,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;QACjB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CACxC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5D,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,gBAAgB,EAAE,CAAC,IAAY,EAAiB,EAAE,CAChD,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAuB,EACvB,EACE,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,eAAe,GAAG,gBAAgB,MAUhC,EAAE;IAEN,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,2FAA2F;IAC3F,gGAAgG;IAChG,2BAA2B;IAC3B,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,GAAG,CACD,GAAG,CAAC,CAAC,YAAY,uCAAuC;YACtD,wFAAwF;YACxF,iCAAiC,CACpC,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CACD,kBAAkB,CAAC,CAAC,WAAW,4CAA4C,CAC5E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,8FAA8F;IAC9F,yFAAyF;IACzF,8BAA8B;IAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,4FAA4F;IAC5F,+FAA+F;IAC/F,2FAA2F;IAC3F,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;YACZ,GAAG;YACH,GAAG;YACH,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,GAAG;YACpD,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM;QAAE,OAAO,MAAM,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;QACnB,GAAG,CACD,uFAAuF,CACxF,CAAC;IACJ,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QAC1C,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAE3B,gGAAgG;IAChG,kBAAkB;IAClB,EAAE;IACF,iGAAiG;IACjG,2FAA2F;IAC3F,mGAAmG;IACnG,gEAAgE;IAChE,EAAE;IACF,oGAAoG;IACpG,iDAAiD;IACjD,MAAM,KAAK,GACT,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CACD,qBAAqB,gBAAgB,4DAA4D,CAClG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,kGAAkG;IAClG,yFAAyF;IACzF,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,0FAA0F;IAC1F,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,6FAA6F;IAC7F,mFAAmF;IACnF,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KAC5E,CAAC;IAEF,gGAAgG;IAChG,2FAA2F;IAC3F,wEAAwE;IACxE,IAAI,WAAW,GAAY,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,mGAAmG;IACnG,+FAA+F;IAC/F,uEAAuE;IACvE,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,WAAW;SACnB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,gGAAgG;IAChG,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,WAAW,CACT,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CACrB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,GAAG,CAAC,CAAC,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,YAAY,CAAC;YAC3B,GAAG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;YACvC,GAAG,aAAa,CAAC,MAAM,CAAC;SACzB,CAAC;QACF,GAAG,EAAE,CAAC,CAAC,GAAG;KACX,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CACD,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,6CAA6C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4FAA4F;IAC5F,+FAA+F;IAC/F,gGAAgG;IAChG,qBAAqB;IACrB,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,EAAE,CAAC;;YAC3B,MAAM,CAAC,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,CAAC,GAAG;QAAE,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,4FAA4F;IAC5F,mFAAmF;IACnF,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CACD,4BAA4B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uHAAuH,CAC9L,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAClD,CAAC;QACD,GAAG;QACH,GAAG;QACH,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG;QACjC,IAAI,EAAE,UAAU;QAChB,4EAA4E;QAC5E,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC;aAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,KAAwB;IAExB,KAAK,MAAM,CAAC,IAAI,KAAK;QACnB,IACE,UAAU,CAAC,CAAC,CAAC;YACb,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACpB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAE/B,OAAO,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,uFAAuF;AACvF,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,KAAK,CAAC,EAAE,CAAC,CAAC;AAEb,MAAM,UAAU,GAAG,CAAC,CAAU,EAAW,EAAE;IACzC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CACL,IAAI,CAAC,eAAe,KAAK,gBAAgB;QACzC,IAAI,CAAC,eAAe,KAAK,2BAA2B;QACpD,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,OAA4B,EAC5B,SAA4C,EAC5C,EACE,CAAC,EACD,GAAG,EACH,GAAG,EACH,KAAK,EACL,IAAI,EACJ,aAAa,GAQd;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,MAAM,EACN,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,EACrD,IAAI,CACL,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CACD,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wFAAwF;YAC1G,wBAAwB,KAAK,oEAAoE,CACpG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,CAAC,IAAI;QACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACvE,CAAC;QACJ,0FAA0F;QAC1F,0EAA0E;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,GAAG,CACD,GAAG,CAAC,IAAI,EAAE;YACR,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5E,gGAAgG;IAChG,uDAAuD;IACvD,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,GAAG,CACD,GAAG,MAAM,CAAC,QAAQ,CAAC,kDAAkD,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAC7F,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gEAAgE;AAChE,2DAA2D;AAC3D,qGAAqG;AACrG,gGAAgG;AAChG,mGAAmG;AACnG,oDAAoD;AACpD,0FAA0F;AAC1F,iGAAiG;AACjG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * WHO WROTE THIS PAPER, FOUND IN THE PAPER — the matching `anonymity/identity` judges a blind submission
3
+ * by. A rule cannot know who the author is, so the author DECLARES it (`identity` in
4
+ * `paperlint.json`); given that list, finding it is mechanical, and this module is the mechanism.
5
+ *
6
+ * ── WHAT A MATCH TOLERATES, AND WHY EACH ─────────────────────────────────────────
7
+ * PDF text is not the source text. pdf.js hands back runs of glyphs, and the same name comes out
8
+ * in several spellings of the same letters:
9
+ *
10
+ * ligatures `fi` for `fi` → both sides NFKC-normalized
11
+ * case `ADA EXAMPLE` in small caps → Unicode case folding (the `iu` flags: no
12
+ * locale is consulted, Cyrillic folds too)
13
+ * kerning splits `Ex` `ample` as two items → the page text joins items without a space
14
+ * letter-spacing `A d a E x a m p l e` → whitespace may stand between any two letters
15
+ * line breaks `Ada` ⏎ `Example`, `Exam-` ⏎ `ple` → so may a hyphen and a line break
16
+ * soft hyphens U+00AD inside a word → treated like a hyphen
17
+ * a reference list `A. Example`, `Example, A.` → a personal name's bibliographic forms
18
+ * are searched too (`spellingsOf`)
19
+ *
20
+ * Only the ENDS of a token are anchored: the letter or digit before its first character and after
21
+ * its last must be absent, so `Ada` does not match inside `Canada`. Between its characters anything
22
+ * of the above may stand. The token's own spaces and hyphens are separators too, so
23
+ * `Ada Example` also finds `Ada-Example` and `AdaExample` — the same person.
24
+ */
25
+ /** Where a declared string was found: a page's text, a metadata field, or a link's target. */
26
+ export type LeakPlace = {
27
+ readonly kind: "page";
28
+ readonly page: number;
29
+ } | {
30
+ readonly kind: "metadata";
31
+ readonly field: string;
32
+ } | {
33
+ readonly kind: "link";
34
+ readonly page: number;
35
+ readonly uri: string;
36
+ };
37
+ /** One text to search, and where it came from. */
38
+ export interface Searchable {
39
+ readonly place: LeakPlace;
40
+ readonly text: string;
41
+ }
42
+ /** One declared string found in one place, with the text it matched as it stands there. */
43
+ export interface Leak {
44
+ readonly token: string;
45
+ readonly place: LeakPlace;
46
+ readonly found: string;
47
+ }
48
+ /**
49
+ * The spellings a bibliography gives a personal name, besides the name itself. A token of two to
50
+ * four capitalized words (`Ada Example`, `Ada B. Example` is not one: an initial is not a word)
51
+ * is read as given names and a surname, and the reference list's forms are added: initials
52
+ * (`A. Example`), surname first (`Example, Ada`, `Example, A.`). A token that is not a name — a
53
+ * handle, an address, one word — has only itself.
54
+ */
55
+ export declare function spellingsOf(token: string): readonly string[];
56
+ /**
57
+ * A declared token as the pattern that finds it and its bibliographic spellings (see the module
58
+ * header), or null for a token with nothing but separators in it — which would match everywhere,
59
+ * and is refused where it is read.
60
+ */
61
+ export declare function tokenPattern(token: string): Readonly<RegExp> | null;
62
+ /**
63
+ * Every token found in the sources, once per place: its first match there. Two tokens that match
64
+ * the same text in the same place (`Ada Example` and `adaexample` both finding `AdaExample`) are one
65
+ * leak, reported under the first token declared. Pure.
66
+ */
67
+ export declare function findLeaks(tokens: readonly string[], sources: readonly Searchable[]): readonly Leak[];
68
+ //# sourceMappingURL=anonymity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anonymity.d.ts","sourceRoot":"","sources":["../../src/domain/anonymity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8FAA8F;AAC9F,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,2FAA2F;AAC3F,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAqBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAiB5D;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAInE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,UAAU,EAAE,GAC7B,SAAS,IAAI,EAAE,CAgBjB"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * WHO WROTE THIS PAPER, FOUND IN THE PAPER — the matching `anonymity/identity` judges a blind submission
3
+ * by. A rule cannot know who the author is, so the author DECLARES it (`identity` in
4
+ * `paperlint.json`); given that list, finding it is mechanical, and this module is the mechanism.
5
+ *
6
+ * ── WHAT A MATCH TOLERATES, AND WHY EACH ─────────────────────────────────────────
7
+ * PDF text is not the source text. pdf.js hands back runs of glyphs, and the same name comes out
8
+ * in several spellings of the same letters:
9
+ *
10
+ * ligatures `fi` for `fi` → both sides NFKC-normalized
11
+ * case `ADA EXAMPLE` in small caps → Unicode case folding (the `iu` flags: no
12
+ * locale is consulted, Cyrillic folds too)
13
+ * kerning splits `Ex` `ample` as two items → the page text joins items without a space
14
+ * letter-spacing `A d a E x a m p l e` → whitespace may stand between any two letters
15
+ * line breaks `Ada` ⏎ `Example`, `Exam-` ⏎ `ple` → so may a hyphen and a line break
16
+ * soft hyphens U+00AD inside a word → treated like a hyphen
17
+ * a reference list `A. Example`, `Example, A.` → a personal name's bibliographic forms
18
+ * are searched too (`spellingsOf`)
19
+ *
20
+ * Only the ENDS of a token are anchored: the letter or digit before its first character and after
21
+ * its last must be absent, so `Ada` does not match inside `Canada`. Between its characters anything
22
+ * of the above may stand. The token's own spaces and hyphens are separators too, so
23
+ * `Ada Example` also finds `Ada-Example` and `AdaExample` — the same person.
24
+ */
25
+ /** What may stand between two characters of a token: whitespace, hyphens, soft hyphens. */
26
+ const SEPARATOR = "[\\s\\u00AD-]*";
27
+ const BEFORE = "(?<![\\p{L}\\p{N}])";
28
+ const AFTER = "(?![\\p{L}\\p{N}])";
29
+ /** `c` as a pattern that matches it literally. */
30
+ const literal = (c) => c.replace(/[.*+?^${}()|[\]\\/]/gu, "\\$&");
31
+ /** The characters of a token that must appear: NFKC, without its own separators. */
32
+ const lettersOf = (token) => token
33
+ .normalize("NFKC")
34
+ .replace(/[\s\u00AD-]/gu, "")
35
+ .match(/./gsu) ?? [];
36
+ /** A word of a personal name: letters, with an apostrophe or a hyphen inside. */
37
+ const NAME_WORD = /^\p{Lu}[\p{L}'’-]*$/u;
38
+ /**
39
+ * The spellings a bibliography gives a personal name, besides the name itself. A token of two to
40
+ * four capitalized words (`Ada Example`, `Ada B. Example` is not one: an initial is not a word)
41
+ * is read as given names and a surname, and the reference list's forms are added: initials
42
+ * (`A. Example`), surname first (`Example, Ada`, `Example, A.`). A token that is not a name — a
43
+ * handle, an address, one word — has only itself.
44
+ */
45
+ export function spellingsOf(token) {
46
+ const words = token.trim().split(/\s+/u);
47
+ if (words.length < 2 ||
48
+ words.length > 4 ||
49
+ !words.every((w) => NAME_WORD.test(w)))
50
+ return [token];
51
+ const surname = words.slice(-1).join("");
52
+ const given = words.slice(0, -1);
53
+ const initials = given.map((w) => `${w.slice(0, 1)}.`).join(" ");
54
+ return [
55
+ token,
56
+ `${initials} ${surname}`,
57
+ `${surname}, ${given.join(" ")}`,
58
+ `${surname}, ${initials}`,
59
+ ];
60
+ }
61
+ /** One spelling as a pattern body: its characters, separators allowed between any two. */
62
+ const bodyOf = (spelling) => lettersOf(spelling).map(literal).join(SEPARATOR);
63
+ /**
64
+ * A declared token as the pattern that finds it and its bibliographic spellings (see the module
65
+ * header), or null for a token with nothing but separators in it — which would match everywhere,
66
+ * and is refused where it is read.
67
+ */
68
+ export function tokenPattern(token) {
69
+ if (lettersOf(token).length === 0)
70
+ return null;
71
+ const bodies = spellingsOf(token).map(bodyOf).join("|");
72
+ return new RegExp(`${BEFORE}(?:${bodies})${AFTER}`, "iu");
73
+ }
74
+ /**
75
+ * Every token found in the sources, once per place: its first match there. Two tokens that match
76
+ * the same text in the same place (`Ada Example` and `adaexample` both finding `AdaExample`) are one
77
+ * leak, reported under the first token declared. Pure.
78
+ */
79
+ export function findLeaks(tokens, sources) {
80
+ const patterns = tokens.flatMap((token) => {
81
+ const re = tokenPattern(token);
82
+ return re === null ? [] : [{ token, re }];
83
+ });
84
+ return sources.flatMap((s) => {
85
+ const text = s.text.normalize("NFKC");
86
+ const leaks = patterns.flatMap(({ token, re }) => {
87
+ const m = re.exec(text);
88
+ return m === null ? [] : [{ token, place: s.place, found: m[0] }];
89
+ });
90
+ const key = (l) => l.found.toLowerCase();
91
+ return leaks.filter((l, i) => leaks.findIndex((x) => key(x) === key(l)) === i);
92
+ });
93
+ }
94
+ //# sourceMappingURL=anonymity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anonymity.js","sourceRoot":"","sources":["../../src/domain/anonymity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * HOW MANY PAGES THE BODY TAKES, counted from what the PDF says rather than from how banal
3
+ * classifies its pages. A venue that limits the body «excluding references and appendices» (AIDC)
4
+ * cannot be judged on banal's body count: banal calls any page holding non-bibliography text body,
5
+ * so an LLM Usage Statement or an appendix placed after the bibliography is counted as body, and a
6
+ * correct paper fails (measured, `presets/aidc.jsonc`).
7
+ *
8
+ * ── WHERE THE BODY ENDS: AT THE REFERENCES, OR AT THE APPENDIX, WHICHEVER COMES FIRST ──────
9
+ * «Excluding references and appendices» excludes an appendix wherever it sits, so the body ends at
10
+ * the first of the two. Each is found by a structural signal first:
11
+ *
12
+ * references the page of the first bibliography entry, from the destination hyperref writes for
13
+ * every `\bibitem` (`cite.<key>`); then, on that page, the heading line: a line that
14
+ * reads «References» or «Bibliography» (any case, optionally numbered), the one
15
+ * CONFIRMED by a next line opening the first entry, `[1]`, else the last one there.
16
+ * Without hyperref: the first confirmed heading, else the first bare one — a table
17
+ * header or a subsection titled «References» reads the same, so it is a fallback.
18
+ * appendix the page hyperref anchored the appendix on (an `appendix.<letter>` destination, or a
19
+ * bookmark titled «Appendix…»); then, on that page, the line reading «Appendix»,
20
+ * «Appendix A.», «APPENDIX» or «Appendices». Without hyperref the appendix is not
21
+ * looked for: a sentence can end on a line reading «Appendix A.», and nothing tells
22
+ * it from the heading.
23
+ *
24
+ * A structural signal whose page has no heading line, or a confirmed references heading on another
25
+ * page than hyperref's first entry, is a disagreement, and it is said rather than resolved by
26
+ * picking one.
27
+ *
28
+ * ── THE PAGE THE BODY ENDS ON ──────────────────────────────────────────────────────
29
+ * Body text above the heading on that page makes it a body page: a body that runs half a page past
30
+ * the limit is over the limit, and the count must flag it rather than let a desk reject through.
31
+ * Only when the heading is the first text of its page does the body end on the page before. A line
32
+ * with no letter (a page number) is not body text, and neither is a running header or footer — a
33
+ * line that repeats, digits aside, on at least three pages and a third of them.
34
+ */
35
+ /** What ends the body. */
36
+ export type BodyEndsAt = "references" | "appendix";
37
+ /** Where hyperref anchored the bibliography's first entry and the appendix: 1-based pages, or null. */
38
+ export interface Anchors {
39
+ readonly bib: number | null;
40
+ readonly appendix: number | null;
41
+ }
42
+ /** Where the body ends, that no page says, or that a structural signal and the text disagree. */
43
+ export type BodyEnd = {
44
+ readonly kind: "found";
45
+ readonly by: BodyEndsAt;
46
+ /** 1-based page holding the heading that ends the body. */
47
+ readonly page: number;
48
+ /** The body, as the venue counts it: the heading's page too, when body text stands above it. */
49
+ readonly bodyPages: number;
50
+ } | {
51
+ readonly kind: "missing";
52
+ } | {
53
+ readonly kind: "disagree";
54
+ readonly what: BodyEndsAt;
55
+ /** The page of the first confirmed references heading, or null when the anchor's page has no heading. */
56
+ readonly heading: number | null;
57
+ /** The page hyperref anchored it on. */
58
+ readonly anchor: number;
59
+ };
60
+ /** Whether one line of a page's text is the references heading. */
61
+ export declare const isReferencesHeading: (line: string) => boolean;
62
+ /** Whether one line of a page's text is an appendix heading. */
63
+ export declare const isAppendixHeading: (line: string) => boolean;
64
+ /**
65
+ * Where the body ends — at the references or the appendix, whichever comes first — from each
66
+ * page's text and where hyperref anchored the two. Pure.
67
+ */
68
+ export declare function bodyEnd(texts: readonly string[], anchors?: Anchors): BodyEnd;
69
+ //# sourceMappingURL=body-pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-pages.d.ts","sourceRoot":"","sources":["../../src/domain/body-pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,0BAA0B;AAC1B,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnD,uGAAuG;AACvG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,iGAAiG;AACjG,MAAM,MAAM,OAAO,GACf;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AASN,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,OACQ,CAAC;AAK5D,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACmB,CAAC;AAwHrE;;;GAGG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,OAAuC,GAC/C,OAAO,CAeT"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * HOW MANY PAGES THE BODY TAKES, counted from what the PDF says rather than from how banal
3
+ * classifies its pages. A venue that limits the body «excluding references and appendices» (AIDC)
4
+ * cannot be judged on banal's body count: banal calls any page holding non-bibliography text body,
5
+ * so an LLM Usage Statement or an appendix placed after the bibliography is counted as body, and a
6
+ * correct paper fails (measured, `presets/aidc.jsonc`).
7
+ *
8
+ * ── WHERE THE BODY ENDS: AT THE REFERENCES, OR AT THE APPENDIX, WHICHEVER COMES FIRST ──────
9
+ * «Excluding references and appendices» excludes an appendix wherever it sits, so the body ends at
10
+ * the first of the two. Each is found by a structural signal first:
11
+ *
12
+ * references the page of the first bibliography entry, from the destination hyperref writes for
13
+ * every `\bibitem` (`cite.<key>`); then, on that page, the heading line: a line that
14
+ * reads «References» or «Bibliography» (any case, optionally numbered), the one
15
+ * CONFIRMED by a next line opening the first entry, `[1]`, else the last one there.
16
+ * Without hyperref: the first confirmed heading, else the first bare one — a table
17
+ * header or a subsection titled «References» reads the same, so it is a fallback.
18
+ * appendix the page hyperref anchored the appendix on (an `appendix.<letter>` destination, or a
19
+ * bookmark titled «Appendix…»); then, on that page, the line reading «Appendix»,
20
+ * «Appendix A.», «APPENDIX» or «Appendices». Without hyperref the appendix is not
21
+ * looked for: a sentence can end on a line reading «Appendix A.», and nothing tells
22
+ * it from the heading.
23
+ *
24
+ * A structural signal whose page has no heading line, or a confirmed references heading on another
25
+ * page than hyperref's first entry, is a disagreement, and it is said rather than resolved by
26
+ * picking one.
27
+ *
28
+ * ── THE PAGE THE BODY ENDS ON ──────────────────────────────────────────────────────
29
+ * Body text above the heading on that page makes it a body page: a body that runs half a page past
30
+ * the limit is over the limit, and the count must flag it rather than let a desk reject through.
31
+ * Only when the heading is the first text of its page does the body end on the page before. A line
32
+ * with no letter (a page number) is not body text, and neither is a running header or footer — a
33
+ * line that repeats, digits aside, on at least three pages and a third of them.
34
+ */
35
+ /**
36
+ * A line that is a references heading: `References` or `Bibliography`, in any case (IEEEtran sets
37
+ * `REFERENCES` in small caps, which pdf.js may split as `R EFERENCES`), optionally numbered
38
+ * (`7 References`, `VII. REFERENCES`). The line is compared with every space removed.
39
+ */
40
+ const HEADING = /^(?:(?:\d+|[ivxlcdm]+)\.?)?(?:references|bibliography)$/iu;
41
+ /** Whether one line of a page's text is the references heading. */
42
+ export const isReferencesHeading = (line) => HEADING.test(line.normalize("NFKC").replace(/\s+/gu, ""));
43
+ /** A line that is an appendix heading: `Appendix A.`, `APPENDIX`, `Appendices`, spaces removed. */
44
+ const APPENDIX_HEADING = /^appendi(?:x|ces)(?:[a-z]|\d+)?[.:]?$/iu;
45
+ /** Whether one line of a page's text is an appendix heading. */
46
+ export const isAppendixHeading = (line) => APPENDIX_HEADING.test(line.normalize("NFKC").replace(/\s+/gu, ""));
47
+ /** Whether a line opens the first entry of a numbered bibliography: `[1]`. */
48
+ const isFirstEntry = (line) => /^\s*\[\s*1\s*\]/u.test(line);
49
+ function readPage(text) {
50
+ const lines = text.split("\n");
51
+ const headings = lines.flatMap((l, i) => (isReferencesHeading(l) ? [i] : []));
52
+ const confirmed = headings.find((i) => isFirstEntry(lines.slice(i + 1).find((l) => l.trim() !== "") ?? "")) ?? -1;
53
+ return { lines, confirmed, headings };
54
+ }
55
+ /** A line with digits blanked and spaces collapsed: what a running header keeps from page to page. */
56
+ const shape = (line) => line.replace(/\d+/gu, "#").replace(/\s+/gu, " ").trim();
57
+ /** The shapes of the lines that repeat on at least three pages and a third of them. */
58
+ function runningLines(pages) {
59
+ const onPages = pages.flatMap((p) => [...new Set(p.lines.map(shape))]);
60
+ const sorted = onPages.toSorted();
61
+ const floor = Math.max(3, pages.length / 3);
62
+ // In sorted order, a shape on `floor` pages is the same string `floor - 1` places further on.
63
+ return new Set(sorted.filter((s, i) => sorted[i + Math.ceil(floor) - 1] === s));
64
+ }
65
+ /** The heading line the references start at on a page: the confirmed one, else the last one. */
66
+ const startLine = (p) => p.confirmed >= 0 ? p.confirmed : (p.headings.at(-1) ?? -1);
67
+ /** The references heading at line `line` of 0-based page `page`. */
68
+ const at = (page, p, line) => ({
69
+ kind: "at",
70
+ by: "references",
71
+ page,
72
+ line,
73
+ above: p.lines.slice(0, line),
74
+ });
75
+ /** Where the references start: at hyperref's first entry's page, else at the heading in the text. */
76
+ function referencesAt(pages, anchor) {
77
+ const confirmed = pages.findIndex((p) => p.confirmed >= 0);
78
+ if (anchor !== null) {
79
+ const p = pages[anchor - 1];
80
+ const line = p === undefined ? -1 : startLine(p);
81
+ if (p === undefined || line < 0)
82
+ return { kind: "disagree", what: "references", heading: null, anchor };
83
+ if (confirmed >= 0 && confirmed !== anchor - 1)
84
+ return {
85
+ kind: "disagree",
86
+ what: "references",
87
+ heading: confirmed + 1,
88
+ anchor,
89
+ };
90
+ return at(anchor - 1, p, line);
91
+ }
92
+ const i = confirmed >= 0 ? confirmed : pages.findIndex((p) => p.headings.length > 0);
93
+ const p = pages[i];
94
+ return p === undefined ? { kind: "missing" } : at(i, p, startLine(p));
95
+ }
96
+ /** Where the appendix starts: on hyperref's page for it, at the line reading «Appendix». */
97
+ function appendixAt(pages, anchor) {
98
+ if (anchor === null)
99
+ return { kind: "missing" };
100
+ const lines = pages[anchor - 1]?.lines ?? [];
101
+ const line = lines.findIndex(isAppendixHeading);
102
+ return line < 0
103
+ ? { kind: "disagree", what: "appendix", heading: null, anchor }
104
+ : {
105
+ kind: "at",
106
+ by: "appendix",
107
+ page: anchor - 1,
108
+ line,
109
+ above: lines.slice(0, line),
110
+ };
111
+ }
112
+ /** The body's end at a heading: the heading's page counts when body text stands above it. */
113
+ function endAt(pages, at) {
114
+ const running = runningLines(pages);
115
+ const body = at.above.some((l) => /\p{L}/u.test(l) && !running.has(shape(l)));
116
+ return {
117
+ kind: "found",
118
+ by: at.by,
119
+ page: at.page + 1,
120
+ bodyPages: body ? at.page + 1 : at.page,
121
+ };
122
+ }
123
+ /**
124
+ * Where the body ends — at the references or the appendix, whichever comes first — from each
125
+ * page's text and where hyperref anchored the two. Pure.
126
+ */
127
+ export function bodyEnd(texts, anchors = { bib: null, appendix: null }) {
128
+ const pages = texts.map(readPage);
129
+ const starts = [
130
+ referencesAt(pages, anchors.bib),
131
+ appendixAt(pages, anchors.appendix),
132
+ ];
133
+ const disagree = starts.find((s) => s.kind === "disagree");
134
+ if (disagree !== undefined)
135
+ return disagree;
136
+ const first = starts
137
+ .filter((s) => s.kind === "at")
138
+ .toSorted((a, b) => a.page - b.page || a.line - b.line)[0];
139
+ return first === undefined ? { kind: "missing" } : endAt(pages, first);
140
+ }
141
+ //# sourceMappingURL=body-pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-pages.js","sourceRoot":"","sources":["../../src/domain/body-pages.ts"],"names":[],"mappings":"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"}
@@ -116,4 +116,13 @@ export type ProsePiece = {
116
116
  export interface Passage {
117
117
  readonly pieces: readonly [ProsePiece, ...ProsePiece[]];
118
118
  }
119
+ /**
120
+ * A command that changes the page layout a venue's template sets: the text block, the margins,
121
+ * the line spacing, or space pulled back with a negative skip. `command` is how a message names it
122
+ * (`\setlength{\textheight}`, `\vspace{-2mm}`).
123
+ */
124
+ export interface LayoutOverride {
125
+ readonly command: string;
126
+ readonly place: Place;
127
+ }
119
128
  //# sourceMappingURL=tex-document.d.ts.map