@descent-vtt/spec-guard 0.22.0 → 0.24.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.
package/dist/prove.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"prove.js","sourceRoot":"","sources":["../src/prove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prove.js","sourceRoot":"","sources":["../src/prove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAW,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;AAC1H,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA0BhE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAgB7C,oFAAoF;AACpF,SAAS,OAAO,CAAC,SAAoB,EAAE,EAAM,EAAE,OAAgB;IAC7D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAClC,OAAO,gBAAgB,CAAC,SAAS,EAAE;QACjC,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,KAAK;QACzD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;QACjD,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9B,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC9B,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAA0B,EAAE,MAAM,GAAqB,EAAE,EAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAkB3H,KAAK,UAAU,SAAS,CACtB,SAAoB,EACpB,OAAgB,EAChB,OAAkC,EAClC,KAAK,GAAgC,GAAG,EAAE,CAAC,IAAI;IAE/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,+BAA+B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAChG,MAAM,MAAM,GAAG,SAAS,CAAC,MAAuB,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,EAAE,OAAsB,EAAqB,EAAE,CAC/D,CAAC,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SAC/F,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAChC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACjG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC;AACzF,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAa,EAAE,MAAc;IACpF,MAAM,IAAI,GAAG,GAAG,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;IACvF,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,KAAK,CAAC,KAAwB;IACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,8DAA8D;AAC9D,SAAS,OAAO,CAAC,SAAoB,EAAE,YAAoB,EAAE,OAAgB;IAC3E,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CACd,SAAoB,EACpB,MAAc,EACd,OAAgB,EAChB,KAAa,EACb,QAAkC,EAClC,MAAc;IAEd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1H,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,SAAS,MAAM,CAAC,SAAoB,EAAE,MAAc;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC;AACpH,CAAC;AAED,mEAAmE;AACnE,SAAS,MAAM,CAAC,SAAoB,EAAE,GAAoB;IACxD,OAAQ,SAAS,CAAC,MAAM,CAAC,GAAc,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,OAAO,GAAqC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IACrI,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,GAAkB,EAAE;QACtC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACjC,EAAE,IAAI,CAAC,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAkB,EAAE;QACnC,IAAI,IAAI,GAAkB,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACpF,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAW,EAAE;QAC9B,MAAM,OAAO,GAAG,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAC/B,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAkB,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,EAAE,IAAI,CAAC,CAAC;QACR,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,qEAAqE;YACrE,wEAAwE;YACxE,yDAAyD;YACzD,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,CAAC;YAC9E,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACtB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;YAC5B,EAAE,IAAI,CAAC,CAAC;YACR,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,wEAAwE;YACxE,sDAAsD;YACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;YAC5D,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;QACjF,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,EAAE,IAAI,CAAC,CAAC;YACR,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC;QAC7B,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,OAAO,EAAE,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAAC,SAAoB;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAC;IAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAuB,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzF,OAAO;QACL,MAAM,EAAE,qDAAqD,MAAM,sIAAsI;KAC1M,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,KAAiB,EAAE,GAAoB,EAAE,OAAgB;IAC3G,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAC;IAC1C,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,yEAAyE;QACzE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,MAAuB,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClD,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC;QACF,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzF,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QACrG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC,CAAC;IACJ,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IACpC,2EAA2E;IAC3E,2EAA2E;IAC3E,qCAAqC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,IAAI,KAAK,kBAAkB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpJ,CAAC;AAED,+EAA+E;AAE/E,sFAAsF;AACtF,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc;IAC1D,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,WAAW,MAAM,MAAM,CAAC;IACjE,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IAClG,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,4BAA4B,MAAM,KAAK,CAAC;IACxE,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;IACzE,OAAO,SAAS,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAElG,KAAK,UAAU,gBAAgB,CAAC,SAAoB,EAAE,KAAiB,EAAE,GAAoB,EAAE,OAAgB;IAC7G,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5D,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,MAAM,OAAO,GAAI,SAAS,CAAC,OAA6C,CAAC,OAAO,CAAC;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,0BAA0B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvI,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QAClG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC,CAAC;IACJ,8EAA8E;IAC9E,2EAA2E;IAC3E,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,KAAK,WAAW,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvK,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAoB,EAAE,GAAoB,EAAE,OAAgB;IACzF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,oFAAoF;IACpF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACvG,0EAA0E;IAC1E,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;IAC/E,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3I,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAoB,EAAE,GAAoB,EAAE,OAAgB;IACzF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAkB,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,KAAK,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,2FAA2F,CAAC;IAC5H,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAW,CAAC;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,oCAAoC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,kBAAkB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;IAC3D,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;SACxG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;SACzF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QACvI,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC,CAAC;IACN,kEAAkE;IAClE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,KAAK,kBAAkB,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpK,CAAC;AAED,+EAA+E;AAE/E,KAAK,UAAU,mBAAmB,CAAC,SAAoB,EAAE,GAAoB,EAAE,OAAgB;IAC7F,MAAM,SAAS,GAAG,SAAS,CAAC,SAAgD,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAEpC,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACnC,kEAAkE;QAClE,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,4DAA4D,CAAC;QAClG,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAkB,CAAC;QAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,+DAA+D;QAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAE,CAAC;YAC/E,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,oFAAoF;IACpF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnH,OAAO,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7E,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QACvF,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,QAAQ,CAAC,SAAoB,EAAE,OAAgB;IAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAgD,CAAC;IAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAuB,CAAC;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;YAAE,SAAS;QAC1F,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzI,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,+EAA+E;AAE/E,yFAAyF;AACzF,SAAS,QAAQ,CAAC,SAAoB;IACpC,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,SAAoB,EAAE,KAAiB,EAAE,GAAoB,EAAE,OAAgB;IACpG,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAiB,CAAC;YAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,uBAAuB,CAAC;QAC7B,KAAK,qBAAqB;YACxB,OAAO,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,KAAK,qBAAqB;YACxB,OAAO,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,kBAAkB;YACrB,OAAO,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD;YACE,OAAO,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,KAAK,UAAU,SAAS,CAAC,MAAgB,EAAE,OAAgB;IACzD,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,KAAK,CAAC,SAAoB,EAAE,KAAiB,EAAE,GAAoB,EAAE,OAAgB;IAClG,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,yFAAyF,CAAC;IAC9H,IAAI,KAA6B,CAAC;IAClC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAe;YACxB,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;YAC1C,SAAS;YACT,OAAO,EAAE,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7C,KAAK,KAAK,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,OAAgB;IAClE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;IAClI,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,sCAAsC,GAAG,CAAC,OAAO,kDAAkD;YAC/G,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;SAC/B,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,UAA8B,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,UAAU,GAAG,KAAK,CAAC;;YAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;IACvI,OAAO;QACL,GAAG,IAAI;QACP,OAAO;QACP,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,MAAM;QACN,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAqB;IACxD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAE/C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,MAAM,KAAK,GAAG,CAAC,OAA+B,EAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACzH,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;QAChF,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI;QACJ,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;QAC9B,OAAO,EAAE;YACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;YACvB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QACD,OAAO;QACP,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,gBAAgB,EAAE,IAAI,CAAC,MAAM;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;KACtF,CAAC;AACJ,CAAC"}
@@ -44,8 +44,35 @@ export declare function createPainter(color: boolean): (text: string, ...styles:
44
44
  export declare function shouldUseColor(stream: {
45
45
  isTTY?: boolean;
46
46
  }, flag: boolean | undefined, env?: NodeJS.ProcessEnv): boolean;
47
- /** Legacy Windows consoles render box-drawing glyphs poorly; degrade to ASCII. */
47
+ /**
48
+ * Whether a report's marks are drawn in ASCII: on Windows, unless a terminal
49
+ * that draws them has said it is there.
50
+ *
51
+ * The fonts a Windows console is set in hold no check mark, cross or warning
52
+ * sign, so a terminal draws those from another font or as boxes. Windows
53
+ * Terminal says it is there with `WT_SESSION`, and VS Code's terminal and
54
+ * mintty with `TERM_PROGRAM`; either set to nothing is as unset. `TERM` was
55
+ * read as a third sign and is none: Git for Windows sets it for everything
56
+ * it starts, and the Cygwin and MSYS2 runtimes for every program built on
57
+ * them, by the version of Windows and not by what the output is drawn on. A
58
+ * pre-commit hook started from cmd.exe had it, and drew the marks in a
59
+ * console that has none of them (ADR-0014, amended 2026-10-11).
60
+ *
61
+ * `SPEC_GUARD_ASCII` asks for ASCII outright, on any platform, as spec-graph
62
+ * reads `SPEC_GRAPH_ASCII`: set to anything but nothing, `0` or `false`,
63
+ * each of which is how a script writes "off", in any case and with spaces
64
+ * around it. It asks for ASCII only. The marks are asked for with
65
+ * `--no-ascii`, and the command line reads that and `--ascii` before it
66
+ * asks here (ADR-0014, amended 2026-10-12).
67
+ */
48
68
  export declare function shouldUseAscii(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean;
69
+ /**
70
+ * What `--strict` adds, where it fails a run or a proof that verified nothing
71
+ * over the specs it matched: the family contract's "nothing measured is not
72
+ * clean" (spec-core's ADR-0005, and ADR-0010 here). The command line says it
73
+ * in these words too, of a family `cites` could not read off a spec pattern.
74
+ */
75
+ export declare const STRICT_REFUSES = "which --strict refuses";
49
76
  /**
50
77
  * The line that says which options came from a project's configuration.
51
78
  *
@@ -95,6 +122,14 @@ export declare function formatBaselines(report: RunResult): string;
95
122
  * the others. Never given an empty list.
96
123
  */
97
124
  export declare function unmatchedClause(patterns: readonly string[]): string;
125
+ /**
126
+ * What a check of citations lost with such patterns where its families are
127
+ * read off the specs, as the clause that follows their naming. One wording
128
+ * for the command line's line, which every such check gets, and for the
129
+ * report and the findings of one `--strict` failed for it. `refused` is
130
+ * whether it did.
131
+ */
132
+ export declare function unreadFamilyClause(patterns: readonly string[] | undefined, refused: boolean): string;
98
133
  /**
99
134
  * The version of a run's `--json` document. A field removed or renamed moves
100
135
  * it; a field added does not. The family contract (spec-core's ADR-0005) asks
@@ -239,6 +274,9 @@ export declare function proveAnnotations(report: ProveReport): Annotation[];
239
274
  * no comment syntax is known for, counted by extension: a citation in either
240
275
  * was not looked at, and a report that stayed quiet about them would read as
241
276
  * though it had been.
277
+ *
278
+ * It ends "every citation names a document in force" only when the check
279
+ * passed. One that failed ends on what failed it, a line for each.
242
280
  */
243
281
  export declare function formatCites(report: CitesReport, options: ReporterOptions): string;
244
282
  /**
@@ -252,7 +290,9 @@ export declare function formatCitesJson(report: CitesReport): string;
252
290
  * What `spec-guard cites` found, for code scanning: each finding on the line
253
291
  * of the comment, with its hint beneath. The fingerprint is the file, the rule
254
292
  * and the id as written, which survives the comment moving. A file whose
255
- * comments could not all be read, and every note, is a notification.
293
+ * comments could not all be read, and every note, is a notification. What a
294
+ * strict check failed for besides a citation is a result too, on a first
295
+ * line, since code scanning shows results and a red job needs one to show.
256
296
  */
257
297
  export declare function formatCitesSarif(report: CitesReport, options?: {
258
298
  version?: string;
@@ -262,7 +302,10 @@ export declare function formatCitesSarif(report: CitesReport, options?: {
262
302
  *
263
303
  * A ghost is `critical`, an error. A stale citation is a warning and `minor`,
264
304
  * and under `--strict`, where it fails the check, an error and `critical`. A
265
- * file whose comments could not all be read is a notice on its first line.
305
+ * file whose comments could not all be read is a notice on its first line,
306
+ * and an error there under `--strict`, which fails the check for it as well;
307
+ * so is each spec pattern a strict check lost a family to, and a check that
308
+ * read nothing, on the first spec's first line.
266
309
  */
267
310
  export declare function citesAnnotations(report: CitesReport): Annotation[];
268
311
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
package/dist/reporter.js CHANGED
@@ -7,10 +7,11 @@
7
7
  * snippets from the offending code.
8
8
  */
9
9
  import { createHash } from 'node:crypto';
10
+ import { literal } from './literal.js';
10
11
  import { mergeLedgers, tallyLedger } from './scope.js';
11
12
  // Raw SGR codes - a colour library is not worth a dependency here.
12
13
  const ESC = String.fromCharCode(27);
13
- const ANSI = {
14
+ const ANSI = literal({
14
15
  reset: `${ESC}[0m`,
15
16
  bold: `${ESC}[1m`,
16
17
  dim: `${ESC}[2m`,
@@ -21,7 +22,7 @@ const ANSI = {
21
22
  magenta: `${ESC}[35m`,
22
23
  cyan: `${ESC}[36m`,
23
24
  gray: `${ESC}[90m`,
24
- };
25
+ });
25
26
  /** Creates a `paint(text, style)` helper honouring the color setting. */
26
27
  export function createPainter(color) {
27
28
  if (!color)
@@ -51,11 +52,34 @@ export function shouldUseColor(stream, flag, env = process.env) {
51
52
  return false;
52
53
  return Boolean(stream.isTTY);
53
54
  }
54
- /** Legacy Windows consoles render box-drawing glyphs poorly; degrade to ASCII. */
55
+ /**
56
+ * Whether a report's marks are drawn in ASCII: on Windows, unless a terminal
57
+ * that draws them has said it is there.
58
+ *
59
+ * The fonts a Windows console is set in hold no check mark, cross or warning
60
+ * sign, so a terminal draws those from another font or as boxes. Windows
61
+ * Terminal says it is there with `WT_SESSION`, and VS Code's terminal and
62
+ * mintty with `TERM_PROGRAM`; either set to nothing is as unset. `TERM` was
63
+ * read as a third sign and is none: Git for Windows sets it for everything
64
+ * it starts, and the Cygwin and MSYS2 runtimes for every program built on
65
+ * them, by the version of Windows and not by what the output is drawn on. A
66
+ * pre-commit hook started from cmd.exe had it, and drew the marks in a
67
+ * console that has none of them (ADR-0014, amended 2026-10-11).
68
+ *
69
+ * `SPEC_GUARD_ASCII` asks for ASCII outright, on any platform, as spec-graph
70
+ * reads `SPEC_GRAPH_ASCII`: set to anything but nothing, `0` or `false`,
71
+ * each of which is how a script writes "off", in any case and with spaces
72
+ * around it. It asks for ASCII only. The marks are asked for with
73
+ * `--no-ascii`, and the command line reads that and `--ascii` before it
74
+ * asks here (ADR-0014, amended 2026-10-12).
75
+ */
55
76
  export function shouldUseAscii(env = process.env, platform = process.platform) {
77
+ const asked = (env['SPEC_GUARD_ASCII'] ?? '').trim().toLowerCase();
78
+ if (asked !== '' && asked !== '0' && asked !== 'false')
79
+ return true;
56
80
  if (platform !== 'win32')
57
81
  return false;
58
- return !env['WT_SESSION'] && !env['TERM'] && !env['TERM_PROGRAM'];
82
+ return !env['WT_SESSION'] && !env['TERM_PROGRAM'];
59
83
  }
60
84
  function symbols(ascii) {
61
85
  return ascii
@@ -73,9 +97,10 @@ const NOTHING_READ = 'no source file was read, so nothing was checked';
73
97
  /**
74
98
  * What `--strict` adds, where it fails a run or a proof that verified nothing
75
99
  * over the specs it matched: the family contract's "nothing measured is not
76
- * clean" (spec-core's ADR-0005, and ADR-0010 here).
100
+ * clean" (spec-core's ADR-0005, and ADR-0010 here). The command line says it
101
+ * in these words too, of a family `cites` could not read off a spec pattern.
77
102
  */
78
- const STRICT_REFUSES = 'which --strict refuses';
103
+ export const STRICT_REFUSES = 'which --strict refuses';
79
104
  function formatDuration(ms) {
80
105
  return ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(2)}s`;
81
106
  }
@@ -401,6 +426,16 @@ export function formatBaselines(report) {
401
426
  export function unmatchedClause(patterns) {
402
427
  return `the ${patterns.length === 1 ? 'pattern' : 'patterns'} ${patterns.map((pattern) => `"${pattern}"`).join(', ')} matched no spec file`;
403
428
  }
429
+ /**
430
+ * What a check of citations lost with such patterns where its families are
431
+ * read off the specs, as the clause that follows their naming. One wording
432
+ * for the command line's line, which every such check gets, and for the
433
+ * report and the findings of one `--strict` failed for it. `refused` is
434
+ * whether it did.
435
+ */
436
+ export function unreadFamilyClause(patterns, refused) {
437
+ return `, so no citation of a document under ${patterns?.length === 1 ? 'it' : 'them'} was looked for${refused ? `, ${STRICT_REFUSES}` : ''}`;
438
+ }
404
439
  /**
405
440
  * The version of a run's `--json` document. A field removed or renamed moves
406
441
  * it; a field added does not. The family contract (spec-core's ADR-0005) asks
@@ -1082,6 +1117,9 @@ function familyLine(family) {
1082
1117
  * no comment syntax is known for, counted by extension: a citation in either
1083
1118
  * was not looked at, and a report that stayed quiet about them would read as
1084
1119
  * though it had been.
1120
+ *
1121
+ * It ends "every citation names a document in force" only when the check
1122
+ * passed. One that failed ends on what failed it, a line for each.
1085
1123
  */
1086
1124
  export function formatCites(report, options) {
1087
1125
  const paint = createPainter(options.color);
@@ -1126,23 +1164,33 @@ export function formatCites(report, options) {
1126
1164
  ].filter((part) => part !== null);
1127
1165
  lines.push(parts.join(paint(' · ', 'dim')));
1128
1166
  const names = (count) => `${countLabel(count, 'citation')} ${count === 1 ? 'names' : 'name'}`;
1167
+ const ending = [];
1129
1168
  if (summary.ghosts > 0) {
1130
- lines.push(paint(`${glyphs.fail} ${names(summary.ghosts)} a document that does not exist`, 'red', 'bold'));
1169
+ ending.push(paint(`${glyphs.fail} ${names(summary.ghosts)} a document that does not exist`, 'red', 'bold'));
1131
1170
  }
1132
1171
  else if (report.families.length === 0 || summary.files === 0) {
1133
1172
  const said = report.families.length === 0 ? NOTHING_LOOKED_FOR : NOTHING_READ;
1134
1173
  // Under --strict the same sentence is why the check failed.
1135
- lines.push(report.nothingRead === undefined
1174
+ ending.push(report.nothingRead === undefined
1136
1175
  ? paint(`${glyphs.warn} ${said}`, 'yellow')
1137
1176
  : paint(`${glyphs.fail} ${said}, ${STRICT_REFUSES}`, 'red', 'bold'));
1138
1177
  }
1139
1178
  else if (summary.stale > 0) {
1140
- lines.push(paint(`${report.ok ? glyphs.warn : glyphs.fail} ${names(summary.stale)} a document no longer in force`, 'yellow', 'bold'));
1179
+ ending.push(paint(`${report.ok ? glyphs.warn : glyphs.fail} ${names(summary.stale)} a document no longer in force`, 'yellow', 'bold'));
1141
1180
  }
1142
- else {
1143
- lines.push(paint(`${glyphs.pass} every citation names a document in force`, 'green'));
1181
+ // What else a strict check failed for, each on a line of its own after
1182
+ // whichever of those was said. Neither had a line, and the report of a
1183
+ // check that exited 1 for one of them ended as the report of one that
1184
+ // passed (ADR-0017, amended 2026-10-12).
1185
+ if (report.unreadComments !== undefined) {
1186
+ ending.push(paint(`${glyphs.fail} ${countLabel(report.gaps.length, 'file')} could not be read in full, ${STRICT_REFUSES}`, 'red', 'bold'));
1144
1187
  }
1145
- return lines.join('\n');
1188
+ if (report.unreadFamily !== undefined) {
1189
+ ending.push(paint(`${glyphs.fail} ${unmatchedClause(report.unmatchedSpecs)}${unreadFamilyClause(report.unmatchedSpecs, true)}`, 'red', 'bold'));
1190
+ }
1191
+ if (ending.length === 0)
1192
+ ending.push(paint(`${glyphs.pass} every citation names a document in force`, 'green'));
1193
+ return [...lines, ...ending].join('\n');
1146
1194
  }
1147
1195
  /**
1148
1196
  * The version of `spec-guard cites --json`'s document. A field removed or
@@ -1155,9 +1203,18 @@ export function formatCitesJson(report) {
1155
1203
  formatVersion: CITES_FORMAT_VERSION,
1156
1204
  ok: report.ok,
1157
1205
  ...(report.nothingRead === undefined ? {} : { nothingRead: true }),
1206
+ // Beside `ok: false`, as `nothingRead` is: which of `gaps` and
1207
+ // `unmatchedSpecs` a strict check failed for, where each alone is in
1208
+ // the document of a check that passed too.
1209
+ unreadComments: report.unreadComments,
1210
+ ...(report.unreadFamily === undefined ? {} : { unreadFamily: true }),
1158
1211
  root: report.root,
1159
1212
  durationMs: Math.round(report.durationMs * 1000) / 1000,
1160
1213
  families: report.families,
1214
+ // After the families, which are what a pattern that matched no file
1215
+ // leaves short. Written only when there is one to name, as JSON leaves
1216
+ // out what is undefined.
1217
+ unmatchedSpecs: report.unmatchedSpecs,
1161
1218
  summary: report.summary,
1162
1219
  findings: report.findings,
1163
1220
  gaps: report.gaps,
@@ -1171,12 +1228,16 @@ const CITE_SARIF_RULES = [
1171
1228
  { id: 'ghost-citation', text: 'A comment cites a document that does not exist.' },
1172
1229
  { id: 'stale-citation', text: 'A comment cites a document that is no longer in force.' },
1173
1230
  { id: 'nothing-read', text: 'A check under --strict that read no source file for citations.' },
1231
+ { id: 'unread-comments', text: 'A check under --strict that could not read every comment of a file.' },
1232
+ { id: 'unread-family', text: 'A check under --strict that read its families off the specs, where a spec pattern matched no file.' },
1174
1233
  ];
1175
1234
  /**
1176
1235
  * What `spec-guard cites` found, for code scanning: each finding on the line
1177
1236
  * of the comment, with its hint beneath. The fingerprint is the file, the rule
1178
1237
  * and the id as written, which survives the comment moving. A file whose
1179
- * comments could not all be read, and every note, is a notification.
1238
+ * comments could not all be read, and every note, is a notification. What a
1239
+ * strict check failed for besides a citation is a result too, on a first
1240
+ * line, since code scanning shows results and a red job needs one to show.
1180
1241
  */
1181
1242
  export function formatCitesSarif(report, options = {}) {
1182
1243
  const notifications = [
@@ -1205,7 +1266,7 @@ export function formatCitesSarif(report, options = {}) {
1205
1266
  locations: [sarifLocation(finding.file, finding.line, finding.column)],
1206
1267
  partialFingerprints: { specGuardCitation: fingerprint([finding.file, finding.rule, finding.cited]) },
1207
1268
  })),
1208
- ...nothingReadAnnotations(report).map((annotation) => ({
1269
+ ...strictAnnotations(report).map((annotation) => ({
1209
1270
  ruleId: annotation.rule,
1210
1271
  level: SARIF_LEVEL,
1211
1272
  message: { text: `${annotation.message}\n${annotation.hint}` },
@@ -1222,7 +1283,10 @@ export function formatCitesSarif(report, options = {}) {
1222
1283
  *
1223
1284
  * A ghost is `critical`, an error. A stale citation is a warning and `minor`,
1224
1285
  * and under `--strict`, where it fails the check, an error and `critical`. A
1225
- * file whose comments could not all be read is a notice on its first line.
1286
+ * file whose comments could not all be read is a notice on its first line,
1287
+ * and an error there under `--strict`, which fails the check for it as well;
1288
+ * so is each spec pattern a strict check lost a family to, and a check that
1289
+ * read nothing, on the first spec's first line.
1226
1290
  */
1227
1291
  export function citesAnnotations(report) {
1228
1292
  return [
@@ -1236,18 +1300,64 @@ export function citesAnnotations(report) {
1236
1300
  message: finding.message,
1237
1301
  hint: finding.hint,
1238
1302
  })),
1239
- ...report.gaps.map((gap) => ({
1240
- rule: 'unread-comments',
1241
- identity: ['unread-comments', gap.file, gap.reason],
1242
- level: 'notice',
1243
- severity: 'info',
1244
- file: gap.file,
1245
- line: 1,
1246
- message: `${gap.file} ${gap.detail}, so a citation in it may have been missed`,
1247
- })),
1303
+ ...unreadCommentsAnnotations(report),
1304
+ ...unreadFamilyAnnotations(report),
1248
1305
  ...nothingReadAnnotations(report),
1249
1306
  ];
1250
1307
  }
1308
+ /**
1309
+ * What a `cites` check failed for under `--strict` besides a citation, as the
1310
+ * findings SARIF places beside them: a file read in part, a family that went
1311
+ * unread, a check that read nothing. Without `--strict` none fails the check,
1312
+ * and a file read in part is a notification there.
1313
+ */
1314
+ function strictAnnotations(report) {
1315
+ return [
1316
+ ...(report.unreadComments === undefined ? [] : unreadCommentsAnnotations(report)),
1317
+ ...unreadFamilyAnnotations(report),
1318
+ ...nothingReadAnnotations(report),
1319
+ ];
1320
+ }
1321
+ /**
1322
+ * A file whose comments could not all be read, on its first line: a notice,
1323
+ * and under `--strict`, which fails the check for it, an error and `major`
1324
+ * that says so, with what to do. It is the same finding either way, known by
1325
+ * its file and what stopped the read.
1326
+ */
1327
+ function unreadCommentsAnnotations(report) {
1328
+ const refused = report.unreadComments !== undefined;
1329
+ return report.gaps.map((gap) => ({
1330
+ rule: 'unread-comments',
1331
+ identity: ['unread-comments', gap.file, gap.reason],
1332
+ level: refused ? 'error' : 'notice',
1333
+ severity: refused ? 'major' : 'info',
1334
+ file: gap.file,
1335
+ line: 1,
1336
+ message: `${gap.file} ${gap.detail}, so a citation in it may have been missed${refused ? `, ${STRICT_REFUSES}` : ''}`,
1337
+ ...(refused ? { hint: 'make it a file whose comments can all be read, or leave it out of the check with --exclude' } : {}),
1338
+ }));
1339
+ }
1340
+ /**
1341
+ * A family a strict check could not read off the specs, which fails it: one
1342
+ * finding to each spec pattern that matched no file, an error and `major`,
1343
+ * placed where `nothing-read` is, since it is about a pattern and no line of
1344
+ * a spec. It is known by its rule and the pattern.
1345
+ */
1346
+ function unreadFamilyAnnotations(report) {
1347
+ if (report.unreadFamily === undefined)
1348
+ return [];
1349
+ const { file } = report.unreadFamily;
1350
+ return report.unmatchedSpecs.map((pattern) => ({
1351
+ rule: 'unread-family',
1352
+ identity: ['unread-family', pattern],
1353
+ level: 'error',
1354
+ severity: 'major',
1355
+ file,
1356
+ line: 1,
1357
+ message: `${unmatchedClause([pattern])}${unreadFamilyClause([pattern], true)}`,
1358
+ hint: 'remove the pattern, or name the documents comments cite in "cites", which finds each family by its own files',
1359
+ }));
1360
+ }
1251
1361
  /**
1252
1362
  * A `cites` check under `--strict` that read no source file, which fails it:
1253
1363
  * one finding, as a run that verified nothing has - an error and `major`, on