@detergent-software/conductor 3.1.0-dev.3 → 3.1.0-dev.5

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 (51) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +22 -13
  3. package/build/brief.js +28 -10
  4. package/build/brief.js.map +1 -1
  5. package/build/cli.js +62 -3
  6. package/build/cli.js.map +1 -1
  7. package/build/daemon.js +4 -0
  8. package/build/daemon.js.map +1 -1
  9. package/build/help.js +30 -4
  10. package/build/help.js.map +1 -1
  11. package/build/inbox.js +26 -6
  12. package/build/inbox.js.map +1 -1
  13. package/build/manager.js +5 -2
  14. package/build/manager.js.map +1 -1
  15. package/build/note.js +3 -11
  16. package/build/note.js.map +1 -1
  17. package/build/notes.js +83 -9
  18. package/build/notes.js.map +1 -1
  19. package/build/profile-fields.js +1 -0
  20. package/build/profile-fields.js.map +1 -1
  21. package/build/profile.js +6 -1
  22. package/build/profile.js.map +1 -1
  23. package/build/protocol.js +2 -0
  24. package/build/protocol.js.map +1 -1
  25. package/build/rules.js +11 -1
  26. package/build/rules.js.map +1 -1
  27. package/build/scheduler.js +30 -16
  28. package/build/scheduler.js.map +1 -1
  29. package/build/server.js +28 -3
  30. package/build/server.js.map +1 -1
  31. package/build/shelve.js +76 -0
  32. package/build/shelve.js.map +1 -0
  33. package/build/store.js +4 -2
  34. package/build/store.js.map +1 -1
  35. package/build/tracker-writes.js +13 -11
  36. package/build/tracker-writes.js.map +1 -1
  37. package/build/watchers/boards-writes.js +8 -3
  38. package/build/watchers/boards-writes.js.map +1 -1
  39. package/build/watchers/issues-writes.js +25 -4
  40. package/build/watchers/issues-writes.js.map +1 -1
  41. package/build/watchers/linear-writes.js +18 -5
  42. package/build/watchers/linear-writes.js.map +1 -1
  43. package/package.json +1 -1
  44. package/plugin/hooks/model.ts +41 -19
  45. package/plugin/hooks/register.tsx +50 -13
  46. package/plugin/skills/conductor-console/SKILL.md +5 -3
  47. package/plugin/skills/work-item/SKILL.md +4 -1
  48. package/plugin/skills/work-item/trackers/ado-boards.md +1 -1
  49. package/plugin/skills/work-item/trackers/github-issues.md +1 -1
  50. package/plugin/skills/work-item/trackers/linear.md +1 -1
  51. package/protocol/PROTOCOL.md +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAe,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAGL,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,SAAS,EACT,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAuB,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,SAAS,EAIT,UAAU,EAGV,YAAY,GAEb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AA+EpF,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IACnD,kFAAkF;IAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,kGAAkG;IAClG,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAC;AA+BH,kDAAkD;AAClD,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,GAAW,EAAE,QAAoC;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzD,GAAG,MAAM;QACT,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACnE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+FAA+F;AAC/F,oGAAoG;AACpG,4BAA4B;AAC5B,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW;IACnD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,OAA+B,EAAE,GAAW;IACtE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACrD,MAAM,OAAO,GACX,EAAE,KAAK,SAAS;QACd,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,cAAc,GAAG,aAAa,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACpH,MAAM,IAAI,cAAc,CACtB,IAAI,GAAG,yBAAyB,EAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,UAAU,CAAC,CAAc;IACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,2FAA2F;IAC3F,MAAM,OAAO,GAAG,CAAC,UAAyB,EAAU,EAAE,CACpD,oCAAoC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IACjF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,UAAU;QACV,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG;QAC5F,CAAC,CAAC,CAAC,CAAC,SAAS,CAChB,CAAC;IACF,OAAO;QACL,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE;QACxC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,SAAS,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc;KACnI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GACvB,2GAA2G,CAAC;AAC9G,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,iGAAiG;AACjG,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,cAAc,CAAU,CAAC;AAE3E,MAAM,IAAI,GAAG,mCAAmC,CAAC;AACjD,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,0FAA0F;AAC1F,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC;AACjC,mGAAmG;AACnG,sGAAsG;AACtG,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,mGAAmG;AACnG,0DAA0D;AAC1D,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,2FAA2F;AAC3F,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,qGAAqG;AACrG,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,4FAA4F;AAC5F,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GACvB,uLAAuL,CAAC;AAC1L,2EAA2E;AAC3E,MAAM,KAAK,GAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAsBrF,gFAAgF;AAChF,oGAAoG;AACpG,+FAA+F;AAC/F,4FAA4F;AAC5F,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhG,yGAAyG;IACzG,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,4FAA4F;IAC5F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgD,CAAC;IAC9E,IAAI,QAAQ,GAAmB,EAAE,CAAC;IAClC,kGAAkG;IAClG,0CAA0C;IAC1C,IAAI,UAAU,GAA6E,IAAI,CAAC;IAChG,6DAA6D;IAC7D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,KAAiC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAgB,EAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClH,kFAAkF;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,qGAAqG;IACrG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,iGAAiG;IACjG,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,kGAAkG;IAClG,mGAAmG;IACnG,gFAAgF;IAChF,yFAAyF;IACzF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,oDAAoD;IACjG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0CAA0C;IAE3F,MAAM,KAAK,GAAG,CACZ,MAAc,EACd,IAAY,EACZ,OAAgC,EAAE,EAClC,OAAsB,IAAI,EACpB,EAAE;QACR,MAAM,KAAK,GAAa;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;YACvD,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,IAAI;SACrB,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,8FAA8F;IAC9F,mGAAmG;IACnG,kGAAkG;IAClG,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,KAAa,EAAQ,EAAE;QAC3D,IAAI,kBAAkB,CAAC,MAAM,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAW,EAAE;QACrD,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK;iBACV,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;iBAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;YACrF,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,mGAAmG;IACnG,kFAAkF;IAClF,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBAAE,SAAS;YACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;gBACzD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,EAAE,GAAG,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBAC1C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrB,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,aAAa;YAC7C,IAAI,EAAE,GAAG,QAAQ,GAAG,gBAAgB,GAAG,EAAE;gBAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,kGAAkG;IAClG,MAAM,MAAM,GAAG,CAAC,IAAuB,EAAE,MAAc,EAAE,KAAsB,EAAgB,EAAE;QAC/F,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,OAAO,EAAE;gBACnC,MAAM,EAAE,8BAA8B,IAAI,wBAAwB,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,OAAO;aAC7H,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,KAAkB,EAAU,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEpG,MAAM,KAAK,GAAG,CAAI,IAAgB,EAAc,EAAE;QAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAwB,EAAkC,EAAE;QAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,EAAE;gBACzF,eAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO;YAChB,MAAM,IAAI,cAAc,CAAC,YAAY,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,CAAC;QACpF,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,cAAc,CAAC,YAAY,KAAK,CAAC,IAAI,mCAAmC,KAAK,CAAC,KAAK,EAAE,EAAE;gBAC/F,8EAA8E,KAAK,CAAC,KAAK,WAAW;aACrG,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,8EAA8E;IAC9E,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAE3F,MAAM,SAAS,GAAG,CAAC,MAAc,EAA4B,EAAE,CAC7D,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;QAC/D,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CACrD,CAAC;IAEJ,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IAE3F,6FAA6F;IAC7F,wEAAwE;IACxE,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,GAAuB,EAAoB,EAAE;QACtF,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACjD,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;gBAAE,MAAM,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACnC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;YAC/C,IAAI,MAAM,IAAI,YAAY;gBAAE,OAAO,KAAK,CAAC;YACzC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,KAAa,EAAE,IAAY,EAAE,MAA8B,EAAoB,EAAE;QACnG,IAAI,CAAC;YACH,MAAM,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+FAA+F;YAC/F,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,+BAA+B;IAE/B,qGAAqG;IACrG,kGAAkG;IAClG,gBAAgB;IAChB,MAAM,YAAY,GAAG,KAAK,EAAE,MAAc,EAAE,OAAgB,EAAE,MAAc,EAAiB,EAAE;QAC7F,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,IAAI,KAAK,GAAG,cAAc,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,qFAAqF;QACrF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,8FAA8F;YAC9F,mEAAmE;YACnE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAChF,KAAK,GAAG,iBAAiB,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;gBACtC,IAAI,EAAE,OAAO,CAAC,UAAU;gBACxB,KAAK;gBACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE;gBACzG,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3F,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI;gBACJ,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpF,KAAK,GAAG,cAAc,CAAC;YACvB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,OAAO,GACX,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrG,IAAI,OAAO;gBAAE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAK,GAAG,eAAe,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM;iBACxB,MAAM,CAAC;gBACN,GAAG,EAAE,QAAQ;gBACb,eAAe,EAAE,gBAAgB;gBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,eAAe;gBAC/B,SAAS;gBACT,MAAM;aACP,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,kFAAkF;gBAClF,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxD,MAAM,IAAI,cAAc,CAAC,6BAA6B,KAAK,EAAE,EAAE;oBAC7D,GAAG,SAAS,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,OAAO,IAAI;oBACvE,GAAG,KAAK,CAAC,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACL,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACtD,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAChG,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;oBAC1B,GAAG,EAAE,QAAQ;oBACb,MAAM;oBACN,KAAK,EAAE,MAAM,CAAC,IAAI;oBAClB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,MAAM,MAAM,CAAC,OAAO,EAAE;iBACtE,CAAC,CAAC;gBACH,IAAI,GAAG;oBAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mFAAmF;YACnF,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC/D,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAChD,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;oBAC9C,CAAC,CAAC,EAAE,CAAC;YACT,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACxC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAC7F,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC,CAAC;IAEF,mGAAmG;IACnG,2DAA2D;IAC3D,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,QAAgB,EAAoC,EAAE;QAChG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5G,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IAEF,iGAAiG;IACjG,gFAAgF;IAChF,MAAM,YAAY,GAAG,KAAK,EACxB,MAAc,EACd,KAAc,EACuD,EAAE;QACvE,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAClD,mGAAmG;QACnG,iEAAiE;QACjE,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI;YACpB,OAAO,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI;gBAC/D,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAC7C,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QACrF,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,MAAM,CAAC,OAAO,0BAA0B,EAAE,CAAC;QAChH,iFAAiF;QACjF,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,IAAI;YACvC,OAAO,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;QAC7F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,UAAU,MAAM,CAAC,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,kCAAkC;IAElC,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;gBAAE,SAAS;YAC5D,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,2FAA2F;IAC3F,8DAA8D;IAC9D,MAAM,IAAI,GAAG,KAAK,EAAE,MAAc,EAAE,OAAqB,EAAE,KAAsB,EAAiB,EAAE;QAClG,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,GAAG,OAAO,OAAO,CAAC,GAAG,eAAe,YAAY,GAAG,IAAI,sBAAsB,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,GAAG,MAAM,EAAE,CAAC,CAAC;YAC5G,KAAK,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAClB,MAAc,EACd,QAAyB,EACzB,OAAiC,EAClB,EAAE;QACjB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACnE,8EAA8E;QAC9E,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI;YAAE,OAAO;QACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YACvD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI;SACL,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,yEAAyE;YACzE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,sBAAsB,EAAE;gBAChF,IAAI;gBACJ,KAAK,EAAE,2EAA2E;gBAClF,KAAK;aACN,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5F,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;QAC1D,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,iGAAiG;IACjG,iGAAiG;IACjG,iGAAiG;IACjG,+FAA+F;IAC/F,MAAM,OAAO,GAAG,KAAK,EAAE,MAAc,EAAE,OAAiC,EAAiB,EAAE;QACzF,6FAA6F;QAC7F,kDAAkD;QAClD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAC9F,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO;QACzC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI;YAAE,OAAO;QACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,yEAAyE;QACzE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,IAAmB,CAAC;QACxB,IAAI,CAAC;YACH,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;gBACvD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,yBAAyB,EAAE;gBACnF,IAAI;gBACJ,KAAK,EAAE,2EAA2E;gBAClF,KAAK;aACN,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,OAAsB,IAAI,EAAQ,EAAE;QACxG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,oGAAoG;IACpG,kCAAkC;IAClC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,OAAqB,EAAW,EAAE;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,UAAU;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,eAAe;YAAE,OAAO,IAAI,CAAC;QAC/F,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,aAAa,CAAC,MAAM,EAAE,mCAAmC,eAAe,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACvG,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,iGAAiG;IACjG,sEAAsE;IACtE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE,CAC5C,KAAK;SACF,SAAS,EAAE;SACX,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE;YACrB,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAChH,CAAC;IAEN,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAAqB,EAAE,OAAgB,EAAQ,EAAE;QACpF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,2EAA2E;QAC3E,MAAM,OAAO,GAAG,CAAC,IAA2B,EAAE,QAA6B,EAAQ,EAAE;YACnF,IAAI,QAAQ;gBAAE,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClD,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC5C,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClD,KAAK,CAAC,UAAU,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YACzF,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACtE,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE;oBAC9B,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC5B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;oBAC7B,UAAU,EAAE,MAAM;oBAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,yGAAyG;QACzG,4EAA4E;QAC5E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtF,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC3B,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,wFAAwF;IACxF,iGAAiG;IACjG,gGAAgG;IAChG,uFAAuF;IACvF,uEAAuE;IACvE,+FAA+F;IAC/F,+FAA+F;IAC/F,4FAA4F;IAC5F,sFAAsF;IACtF,6FAA6F;IAC7F,kFAAkF;IAClF,4DAA4D;IAC5D,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAQ,EAAE;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/B,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IACjC,CAAC,CAAC;IAEF,kGAAkG;IAClG,8FAA8F;IAC9F,MAAM,WAAW,GAAG,KAAK,IAAyC,EAAE;QAClE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,0FAA0F;QAC1F,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,OAAO,GAA+B,IAAI,CAAC;QAC/C,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,IAAI,EAAE,IAAI,UAAU,CAAC,EAAE;YAAE,UAAU,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;QAChH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,uFAAuF;IACvF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAY,EAAE,CAC/C,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEjG,iGAAiG;IACjG,+FAA+F;IAC/F,mGAAmG;IACnG,gGAAgG;IAChG,yFAAyF;IACzF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAiB,EAAQ,EAAE;QAC9D,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO;QACvC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAAE,OAAO;QAC/E,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;YAAE,OAAO;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,OAAqB,EAAE,QAAyB,EAAU,EAAE;QACnG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAU,EAAE;YACvD,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QACF,uFAAuF;QACvF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,aAAa;YAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAClG,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrC,kFAAkF;YAClF,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;YAChG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5C,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;QACD,KAAK,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAChD,OAAO,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;QAC1D,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,gGAAgG;QAChG,mFAAmF;QACnF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACvF,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1F,CAAC;iBAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAC;gBACnE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjC,uDAAuD;gBACvD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC/B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAChC,CAAC;YACD,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;YAChC,IAAI,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;;YAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;QAC5D,kEAAkE;QAClE,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3G,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACjG,KAAK,CAAC,IAAI,EAAE,6BAA6B,EAAE;oBACzC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;iBACnE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvF,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,kEAAkE;gBAClE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChD,0FAA0F;YAC1F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/G,OAAO;QACT,CAAC;QACD,8FAA8F;QAC9F,4FAA4F;QAC5F,iGAAiG;QACjG,0FAA0F;QAC1F,8FAA8F;QAC9F,+FAA+F;QAC/F,cAAc;QACd,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE;gBAC9B,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpE,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QACxC,+FAA+F;QAC/F,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;;YAC7D,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,gGAAgG;IAChG,8EAA8E;IAC9E,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAiB,EAAE;QACxE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC;QACtD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAI,KAAK,GAAG,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,kBAAkB;gBAAE,OAAO,IAAI,CAAC;YAC7F,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI;YAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,gGAAgG;IAChG,kFAAkF;IAClF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa,EAAsB,EAAE;QACtE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACvF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,oGAAoG;IACpG,MAAM,UAAU,GAAG,CAAC,MAAc,EAA2B,EAAE;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7F,OAAO,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,kGAAkG;IAClG,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa,EAAW,EAAE;QAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,wCAAwC;IACxC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAW,EAAE;QACpD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAQ,EAAE;QACzC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1F,gFAAgF;YAChF,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;YAC1B,2FAA2F;YAC3F,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;gBACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK;oBACnC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChG,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;oBAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzF,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU;gBAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,8FAA8F;IAC9F,wFAAwF;IACxF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,UAAsB,EAAQ,EAAE;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,UAAU,IAAI,UAAU,CAAC,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK;YAAE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/F,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,sFAAsF;IACtF,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;QAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;YACnF,IAAI,QAAQ,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,cAAc,CAAC;gBAAE,MAAM,WAAW,EAAE,CAAC;YAChH,gBAAgB,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC;oBACH,oFAAoF;oBACpF,qFAAqF;oBACrF,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ;wBAAE,SAAS;oBACvF,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC1B,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzF,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,YAAY,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC;IAEF,8FAA8F;IAC9F,+FAA+F;IAC/F,sBAAsB;IACtB,MAAM,eAAe,GAAG,KAAK,EAAE,OAA0B,EAAiB,EAAE;QAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,CACH,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EACvF,yBAAyB,EACzB;wBACE,MAAM,EAAE,OAAO,CAAC,EAAE;qBACnB,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1G,MAAM,MAAM,GAAG,KAAK;qBACjB,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;qBAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM;oBACpB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;oBACnE,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC;wBACxC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC;wBACrC,CAAC,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC5C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;gBAC7C,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE;oBAClE,KAAK,EAAE,sCAAsC;oBAC7C,IAAI,EAAE,aAAa;oBACnB,GAAG,OAAO;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,yCAAyC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,oCAAoC;IAEpC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAU,EAAE;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC/G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAmB;QAC9B,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;oBAChC,uBAAuB,MAAM,CAAC,OAAO,yCAAyC,OAAO,EAAE,WAAW,IAAI,qBAAqB,mEAAmE,MAAM,CAAC,OAAO,yDAAyD;iBACtQ,CAAC,CAAC;YACL,CAAC;YACD,4FAA4F;YAC5F,6FAA6F;YAC7F,uFAAuF;YACvF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;YACjG,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACpD,2FAA2F;YAC3F,yDAAyD;YACzD,MAAM,KAAK,GAAgB;gBACzB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBACtD,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,6BAA6B,CAAC,CAAC;YACxE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YACrC,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;gBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACrG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,MAAM,CAAC;gBACrB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;gBAC7C,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/E,4FAA4F;gBAC5F,wFAAwF;gBACxF,iDAAiD;gBACjD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;gBACrD,IAAI,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC/E,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAChC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBAC/D,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3B,CAAC;oBACD,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACzF,CAAC;gBACD,IAAI,OAAO,GAAkB,IAAI,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,KAAK,IAAI;wBACxB,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtF,IAAI,MAAM,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,+EAA+E;oBAC/E,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;wBACnC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;wBACpE,SAAS;wBACT,IAAI,EAAE,IAAI;qBACX,CAAC,CAAC;oBACH,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACxC,MAAM,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACtC,MAAM,IAAI,cAAc,CACtB,GAAG,OAAO,CAAC,IAAI,mEAAmE,CACnF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnG,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChH,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClF,IAAI,OAAO,KAAK,IAAI;oBAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC1G,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,KAAK,EAAE,GAAG,EAAE,CACV,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CACzC,MAAM;YACJ,CAAC,CAAC,UAAU,CACR,MAAM,EACN,SAAS,CAAC,MAAM,CAAC,EACjB,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,KAAK,IAAI,CAC3E;YACH,CAAC,CAAC,gBAAgB,CACrB;QAEH,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ;gBAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;gBACd,CAAC,OAAO,CAAC,KAAK;oBACZ,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnI,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI;gBAC7B,OAAO,EAAE,MAAM,CAAC,IAAI;aACrB,CAAC,CAAC;YACH,0FAA0F;YAC1F,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/F,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE;gBAChC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/F,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;YACxB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,mEAAmE;YACnE,OAAO,CACL,KAAK;iBACF,WAAW,CAAC,eAAe,CAAC;iBAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,IAAI,CACtG,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzD,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,+DAA+D;oBACvE,SAAS,EAAE,IAAI;oBACf,MAAM;iBACP,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,SAAkB,EAAE,IAAqB,EAAgB,EAAE;oBACzF,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE;wBACrC,MAAM;wBACN,SAAS;wBACT,GAAG,IAAI;wBACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;qBAC1C,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBACtF,CAAC,CAAC;gBACF,8FAA8F;gBAC9F,wFAAwF;gBACxF,gDAAgD;gBAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1E,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,8DAA8D,CAAC;oBAC9E,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC;wBACjD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;wBAC1C,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE;4BACrC,QAAQ,EAAE,IAAI;4BACd,MAAM;4BACN,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;yBAC1C,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjF,CAAC;gBACD,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjC,yFAAyF;gBACzF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9G,wFAAwF;gBACxF,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,OAAO,MAAM,CAAC,kDAAkD,EAAE,IAAI,CAAC,CAAC;gBAC5G,mEAAmE;gBACnE,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChE,OAAO,MAAM,CAAC,mEAAmE,EAAE,IAAI,CAAC,CAAC;gBAC3F,CAAC;gBACD,4FAA4F;gBAC5F,0FAA0F;gBAC1F,iDAAiD;gBACjD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrG,IAAI,IAAI,IAAI,CAAC,KAAK;oBAChB,OAAO,MAAM,CAAC,yEAAyE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxG,MAAM,KAAK,GAAW,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;wBACnD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;4BAC3C,MAAM,IAAI,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,+BAA+B,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;oBACH,2DAA2D;oBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE;4BACrC,MAAM,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI;4BAC9B,KAAK;4BACL,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;yBAC1C,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,GAA4F,IAAI,CAAC;gBACzG,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,oFAAoF;wBACpF,oCAAoC;wBACpC,MAAM,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,CACxC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAC1E,CAAC;oBACJ,CAAC;yBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChC,IAAI,GAAG;4BACL,MAAM,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,IAAI,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;4BACtC,QAAQ;yBACT,CAAC;oBACJ,CAAC;oBACD,4DAA4D;oBAC5D,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC;oBACH,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,0CAA0C;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBACD,IAAI,MAAM,KAAK,IAAI;oBAAE,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpC,+FAA+F;gBAC/F,iGAAiG;gBACjG,gGAAgG;gBAChG,uEAAuE;gBACvE,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;gBAC3B,MAAM,OAAO,GAAG,EAAE;oBAChB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACjD,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;wBACnE,CAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,IAAI,MAAM;oBAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAChE,uEAAuE;gBACvE,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,EAAE;oBAC9D,MAAM,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI;oBAC9B,KAAK;oBACL,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;oBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACzE,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,sBAAsB;gBAC1C,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,6BAA6B,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACzF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;oBACnC,GAAG,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;oBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACxC,MAAM,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACtC,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,gDAAgD,CAAC,CAAC;gBAC3F,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjD,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/B,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,KAAK,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBACvB,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;YAC9B,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,KAAK,EAAE,GAAG,EAAE;YACV,QAAQ,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+FAA+F;AAC/F,SAAS,UAAU,CAAC,MAAc,EAAE,OAAiC,EAAE,OAAgB;IACrF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAClC,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,IAAI,MAAM;QAAE,OAAO,cAAc,MAAM,EAAE,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,MAAM,CAAC;AACpF,CAAC;AAED,gBAAgB;AAChB,SAAS,KAAK,CAAC,EAAQ;IACrB,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,YAAY,cAAc;QAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,SAAiB;IAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
