pickle-jar 1.0.1 → 1.0.3

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 (36) hide show
  1. package/dist/src/feature-file-visitor.js +129 -0
  2. package/dist/src/feature-file-visitor.js.map +1 -0
  3. package/dist/src/get-call-sites.js +12 -0
  4. package/dist/src/get-call-sites.js.map +1 -0
  5. package/dist/src/grammar/GherkinLexer.js +222 -0
  6. package/dist/src/grammar/GherkinLexer.js.map +1 -0
  7. package/dist/src/grammar/GherkinParser.js +1696 -0
  8. package/dist/src/grammar/GherkinParser.js.map +1 -0
  9. package/dist/src/grammar/GherkinParserVisitor.js +4 -0
  10. package/dist/src/grammar/GherkinParserVisitor.js.map +1 -0
  11. package/dist/src/index.js.map +1 -0
  12. package/dist/src/step-definition.js +3 -0
  13. package/dist/src/step-definition.js.map +1 -0
  14. package/dist/src/step.js +3 -0
  15. package/dist/src/step.js.map +1 -0
  16. package/dist/src/test-runner.js +32 -0
  17. package/dist/src/test-runner.js.map +1 -0
  18. package/dist/test/runner.js +87 -0
  19. package/dist/test/runner.js.map +1 -0
  20. package/dist/types/src/feature-file-visitor.d.ts +19 -0
  21. package/dist/types/src/get-call-sites.d.ts +2 -0
  22. package/dist/types/src/grammar/GherkinLexer.d.ts +44 -0
  23. package/dist/types/src/grammar/GherkinParser.d.ts +261 -0
  24. package/dist/types/src/grammar/GherkinParserVisitor.d.ts +150 -0
  25. package/dist/types/src/index.d.ts +3 -0
  26. package/dist/types/src/step-definition.d.ts +5 -0
  27. package/dist/types/src/step.d.ts +1 -0
  28. package/dist/types/src/test-runner.d.ts +2 -0
  29. package/dist/types/test/runner.d.ts +1 -0
  30. package/package.json +5 -2
  31. package/.eslintignore +0 -4
  32. package/.eslintrc +0 -12
  33. package/.idea/modules.xml +0 -8
  34. package/.idea/pickle-jar.iml +0 -12
  35. package/.idea/vcs.xml +0 -6
  36. package/Makefile +0 -43
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GherkinParser.js","sourceRoot":"","sources":["../../../src/grammar/GherkinParser.ts"],"names":[],"mappings":";AAAA,cAAc;AACd,wEAAwE;;;;AAGxE,0CAAuC;AACvC,kEAA+D;AAC/D,gFAA6E;AAE7E,wEAAqE;AAErE,4CAAyC;AACzC,kEAA+D;AAC/D,wEAAqE;AAGrE,wEAAqE;AAOrE,4DAAyD;AAEzD,mEAA6C;AAK7C,MAAa,aAAc,SAAQ,eAAM;IA8DxC,YAAY;IACZ,WAAW;IACX,IAAW,UAAU;QACpB,OAAO,aAAa,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,uCAAuC;IAEvC,YAAY;IACZ,IAAW,eAAe,KAAa,OAAO,kBAAkB,CAAC,CAAC,CAAC;IAEnE,YAAY;IACZ,IAAW,SAAS,KAAe,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,YAAY;IACZ,IAAW,aAAa,KAAa,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjE,8BAA8B,CAAC,SAAkB,EAAE,OAAgB;QAC5E,OAAO,IAAI,mDAAwB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,KAAkB;QAC7B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,uCAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,kBAAkB;IACX,WAAW;QACjB,IAAI,SAAS,GAAuB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,OAAO,EAAE;oBACrC;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC,OAAO,EAAE,CAAC;yBACd;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;aACA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,OAAO;QACb,IAAI,SAAS,GAAmB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,UAAU,EAAE;oBACrC;wBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC,UAAU,EAAE,CAAC;qBACjB;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,QAAQ,IAAI,GAAG,KAAK,aAAa,CAAC,gBAAgB,EAAE;oBAChF;wBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BAC3B,KAAK,aAAa,CAAC,QAAQ;gCAC1B;oCACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oCAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;iCACf;gCACD,MAAM;4BACP,KAAK,aAAa,CAAC,gBAAgB;gCAClC;oCACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oCAChB,IAAI,CAAC,eAAe,EAAE,CAAC;iCACtB;gCACD,MAAM;4BACP;gCACC,MAAM,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;yBACrC;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;aACA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,UAAU;QAChB,IAAI,SAAS,GAAsB,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;aACX;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,QAAQ;QACd,IAAI,SAAS,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,eAAe;QACrB,IAAI,SAAS,GAA2B,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACjE,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,aAAa;QACnB,IAAI,SAAS,GAAyB,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAChE,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,GAAG;oBACF;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACf;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB,QAAQ,GAAG,KAAK,aAAa,CAAC,IAAI,EAAE;aACpC;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,WAAW;QACjB,IAAI,SAAS,GAAuB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACf;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,QAAQ;QACd,IAAI,SAAS,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,GAAG;oBACF;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC,IAAI,EAAE,CAAC;yBACX;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB,QAAQ,GAAG,KAAK,aAAa,CAAC,cAAc,EAAE;gBAC/C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAG,CAAC,kBAAkB,EAAE;oBACrD,IAAI,IAAI,KAAK,CAAC,EAAE;wBACf;4BACA;gCACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gCAChB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gCAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gCAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gCACxB,GAAG;oCACF;wCACA;4CACA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4CAChB,IAAI,CAAC,IAAI,EAAE,CAAC;yCACX;qCACA;oCACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oCAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oCAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iCACxB,QAAQ,GAAG,KAAK,aAAa,CAAC,cAAc,EAAE;6BAC9C;yBACA;qBACD;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnE;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC9B;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,IAAI;QACV,IAAI,SAAS,GAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;aAClB;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,IAAI;QACV,IAAI,SAAS,GAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,SAAS,EAAE;oBACvC;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,YAAY,EAAE,CAAC;yBACnB;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,QAAQ,EAAE;oBACtC;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,WAAW,EAAE,CAAC;yBAClB;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBACjC;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,OAAO,EAAE,CAAC;yBACd;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBACjC;wBACA;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,OAAO,EAAE,CAAC;yBACd;qBACA;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxB;aACA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,SAAS;QACf,IAAI,SAAS,GAAqB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,YAAY;QAClB,IAAI,SAAS,GAAwB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,QAAQ;QACd,IAAI,SAAS,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,WAAW;QACjB,IAAI,SAAS,GAAuB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;oBAC9B;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,IAAI,EAAE,CAAC;qBACX;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,QAAQ;QACd,IAAI,SAAS,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,QAAS,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAG;oBACxE,KAAK,CAAC;wBACL;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,IAAI,EAAE,CAAC;yBACX;wBACD,MAAM;iBACN;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,OAAO;QACb,IAAI,SAAS,GAAmB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,QAAS,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAG;oBACxE,KAAK,CAAC;wBACL;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,IAAI,EAAE,CAAC;yBACX;wBACD,MAAM;iBACN;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,OAAO;QACb,IAAI,SAAS,GAAmB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,QAAS,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAG;oBACxE,KAAK,CAAC;wBACL;4BACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;4BACjB,IAAI,CAAC,IAAI,EAAE,CAAC;yBACX;wBACD,MAAM;iBACN;gBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;qBAChB;iBACD;aAEA;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,SAAS;QACf,IAAI,SAAS,GAAqB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,GAAW,CAAC;QAChB,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,aAAa,CAAC,eAAe,EAAE;oBAC1C;wBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;qBACzC;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;aACzC;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,IAAI;QACV,IAAI,SAAS,GAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI;YACH,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,GAAG,CAAC,CAAC;gBACT,GAAG;oBACF,QAAQ,IAAI,EAAE;wBACd,KAAK,CAAC;4BACL;gCACA;oCACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oCACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iCAC7B;6BACA;4BACD,MAAM;wBACP;4BACC,MAAM,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;qBACrC;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpE,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAG,CAAC,kBAAkB,EAAE;aACvD;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,kBAAkB;IACX,WAAW;QACjB,IAAI,SAAS,GAAuB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI;YACH,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC;gBACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,GAAG,CAAC,CAAC;gBACT,GAAG;oBACF,QAAQ,IAAI,EAAE;wBACd,KAAK,CAAC;4BACL;gCACA;oCACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oCACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iCACxC;6BACA;4BACD,MAAM;wBACP;4BACC,MAAM,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;qBACrC;oBACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpE,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAG,CAAC,kBAAkB,EAAE;aACvD;SACD;QACD,OAAO,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,2CAAoB,EAAE;gBACvC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,EAAE,CAAC;aACT;SACD;gBACO;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IA4FM,MAAM,KAAK,IAAI;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YACzB,aAAa,CAAC,KAAK,GAAG,IAAI,iCAAe,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;SACzG;QAED,OAAO,aAAa,CAAC,KAAK,CAAC;IAC5B,CAAC;;AAvlCF,sCAylCC;AAxlCuB,qBAAO,GAAG,CAAC,CAAC;AACZ,sBAAQ,GAAG,CAAC,CAAC;AACb,8BAAgB,GAAG,CAAC,CAAC;AACrB,mBAAK,GAAG,CAAC,CAAC;AACV,uBAAS,GAAG,CAAC,CAAC;AACd,kBAAI,GAAG,CAAC,CAAC;AACT,sBAAQ,GAAG,CAAC,CAAC;AACb,kBAAI,GAAG,CAAC,CAAC;AACT,iBAAG,GAAG,CAAC,CAAC;AACR,iBAAG,GAAG,EAAE,CAAC;AACT,sBAAQ,GAAG,EAAE,CAAC;AACd,wBAAU,GAAG,EAAE,CAAC;AAChB,kBAAI,GAAG,EAAE,CAAC;AACV,iBAAG,GAAG,EAAE,CAAC;AACT,qBAAO,GAAG,EAAE,CAAC;AACb,4BAAc,GAAG,EAAE,CAAC;AACpB,gBAAE,GAAG,EAAE,CAAC;AACR,iBAAG,GAAG,EAAE,CAAC;AACT,6BAAe,GAAG,EAAE,CAAC;AACrB,6BAAe,GAAG,EAAE,CAAC;AACrB,2BAAa,GAAG,EAAE,CAAC;AACnB,8BAAgB,GAAG,CAAC,CAAC;AACrB,0BAAY,GAAG,CAAC,CAAC;AACjB,6BAAe,GAAG,CAAC,CAAC;AACpB,2BAAa,GAAG,CAAC,CAAC;AAClB,kCAAoB,GAAG,CAAC,CAAC;AACzB,gCAAkB,GAAG,CAAC,CAAC;AACvB,8BAAgB,GAAG,CAAC,CAAC;AACrB,2BAAa,GAAG,CAAC,CAAC;AAClB,uBAAS,GAAG,CAAC,CAAC;AACd,uBAAS,GAAG,CAAC,CAAC;AACd,4BAAc,GAAG,EAAE,CAAC;AACpB,+BAAiB,GAAG,EAAE,CAAC;AACvB,2BAAa,GAAG,EAAE,CAAC;AACnB,8BAAgB,GAAG,EAAE,CAAC;AACtB,2BAAa,GAAG,EAAE,CAAC;AACnB,0BAAY,GAAG,EAAE,CAAC;AAClB,0BAAY,GAAG,EAAE,CAAC;AAClB,4BAAc,GAAG,EAAE,CAAC;AACpB,uBAAS,GAAG,EAAE,CAAC;AACf,8BAAgB,GAAG,EAAE,CAAC;AAC7C,wCAAwC;AACjB,uBAAS,GAAa;IAC5C,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB;IACrE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IACvE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAC3E,WAAW,EAAE,MAAM,EAAE,aAAa;CAClC,CAAC;AAEsB,4BAAc,GAA8B;IACnE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC3E,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;CACvE,CAAC;AACsB,6BAAe,GAA8B;IACpE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW;IAC1E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM;IAC1E,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB;IACrF,eAAe;CACf,CAAC;AACqB,wBAAU,GAAe,IAAI,+BAAc,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AA27B7G,4BAAc,GACpC,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,0CAA0C,CAAC;AAY7C,MAAa,kBAAmB,SAAQ,qCAAiB;IAGjD,OAAO,CAAC,CAAU;QACxB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;SAC5C;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SAC9C;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAvBD,gDAuBC;AAGD,MAAa,cAAe,SAAQ,qCAAiB;IAC7C,OAAO,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,UAAU;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAGM,QAAQ,CAAC,CAAU;QACzB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SAC7C;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;SAC/C;IACF,CAAC;IAGM,eAAe,CAAC,CAAU;QAChC,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;SACpD;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;SACtD;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAClC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAvCD,wCAuCC;AAGD,MAAa,iBAAkB,SAAQ,qCAAiB;IAChD,UAAU,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IACxE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,eAAe,EAAE;YAC5B,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACrC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AArBD,8CAqBC;AAGD,MAAa,eAAgB,SAAQ,qCAAiB;IAC9C,QAAQ,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,0CAwBC;AAGD,MAAa,sBAAuB,SAAQ,qCAAiB;IACrD,gBAAgB,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IACM,aAAa;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACrD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC7E,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,oBAAoB,EAAE;YACjC,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC1C;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AA3BD,wDA2BC;AAGD,MAAa,oBAAqB,SAAQ,qCAAiB;IACnD,QAAQ,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAGM,QAAQ,CAAC,CAAU;QACzB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SAC7C;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;SAC/C;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3E,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC/B,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACxC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AA3BD,oDA2BC;AAGD,MAAa,kBAAmB,SAAQ,qCAAiB;IACjD,QAAQ;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAjBD,gDAiBC;AAGD,MAAa,eAAgB,SAAQ,qCAAiB;IAG9C,IAAI,CAAC,CAAU;QACrB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1C;aAAM;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC5C;IACF,CAAC;IAGM,IAAI,CAAC,CAAU;QACrB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;SACzC;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SAC3C;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAhCD,0CAgCC;AAGD,MAAa,WAAY,SAAQ,qCAAiB;IAC1C,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,SAAS,EAAE;YACtB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAjBD,kCAiBC;AAGD,MAAa,WAAY,SAAQ,qCAAiB;IAC1C,SAAS;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;IACM,QAAQ;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC;IACM,QAAQ;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC;IAGM,YAAY,CAAC,CAAU;QAC7B,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;SACjD;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;SACnD;IACF,CAAC;IAGM,WAAW,CAAC,CAAU;QAC5B,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;SAChD;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;SAClD;IACF,CAAC;IAGM,OAAO,CAAC,CAAU;QACxB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;SAC5C;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SAC9C;IACF,CAAC;IAGM,OAAO,CAAC,CAAU;QACxB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;SAC5C;aAAM;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SAC9C;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,SAAS,EAAE;YACtB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AA3DD,kCA2DC;AAGD,MAAa,gBAAiB,SAAQ,qCAAiB;IAC/C,KAAK,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,4CAwBC;AAGD,MAAa,mBAAoB,SAAQ,qCAAiB;IAClD,SAAS,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1E,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC9B,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,kDAwBC;AAGD,MAAa,eAAgB,SAAQ,qCAAiB;IAC9C,IAAI,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,0CAwBC;AAGD,MAAa,kBAAmB,SAAQ,qCAAiB;IACjD,QAAQ,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,gDAwBC;AAGD,MAAa,eAAgB,SAAQ,qCAAiB;IAC9C,IAAI,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,0CAwBC;AAGD,MAAa,cAAe,SAAQ,qCAAiB;IAC7C,GAAG,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAClC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,wCAwBC;AAGD,MAAa,cAAe,SAAQ,qCAAiB;IAC7C,GAAG,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,WAAW;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IACM,IAAI;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACM,SAAS;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAClC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,wCAwBC;AAGD,MAAa,gBAAiB,SAAQ,qCAAiB;IAG/C,eAAe,CAAC,CAAU;QAChC,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;SACrD;aAAM;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;SACvD;IACF,CAAC;IACM,eAAe,KAA+B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjH,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAxBD,4CAwBC;AAGD,MAAa,WAAY,SAAQ,qCAAiB;IAG1C,GAAG,CAAC,CAAU;QACpB,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACzC;aAAM;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC3C;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,SAAS,EAAE;YACtB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAvBD,kCAuBC;AAGD,MAAa,kBAAmB,SAAQ,qCAAiB;IAGjD,cAAc,CAAC,CAAU;QAC/B,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;SACpD;aAAM;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SACtD;IACF,CAAC;IACD,YAAY,MAAqC,EAAE,aAAqB;QACvE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,YAAY;IACZ,IAAW,SAAS,KAAa,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,YAAY;IACL,MAAM,CAAS,OAAqC;QAC1D,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACnC;IACF,CAAC;CACD;AAvBD,gDAuBC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Generated from ./src/grammar/GherkinParser.g4 by ANTLR 4.9.0-SNAPSHOT
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=GherkinParserVisitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GherkinParserVisitor.js","sourceRoot":"","sources":["../../../src/grammar/GherkinParserVisitor.ts"],"names":[],"mappings":";AAAA,wEAAwE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,4DAAkC;AAClC,iDAAuB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=step-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-definition.js","sourceRoot":"","sources":["../../src/step-definition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/step.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testRunner = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const antlr4ts_1 = require("antlr4ts");
6
+ const fs = tslib_1.__importStar(require("fs"));
7
+ const glob_1 = require("glob");
8
+ const path = tslib_1.__importStar(require("path"));
9
+ const feature_file_visitor_1 = require("./feature-file-visitor");
10
+ const get_call_sites_1 = require("./get-call-sites");
11
+ const GherkinLexer_1 = require("./grammar/GherkinLexer");
12
+ const GherkinParser_1 = require("./grammar/GherkinParser");
13
+ function testRunner(globPattern, stepDefinitions, world) {
14
+ var _a;
15
+ const featureFiles = glob_1.glob.sync(globPattern);
16
+ for (const featureFile of featureFiles) {
17
+ const callSite = (0, get_call_sites_1.getCallSites)()[1];
18
+ const file = (_a = callSite === null || callSite === void 0 ? void 0 : callSite.getFileName()) !== null && _a !== void 0 ? _a : "";
19
+ const dir = path.dirname(file);
20
+ const absoluteFeaturePath = path.resolve(dir, featureFile);
21
+ const featureText = fs.readFileSync(absoluteFeaturePath, "utf-8");
22
+ const input = antlr4ts_1.CharStreams.fromString(featureText);
23
+ const lexer = new GherkinLexer_1.GherkinLexer(input);
24
+ const lexerStream = new antlr4ts_1.BufferedTokenStream(lexer);
25
+ const parser = new GherkinParser_1.GherkinParser(lexerStream);
26
+ const parsedFeatureFile = parser.featureFile();
27
+ const visitor = new feature_file_visitor_1.FeatureFileVisitor(world, stepDefinitions);
28
+ parsedFeatureFile.accept(visitor);
29
+ }
30
+ }
31
+ exports.testRunner = testRunner;
32
+ //# sourceMappingURL=test-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../src/test-runner.ts"],"names":[],"mappings":";;;;AAAA,uCAA0D;AAC1D,+CAAyB;AACzB,+BAA0B;AAC1B,mDAA6B;AAC7B,iEAA0D;AAC1D,qDAA8C;AAC9C,yDAAoD;AACpD,2DAAsD;AAGtD,SAAgB,UAAU,CAAS,WAAmB,EAAE,eAAyC,EAAE,KAAa;;IAE5G,MAAM,YAAY,GAAG,WAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACpC,MAAM,QAAQ,GAAG,IAAA,6BAAY,GAAE,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,sBAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG,IAAI,8BAAmB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,WAAW,CAAC,CAAC;QAE9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAS,KAAK,EAAE,eAAe,CAAC,CAAC;QACvE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACrC;AAGL,CAAC;AAvBD,gCAuBC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../src");
4
+ const stepDefinitions = [{
5
+ match: /^Given a simple text$/, step: (world) => {
6
+ world['Simple text'];
7
+ }
8
+ }, {
9
+ match: /^Given the (\w+) word$/, step: (world, word) => {
10
+ world['given argument'] = word;
11
+ }
12
+ }, {
13
+ match: /^Given the '([\w.]+)' file with contents:$/, step: (world, file, contents) => {
14
+ world[file] = contents;
15
+ }
16
+ }, {
17
+ match: /^Given the input string:$/, step: (world, input) => {
18
+ world["input string"] = input;
19
+ }
20
+ }, {
21
+ match: /^Given a first step$/, step: (world) => {
22
+ world["first step"] = "true";
23
+ }
24
+ }, {
25
+ match: /^Given a second step$/, step: (world) => {
26
+ world["second step"] = "true";
27
+ }
28
+ }, {
29
+ match: /^Given a scenario outline named '(.+)'$/, step: (world, name) => {
30
+ world["outline-name"] = name;
31
+ }
32
+ }, {
33
+ match: /^When running the test framework$/, step: world => {
34
+ /*nop*/
35
+ }
36
+ }, {
37
+ match: /^When using two steps/, step: world => {
38
+ /*nop*/
39
+ }
40
+ }, {
41
+ match: /^When the outline parameter is '(.+)'$/, step: (world, param) => {
42
+ world["outline-param"] = param;
43
+ }
44
+ }, {
45
+ match: /^Then no error should be reported$/, step: world => {
46
+ /*nop*/
47
+ }
48
+ }, {
49
+ match: /^Then the given argument should be '(.*)'$/, step: (world, arg) => {
50
+ expect(world['given argument']).toBe(arg);
51
+ }
52
+ }, {
53
+ match: /^Then the '([\w.]+)' file should contain '([^']+)'$/, step(world, file, contents) {
54
+ expect(world[file]).not.toBeUndefined();
55
+ expect(world[file]).toBe(contents);
56
+ }
57
+ }, {
58
+ match: /^Then the output string is:$/, step: (world, text) => {
59
+ expect(world['input string']).not.toBeUndefined();
60
+ expect(world['input string']).toBe(text);
61
+ }
62
+ }, {
63
+ match: /^Then the first step ran$/, step: world => {
64
+ expect(world['first step']).toBe("true");
65
+ }
66
+ }, {
67
+ match: /^Then the second step ran$/, step: world => {
68
+ expect(world['second step']).toBe("true");
69
+ }
70
+ }, {
71
+ match: /^Then the world stores the '([^']+)' '([^']+)'/, step: (world, name, parameter) => {
72
+ expect(world['outline-name']).not.toBeUndefined();
73
+ expect(world['outline-name']).toBe(name);
74
+ expect(world['outline-param']).not.toBeUndefined();
75
+ expect(world['outline-param']).toBe(parameter);
76
+ }
77
+ }, {
78
+ match: /^Then it can also be used as a docstring$/, step: (world, docstring) => {
79
+ expect(docstring).toBe(`${world['outline-name']} ${world['outline-param']}`);
80
+ }
81
+ }, {
82
+ match: /^But the third step didn't run$/, step: world => {
83
+ expect(world['third step']).toBeUndefined();
84
+ }
85
+ }];
86
+ (0, src_1.testRunner)(`${__dirname}/features/**/*.feature`, stepDefinitions, {});
87
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../test/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { AbstractParseTreeVisitor } from "antlr4ts/tree";
2
+ import { FeatureContext, ScenarioContext, ScenarioOutlineContext } from "./grammar/GherkinParser";
3
+ import { GherkinParserVisitor } from "./grammar/GherkinParserVisitor";
4
+ import { StepDefinition } from "./step-definition";
5
+ export declare class FeatureFileVisitor<TWorld> extends AbstractParseTreeVisitor<void> implements GherkinParserVisitor<void> {
6
+ readonly world: TWorld;
7
+ readonly stepDefinitions: StepDefinition<TWorld>[];
8
+ constructor(world: TWorld, stepDefinitions: StepDefinition<TWorld>[]);
9
+ visitFeature(ctx: FeatureContext): void;
10
+ visitScenario(ctx: ScenarioContext): void;
11
+ visitScenarioOutline(ctx: ScenarioOutlineContext): void;
12
+ protected defaultResult(): void;
13
+ private replaceKeywords;
14
+ private runNextStep;
15
+ private defineTestStep;
16
+ private definePrepareStep;
17
+ private extractTestArgs;
18
+ private getMatchingStepDefinition;
19
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="node" />
2
+ export declare function getCallSites(): NodeJS.CallSite[];
@@ -0,0 +1,44 @@
1
+ import { ATN } from "antlr4ts/atn/ATN";
2
+ import { CharStream } from "antlr4ts/CharStream";
3
+ import { Lexer } from "antlr4ts/Lexer";
4
+ import { Vocabulary } from "antlr4ts/Vocabulary";
5
+ export declare class GherkinLexer extends Lexer {
6
+ static readonly FEATURE = 1;
7
+ static readonly SCENARIO = 2;
8
+ static readonly SCENARIO_OUTLINE = 3;
9
+ static readonly GIVEN = 4;
10
+ static readonly AND_GIVEN = 5;
11
+ static readonly WHEN = 6;
12
+ static readonly AND_WHEN = 7;
13
+ static readonly THEN = 8;
14
+ static readonly AND = 9;
15
+ static readonly BUT = 10;
16
+ static readonly EXAMPLES = 11;
17
+ static readonly BACKGROUND = 12;
18
+ static readonly PIPE = 13;
19
+ static readonly TAG = 14;
20
+ static readonly COMMENT = 15;
21
+ static readonly TEXT_CHARACTER = 16;
22
+ static readonly WS = 17;
23
+ static readonly WSS = 18;
24
+ static readonly DOC_STRING_QUOT = 19;
25
+ static readonly DOC_STRING_TEXT = 20;
26
+ static readonly DOC_STRING_WS = 21;
27
+ static readonly DOC_STRING_MODE = 1;
28
+ static readonly channelNames: string[];
29
+ static readonly modeNames: string[];
30
+ static readonly ruleNames: string[];
31
+ private static readonly _LITERAL_NAMES;
32
+ private static readonly _SYMBOLIC_NAMES;
33
+ static readonly VOCABULARY: Vocabulary;
34
+ get vocabulary(): Vocabulary;
35
+ constructor(input: CharStream);
36
+ get grammarFileName(): string;
37
+ get ruleNames(): string[];
38
+ get serializedATN(): string;
39
+ get channelNames(): string[];
40
+ get modeNames(): string[];
41
+ static readonly _serializedATN: string;
42
+ static __ATN: ATN;
43
+ static get _ATN(): ATN;
44
+ }
@@ -0,0 +1,261 @@
1
+ import { ATN } from "antlr4ts/atn/ATN";
2
+ import { FailedPredicateException } from "antlr4ts/FailedPredicateException";
3
+ import { Parser } from "antlr4ts/Parser";
4
+ import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
5
+ import { TerminalNode } from "antlr4ts/tree/TerminalNode";
6
+ import { TokenStream } from "antlr4ts/TokenStream";
7
+ import { Vocabulary } from "antlr4ts/Vocabulary";
8
+ import { GherkinParserVisitor } from "./GherkinParserVisitor";
9
+ export declare class GherkinParser extends Parser {
10
+ static readonly FEATURE = 1;
11
+ static readonly SCENARIO = 2;
12
+ static readonly SCENARIO_OUTLINE = 3;
13
+ static readonly GIVEN = 4;
14
+ static readonly AND_GIVEN = 5;
15
+ static readonly WHEN = 6;
16
+ static readonly AND_WHEN = 7;
17
+ static readonly THEN = 8;
18
+ static readonly AND = 9;
19
+ static readonly BUT = 10;
20
+ static readonly EXAMPLES = 11;
21
+ static readonly BACKGROUND = 12;
22
+ static readonly PIPE = 13;
23
+ static readonly TAG = 14;
24
+ static readonly COMMENT = 15;
25
+ static readonly TEXT_CHARACTER = 16;
26
+ static readonly WS = 17;
27
+ static readonly WSS = 18;
28
+ static readonly DOC_STRING_QUOT = 19;
29
+ static readonly DOC_STRING_TEXT = 20;
30
+ static readonly DOC_STRING_WS = 21;
31
+ static readonly RULE_featureFile = 0;
32
+ static readonly RULE_feature = 1;
33
+ static readonly RULE_background = 2;
34
+ static readonly RULE_scenario = 3;
35
+ static readonly RULE_scenarioOutline = 4;
36
+ static readonly RULE_examplesBlock = 5;
37
+ static readonly RULE_tableHeader = 6;
38
+ static readonly RULE_tableRow = 7;
39
+ static readonly RULE_cell = 8;
40
+ static readonly RULE_step = 9;
41
+ static readonly RULE_givenStep = 10;
42
+ static readonly RULE_andGivenStep = 11;
43
+ static readonly RULE_whenStep = 12;
44
+ static readonly RULE_andWhenStep = 13;
45
+ static readonly RULE_thenStep = 14;
46
+ static readonly RULE_andStep = 15;
47
+ static readonly RULE_butStep = 16;
48
+ static readonly RULE_docString = 17;
49
+ static readonly RULE_tags = 18;
50
+ static readonly RULE_contentText = 19;
51
+ static readonly ruleNames: string[];
52
+ private static readonly _LITERAL_NAMES;
53
+ private static readonly _SYMBOLIC_NAMES;
54
+ static readonly VOCABULARY: Vocabulary;
55
+ get vocabulary(): Vocabulary;
56
+ get grammarFileName(): string;
57
+ get ruleNames(): string[];
58
+ get serializedATN(): string;
59
+ protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException;
60
+ constructor(input: TokenStream);
61
+ featureFile(): FeatureFileContext;
62
+ feature(): FeatureContext;
63
+ background(): BackgroundContext;
64
+ scenario(): ScenarioContext;
65
+ scenarioOutline(): ScenarioOutlineContext;
66
+ examplesBlock(): ExamplesBlockContext;
67
+ tableHeader(): TableHeaderContext;
68
+ tableRow(): TableRowContext;
69
+ cell(): CellContext;
70
+ step(): StepContext;
71
+ givenStep(): GivenStepContext;
72
+ andGivenStep(): AndGivenStepContext;
73
+ whenStep(): WhenStepContext;
74
+ andWhenStep(): AndWhenStepContext;
75
+ thenStep(): ThenStepContext;
76
+ andStep(): AndStepContext;
77
+ butStep(): ButStepContext;
78
+ docString(): DocStringContext;
79
+ tags(): TagsContext;
80
+ contentText(): ContentTextContext;
81
+ static readonly _serializedATN: string;
82
+ static __ATN: ATN;
83
+ static get _ATN(): ATN;
84
+ }
85
+ export declare class FeatureFileContext extends ParserRuleContext {
86
+ feature(): FeatureContext[];
87
+ feature(i: number): FeatureContext;
88
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
89
+ get ruleIndex(): number;
90
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
91
+ }
92
+ export declare class FeatureContext extends ParserRuleContext {
93
+ FEATURE(): TerminalNode;
94
+ contentText(): ContentTextContext;
95
+ background(): BackgroundContext | undefined;
96
+ scenario(): ScenarioContext[];
97
+ scenario(i: number): ScenarioContext;
98
+ scenarioOutline(): ScenarioOutlineContext[];
99
+ scenarioOutline(i: number): ScenarioOutlineContext;
100
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
101
+ get ruleIndex(): number;
102
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
103
+ }
104
+ export declare class BackgroundContext extends ParserRuleContext {
105
+ BACKGROUND(): TerminalNode;
106
+ contentText(): ContentTextContext;
107
+ step(): StepContext;
108
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
109
+ get ruleIndex(): number;
110
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
111
+ }
112
+ export declare class ScenarioContext extends ParserRuleContext {
113
+ SCENARIO(): TerminalNode;
114
+ contentText(): ContentTextContext;
115
+ step(): StepContext;
116
+ tags(): TagsContext | undefined;
117
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
118
+ get ruleIndex(): number;
119
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
120
+ }
121
+ export declare class ScenarioOutlineContext extends ParserRuleContext {
122
+ SCENARIO_OUTLINE(): TerminalNode;
123
+ contentText(): ContentTextContext;
124
+ step(): StepContext;
125
+ examplesBlock(): ExamplesBlockContext;
126
+ tags(): TagsContext | undefined;
127
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
128
+ get ruleIndex(): number;
129
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
130
+ }
131
+ export declare class ExamplesBlockContext extends ParserRuleContext {
132
+ EXAMPLES(): TerminalNode;
133
+ tableHeader(): TableHeaderContext;
134
+ tableRow(): TableRowContext[];
135
+ tableRow(i: number): TableRowContext;
136
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
137
+ get ruleIndex(): number;
138
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
139
+ }
140
+ export declare class TableHeaderContext extends ParserRuleContext {
141
+ tableRow(): TableRowContext;
142
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
143
+ get ruleIndex(): number;
144
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
145
+ }
146
+ export declare class TableRowContext extends ParserRuleContext {
147
+ PIPE(): TerminalNode[];
148
+ PIPE(i: number): TerminalNode;
149
+ cell(): CellContext[];
150
+ cell(i: number): CellContext;
151
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
152
+ get ruleIndex(): number;
153
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
154
+ }
155
+ export declare class CellContext extends ParserRuleContext {
156
+ contentText(): ContentTextContext;
157
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
158
+ get ruleIndex(): number;
159
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
160
+ }
161
+ export declare class StepContext extends ParserRuleContext {
162
+ givenStep(): GivenStepContext;
163
+ whenStep(): WhenStepContext;
164
+ thenStep(): ThenStepContext;
165
+ andGivenStep(): AndGivenStepContext[];
166
+ andGivenStep(i: number): AndGivenStepContext;
167
+ andWhenStep(): AndWhenStepContext[];
168
+ andWhenStep(i: number): AndWhenStepContext;
169
+ andStep(): AndStepContext[];
170
+ andStep(i: number): AndStepContext;
171
+ butStep(): ButStepContext[];
172
+ butStep(i: number): ButStepContext;
173
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
174
+ get ruleIndex(): number;
175
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
176
+ }
177
+ export declare class GivenStepContext extends ParserRuleContext {
178
+ GIVEN(): TerminalNode;
179
+ contentText(): ContentTextContext;
180
+ tags(): TagsContext | undefined;
181
+ docString(): DocStringContext | undefined;
182
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
183
+ get ruleIndex(): number;
184
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
185
+ }
186
+ export declare class AndGivenStepContext extends ParserRuleContext {
187
+ AND_GIVEN(): TerminalNode;
188
+ contentText(): ContentTextContext;
189
+ tags(): TagsContext | undefined;
190
+ docString(): DocStringContext | undefined;
191
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
192
+ get ruleIndex(): number;
193
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
194
+ }
195
+ export declare class WhenStepContext extends ParserRuleContext {
196
+ WHEN(): TerminalNode;
197
+ contentText(): ContentTextContext;
198
+ tags(): TagsContext | undefined;
199
+ docString(): DocStringContext | undefined;
200
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
201
+ get ruleIndex(): number;
202
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
203
+ }
204
+ export declare class AndWhenStepContext extends ParserRuleContext {
205
+ AND_WHEN(): TerminalNode;
206
+ contentText(): ContentTextContext;
207
+ tags(): TagsContext | undefined;
208
+ docString(): DocStringContext | undefined;
209
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
210
+ get ruleIndex(): number;
211
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
212
+ }
213
+ export declare class ThenStepContext extends ParserRuleContext {
214
+ THEN(): TerminalNode;
215
+ contentText(): ContentTextContext;
216
+ tags(): TagsContext | undefined;
217
+ docString(): DocStringContext | undefined;
218
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
219
+ get ruleIndex(): number;
220
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
221
+ }
222
+ export declare class AndStepContext extends ParserRuleContext {
223
+ AND(): TerminalNode;
224
+ contentText(): ContentTextContext;
225
+ tags(): TagsContext | undefined;
226
+ docString(): DocStringContext | undefined;
227
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
228
+ get ruleIndex(): number;
229
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
230
+ }
231
+ export declare class ButStepContext extends ParserRuleContext {
232
+ BUT(): TerminalNode;
233
+ contentText(): ContentTextContext;
234
+ tags(): TagsContext | undefined;
235
+ docString(): DocStringContext | undefined;
236
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
237
+ get ruleIndex(): number;
238
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
239
+ }
240
+ export declare class DocStringContext extends ParserRuleContext {
241
+ DOC_STRING_QUOT(): TerminalNode[];
242
+ DOC_STRING_QUOT(i: number): TerminalNode;
243
+ DOC_STRING_TEXT(): TerminalNode | undefined;
244
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
245
+ get ruleIndex(): number;
246
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
247
+ }
248
+ export declare class TagsContext extends ParserRuleContext {
249
+ TAG(): TerminalNode[];
250
+ TAG(i: number): TerminalNode;
251
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
252
+ get ruleIndex(): number;
253
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
254
+ }
255
+ export declare class ContentTextContext extends ParserRuleContext {
256
+ TEXT_CHARACTER(): TerminalNode[];
257
+ TEXT_CHARACTER(i: number): TerminalNode;
258
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
259
+ get ruleIndex(): number;
260
+ accept<Result>(visitor: GherkinParserVisitor<Result>): Result;
261
+ }