package/build/note.js CHANGED
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { callApi, NotRunningError } from "./client.js";
4
4
  import { ConductorError } from "./errors.js";
5
5
  import { checkoutProject, localCredentials } from "./in-process.js";
6
- import { firstPr, followPhase, headingOf, ITEM, NotePostError, stateLines, } from "./notes.js";
6
+ import { firstPr, followPhase, headingOf, ITEM, NotePostError, stateChangeSchema, stateLines, } from "./notes.js";
7
7
  import { validateNoteShape } from "./protocol.js";
8
8
  import { phaseOfNote } from "./tracker-writes.js";
9
9
  import { projectTracker } from "./trackers.js";
@@ -16,20 +16,12 @@ export const REVISED = 4;
16
16
  // approved plan it reads the item first (a page or two of comments), each within 20 s too. A phase
17
17
  // note's state and PR link take a few more.
18
18
  const NOTE_TIMEOUT_MS = 180_000;
19
- const stateChange = z.object({
20
- errors: z.array(z.string()),
21
- link: z.enum(['already', 'linked', 'none']).optional(),
22
- phase: z.enum(['started', 'pr-opened', 'landed']),
23
- transition: z
24
- .object({ result: z.enum(['already', 'kept', 'moved', 'skipped']), state: z.string().nullable() })
25
- .optional(),
26
- });
27
19
  const posted = z.object({
28
20
  note: z.object({
29
21
  item: z.string(),
30
22
  phase: z.string(),
31
23
  recordError: z.string().optional(),
32
- state: stateChange.optional(),
24
+ state: stateChangeSchema.optional(),
33
25
  url: z.string().nullable(),
34
26
  }),
35
27
  });
@@ -151,7 +143,7 @@ async function noteHere(paths, item, body, io, why) {
151
143
  const moves = phaseOfNote(heading);
152
144
  // No worker here: the PR is the note's own.
153
145
  if (moves !== undefined)
154
- say(key, await followPhase(trackers.writes, profile, key, moves, firstPr(body)), io);
146
+ say(key, await followPhase(trackers.writes, profile, key, moves, firstPr(body), trackers.labels ?? null), io);
155
147
  return 0;
156
148
  }
157
149
  // A note that wasn't posted: exit 1, saying so, since after any other exit 1 the note may be there.
package/build/note.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"note.js","sourceRoot":"","sources":["../src/note.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../src/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,IAAI,EACJ,aAAa,EAGb,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,mGAAmG;AACnG,8FAA8F;AAC9F,mCAAmC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AAEzB,yFAAyF;AACzF,mGAAmG;AACnG,4CAA4C;AAC5C,MAAM,eAAe,GAAG,OAAO,CAAC;AAUhC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC3B,CAAC;CACH,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClE,CAAC,CAAC;AAEH,kGAAkG;AAClG,oGAAoG;AACpG,oGAAoG;AACpG,8FAA8F;AAC9F,iGAAiG;AACjG,uBAAuB;AACvB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,OAA4B,EAC5B,EAAU;IAEV,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,+FAA+F;IAC/F,6EAA6E;IAC7E,MAAM,SAAS,GAAG,CAAC,GAAW,EAAS,EAAE;QACvC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,KAAK,EACL,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAC/D,OAAO,CAAC,MAAM,CACf,CAAC;IACF,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;IACnG,mGAAmG;IACnG,oCAAoC;IACpC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAE9E,IAAI,MAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACxD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU,kBAAkB,CAAC,IAAI,CAAC,QAAQ;YAChD,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC7G,4DAA4D;QAC5D,MAAM,IAAI,cAAc,CACtB,gCAAgC,IAAI,uDAAuD,EAC3F,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,WAAW;YAAE,EAAE,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,wDAAwD;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,iCAAiC,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAClD,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QAClB,EAAE,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QACrF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI;QACjD,OAAO,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,uDAAuD,CAAC,CAAC;IACxG,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI,oBAAoB,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,KAAqB;IAC1C,OAAO,cAAc,CAAC,EAAE,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,oGAAoG;AACpG,oGAAoG;AACpG,gDAAgD;AAChD,KAAK,UAAU,QAAQ,CAAC,KAAqB,EAAE,IAAY,EAAE,IAAY,EAAE,EAAU,EAAE,GAAW;IAChG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,IAAI,IAAI,0CAA0C,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAC5E,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,0FAA0F;QAC1F,WAAW;QACX,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mDAAmD;QACnD,OAAO,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAA2C,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,uDAAuD,CAAC,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,OAAO,GAAG,eAAe,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,4CAA4C;IAC5C,IAAI,KAAK,KAAK,SAAS;QACrB,GAAG,CAAC,GAAG,EAAE,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChH,OAAO,CAAC,CAAC;AACX,CAAC;AAED,oGAAoG;AACpG,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,IAAI,cAAc,CAAC,eAAe,GAAG,EAAE,EAAE;QAC7C,+HAA+H;KAChI,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,SAAS,GAAG,CAAC,IAAY,EAAE,MAAmB,EAAE,EAA+B;IAC7E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI;QAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
package/build/notes.js CHANGED
@@ -7,8 +7,19 @@ import { notePrefixes, trackerKey } from "./profile.js";
7
7
  import { planLanding, planTier, validateNote } from "./protocol.js";
8
8
  import { resolveOpenWait } from "./resolve.js";
9
9
  import { ACTIVE_STATUSES } from "./store.js";
10
- import { linkedPr, phaseOfNote } from "./tracker-writes.js";
10
+ import { linkedPr, phaseOfNote, PHASES } from "./tracker-writes.js";
11
11
  import { linearApi, LinearRequestError } from "./watchers/linear-api.js";
12
+ import {} from "./watchers/linear-labels.js";
13
+ // A StateChange as the API answers it, for `conduct note` and `conduct shelve`.
14
+ export const stateChangeSchema = z.object({
15
+ errors: z.array(z.string()),
16
+ label: z.object({ name: z.string(), result: z.enum(['added', 'already', 'removed']) }).optional(),
17
+ link: z.enum(['already', 'linked', 'none']).optional(),
18
+ phase: z.enum(PHASES),
19
+ transition: z
20
+ .object({ result: z.enum(['already', 'kept', 'moved', 'skipped']), state: z.string().nullable() })
21
+ .optional(),
22
+ });
12
23
  // A note the tracker didn't take. `posted` says whether the worker may post it itself: `no` when
13
24
  // the tracker refused it or was never asked, `unknown` when the request to write it may have landed.
14
25
  export class NotePostError extends ConductorError {
@@ -36,12 +47,27 @@ const REVISE_READS = 3;
36
47
  // The tracker writes a phase note causes (providers design note, section 5): the phase's state, and
37
48
  // on PR opened a link to `pr` (a worker's `ado:<repo>#<n>`). The daemon and a note posted in-process
38
49
  // both come here.
39
- export async function followPhase(writes, profile, item, phase, pr) {
50
+ export async function followPhase(writes, profile, item, phase, pr, labels = null) {
40
51
  const change = { errors: [], phase };
41
52
  const said = (error) => {
42
53
  const details = error instanceof ConductorError && error.details.length > 0 ? ` (${error.details.join('; ')})` : '';
43
54
  return `${error instanceof Error ? error.message : String(error)}${details}`;
44
55
  };
56
+ // A shelved item is held by the human label, so the scheduler doesn't launch it again (ATK-669).
57
+ // The label goes on first: an item moved back to not-started without it would be picked again,
58
+ // so one the label didn't take stays where it is, holding its Area, and the error says so.
59
+ if (phase === 'shelved') {
60
+ const { humanLabel } = profile.tracker;
61
+ try {
62
+ if (labels === null)
63
+ throw new Error(`nothing here labels ${item} ${humanLabel}`);
64
+ change.label = { name: humanLabel, result: await labels.label(item, humanLabel, 'add', profile) };
65
+ }
66
+ catch (error) {
67
+ change.errors.push(`label: ${said(error)}, so ${item} wasn't moved either: label it ${humanLabel}, then move it`);
68
+ return change;
69
+ }
70
+ }
45
71
  try {
46
72
  change.transition = await writes.transition(item, phase, profile);
47
73
  }
@@ -67,7 +93,7 @@ export async function followPhase(writes, profile, item, phase, pr) {
67
93
  }
68
94
  // Worker protocol 2's write-through note (design note, section 4): post it, then record the phase
69
95
  // on the worker and the item at once, so the fleet shows it before any watcher pass.
70
- export function noteService({ briefs, onWaitResolved, operator, planApproval, settleMs = 2000, store, tracker, writes, }) {
96
+ export function noteService({ briefs, labels, onWaitResolved, operator, planApproval, settleMs = 2000, store, tracker, writes, }) {
71
97
  // The `revise:` that stands after the item's newest Plan, from its brief: one after an approve, or
72
98
  // the first answer itself unless the plan was approved after it (in the worker's tab, which
73
99
  // leaves no comment); null without one. `landed` when the item's PR has merged. Throws when the
@@ -148,8 +174,22 @@ export function noteService({ briefs, onWaitResolved, operator, planApproval, se
148
174
  const key = item.toUpperCase();
149
175
  // After an approval (the operator's or the conductor's), the worker learns of a `revise:` at its next
150
176
  // note: this one isn't posted, and it re-plans. A new Plan goes through (it waits on the operator now), and so does a
151
- // Handoff, so a worker can still say it is blocked.
152
- const revised = kind === null ? await revisedSincePlan(project.name, key, phase) : null;
177
+ // Handoff, so a worker can still say it is blocked, and a Shelved note, so it can still stop.
178
+ // A shelved item's work has stopped (ATK-669): until a Started takes it up again, its worker's
179
+ // notes would undo the shelve, such as a PR opened moving it to in review.
180
+ if (kind === null &&
181
+ phase !== 'Started' &&
182
+ phase !== 'Shelved' &&
183
+ store.lifecycle(project.name, key, ['Started', 'Shelved'], null).phase === 'Shelved') {
184
+ throw new ConductorError(`not posted: ${key} is shelved, so its work has stopped`, [
185
+ `end the turn; to take it up again, post "## ${notePrefixes(project.profile)[0] ?? ''}Started" first`,
186
+ ]);
187
+ }
188
+ // A Shelved note leaves nothing open behind it: refused, before anything is posted, as `conduct
189
+ // shelve` refuses it.
190
+ if (phase === 'Shelved' && kind === null && briefs)
191
+ shelveRefusal(key, await briefs.read(key, { fresh: true }));
192
+ const revised = kind === null && phase !== 'Shelved' ? await revisedSincePlan(project.name, key, phase) : null;
153
193
  if (revised && phase !== 'Plan')
154
194
  throw new PlanRevisedError(key, revised, operator);
155
195
  const comment = await tracker.comment(key, body, project.profile);
@@ -185,13 +225,14 @@ export function noteService({ briefs, onWaitResolved, operator, planApproval, se
185
225
  if (!writes || moves === undefined)
186
226
  return {};
187
227
  // This note's PR, else the one the worker has (`conduct pr create` recorded it).
188
- const state = await followPhase(writes, project.profile, key, moves, pr ?? recorded?.pr ?? worker?.pr ?? null);
228
+ const state = await followPhase(writes, project.profile, key, moves, pr ?? recorded?.pr ?? worker?.pr ?? null, labels ?? null);
189
229
  try {
190
230
  store.appendEvent({
191
231
  data: {
192
232
  phase: moves,
193
233
  ...(state.transition ? { result: state.transition.result, state: state.transition.state } : {}),
194
234
  ...(state.link ? { link: state.link } : {}),
235
+ ...(state.label ? { label: state.label } : {}),
195
236
  ...(state.errors.length > 0 ? { errors: state.errors } : {}),
196
237
  ...(worker ? { worker: worker.id } : {}),
197
238
  },
@@ -355,18 +396,51 @@ export function noteService({ briefs, onWaitResolved, operator, planApproval, se
355
396
  export function reviseLine(item, revise) {
356
397
  return `plan ${item} revised${revise.by ? ` by ${revise.by}` : ''}: re-plan with the revise in conduct brief ${item} --fresh (post a new Plan and wait for approval)`;
357
398
  }
399
+ // Why an item can't be shelved now, as an error, before anything is posted (ATK-669): a closed item
400
+ // stays closed, an open PR is abandoned first and a merged one lands, so a shelve leaves nothing
401
+ // open. A PR that can't be read may still be open.
402
+ export function shelveRefusal(key, brief) {
403
+ if (brief.status.type === 'completed' || brief.status.type === 'canceled') {
404
+ throw new ConductorError(`not posted: ${key} is ${brief.status.name}, and a shelve never reopens a closed item`);
405
+ }
406
+ const { pr } = brief;
407
+ if (pr === null)
408
+ return;
409
+ const number = /#(\d+)$/.exec(pr.ref)?.[1] ?? pr.ref;
410
+ if (pr.error !== undefined) {
411
+ throw new ConductorError(`not posted: ${key}'s PR ${pr.ref} couldn't be read, so it may still be open`, [
412
+ pr.error,
413
+ 'try again once it reads',
414
+ ]);
415
+ }
416
+ if (pr.state === 'open') {
417
+ throw new ConductorError(`not posted: ${key}'s PR ${pr.ref} is still open: abandon it first`, [
418
+ `conduct pr abandon ${number} --reason "<why>" from the item's worktree, then shelve it`,
419
+ ]);
420
+ }
421
+ if (pr.state === 'merged') {
422
+ throw new ConductorError(`not posted: ${key}'s PR ${pr.ref} has merged: land it instead`, [
423
+ `conduct land ${number} reads the merge, and the work skill's Landed note closes ${key}`,
424
+ ]);
425
+ }
426
+ }
358
427
  // What a state change says to the worker: one line, and each write that failed.
359
428
  export function stateLines(item, change) {
360
- const { link, transition } = change;
429
+ const { label, link, phase, transition } = change;
361
430
  const moved = transition?.result === 'moved'
362
431
  ? `moved ${item} to ${transition.state ?? '?'}`
363
432
  : transition?.result === 'already'
364
433
  ? `${item} is ${transition.state ?? 'there'} already`
365
434
  : transition?.result === 'kept'
366
- ? `${item} is ${transition.state ?? 'closed'}, and a Started note doesn't reopen it`
435
+ ? `${item} is ${transition.state ?? 'closed'}, and a ${phase === 'shelved' ? 'Shelved' : 'Started'} note doesn't reopen it`
367
436
  : null;
368
437
  const linked = link === 'linked' ? 'linked the PR' : link === 'already' ? 'the PR was linked already' : null;
369
- const line = [moved, linked].filter((part) => part !== null).join('; ');
438
+ const labelled = label
439
+ ? label.result === 'already'
440
+ ? `${item} is labelled ${label.name} already`
441
+ : `labelled ${item} ${label.name}`
442
+ : null;
443
+ const line = [moved, linked, labelled].filter((part) => part !== null).join('; ');
370
444
  return {
371
445
  errors: change.errors.map((e) => `the note is posted, but the tracker didn't follow it: ${e}`),
372
446
  line: line === '' ? null : line,