@sentio/sdk 0.0.14 → 0.0.15

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 (64) hide show
  1. package/package.json +1 -1
  2. package/dist/cli.d.ts +0 -2
  3. package/dist/cli.js +0 -86
  4. package/dist/cli.js.map +0 -1
  5. package/dist/context.d.ts +0 -23
  6. package/dist/context.js +0 -35
  7. package/dist/context.js.map +0 -1
  8. package/dist/gen/builtin.d.ts +0 -6
  9. package/dist/gen/builtin.js +0 -3
  10. package/dist/gen/builtin.js.map +0 -1
  11. package/dist/gen/google/protobuf/empty.d.ts +0 -16
  12. package/dist/gen/google/protobuf/empty.js +0 -70
  13. package/dist/gen/google/protobuf/empty.js.map +0 -1
  14. package/dist/gen/processor/protos/processor.d.ts +0 -444
  15. package/dist/gen/processor/protos/processor.js +0 -1723
  16. package/dist/gen/processor/protos/processor.js.map +0 -1
  17. package/dist/index.d.ts +0 -6
  18. package/dist/index.js +0 -33
  19. package/dist/index.js.map +0 -1
  20. package/dist/meter.d.ts +0 -25
  21. package/dist/meter.js +0 -98
  22. package/dist/meter.js.map +0 -1
  23. package/dist/numberish.d.ts +0 -3
  24. package/dist/numberish.js +0 -12
  25. package/dist/numberish.js.map +0 -1
  26. package/dist/processor.d.ts +0 -35
  27. package/dist/processor.js +0 -107
  28. package/dist/processor.js.map +0 -1
  29. package/dist/processor_server.d.ts +0 -2
  30. package/dist/processor_server.js +0 -62
  31. package/dist/processor_server.js.map +0 -1
  32. package/dist/provider.d.ts +0 -4
  33. package/dist/provider.js +0 -17
  34. package/dist/provider.js.map +0 -1
  35. package/dist/service.d.ts +0 -18
  36. package/dist/service.js +0 -201
  37. package/dist/service.js.map +0 -1
  38. package/dist/target-ethers-sentio/codegen.d.ts +0 -2
  39. package/dist/target-ethers-sentio/codegen.js +0 -85
  40. package/dist/target-ethers-sentio/codegen.js.map +0 -1
  41. package/dist/target-ethers-sentio/index.d.ts +0 -5
  42. package/dist/target-ethers-sentio/index.js +0 -33
  43. package/dist/target-ethers-sentio/index.js.map +0 -1
  44. package/dist/test_case/erc20.d.ts +0 -1
  45. package/dist/test_case/erc20.js +0 -22
  46. package/dist/test_case/erc20.js.map +0 -1
  47. package/dist/test_case/types/ERC20.d.ts +0 -150
  48. package/dist/test_case/types/ERC20.js +0 -3
  49. package/dist/test_case/types/ERC20.js.map +0 -1
  50. package/dist/test_case/types/common.d.ts +0 -22
  51. package/dist/test_case/types/common.js +0 -3
  52. package/dist/test_case/types/common.js.map +0 -1
  53. package/dist/test_case/types/erc20_processor.d.ts +0 -27
  54. package/dist/test_case/types/erc20_processor.js +0 -54
  55. package/dist/test_case/types/erc20_processor.js.map +0 -1
  56. package/dist/test_case/types/factories/ERC20__factory.d.ts +0 -35
  57. package/dist/test_case/types/factories/ERC20__factory.js +0 -216
  58. package/dist/test_case/types/factories/ERC20__factory.js.map +0 -1
  59. package/dist/test_case/types/factories/index.d.ts +0 -1
  60. package/dist/test_case/types/factories/index.js +0 -9
  61. package/dist/test_case/types/factories/index.js.map +0 -1
  62. package/dist/test_case/types/index.d.ts +0 -3
  63. package/dist/test_case/types/index.js +0 -30
  64. package/dist/test_case/types/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAwB;AACxB,uDAAoD;AACpD,wDAA0C;AAqI1C,SAAS,uBAAuB;IAC9B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAEY,QAAA,aAAa,GAAG;IAC3B,MAAM,CACJ,OAAsB,EACtB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,8BAA8B;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC;AAEY,QAAA,oBAAoB,GAAG;IAClC,MAAM,CACJ,CAAuB,EACvB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,CAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,CAAoC;QAC9C,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,+BAA+B;IACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACpD,CAAC;AAEY,QAAA,qBAAqB,GAAG;IACnC,MAAM,CACJ,OAA8B,EAC9B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,qBAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YACvC,sBAAc,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,qBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,CAAC,IAAI,CAC1B,sBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAC/C,CAAC;oBACF,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,qBAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,sBAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC1B,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,CAAC,CAAC,CAAC,CAAC,sBAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;SAC1B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAA0C;QAE1C,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBACnD,CAAC,CAAC,qBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,eAAe;YACrB,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,cAAI,CAAC,KAAK;QACtB,QAAQ,EAAE,cAAI,CAAC,KAAK;QACpB,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,MAAM,CACJ,OAAuB,EACvB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,oBAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1E;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,0BAAkB,CAAC,MAAM,CACvB,OAAO,CAAC,WAAW,EACnB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;SACZ;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,wBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,oBAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,0BAAkB,CAAC,MAAM,CAC7C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,CAChB,CAAC;oBACF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CACrB,wBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CACjD,CAAC;oBACF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC7C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,oBAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACxC,CAAC,CAAC,SAAS;YACb,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,0BAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;gBACjD,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,wBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,EAAE;YACN,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBACnC,CAAC,CAAC,cAAI,CAAC,KAAK;YACd,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK;YACd,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC9B,CAAC,CAAC,oBAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;gBACpC,CAAC,CAAC,0BAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;SACH;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,oBAAY,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,WAAW;YACjB,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;gBAC7D,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAC3D,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBACnC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC/C,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,MAAM,CACJ,OAAqB,EACrB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,4BAA4B;IACnC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,MAAM,CACJ,OAA2B,EAC3B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACrC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAuC;QACjD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAC1C,CAAC;AAEY,QAAA,gBAAgB,GAAG;IAC9B,MAAM,CACJ,OAAyB,EACzB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,wBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CACrB,wBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CACjD,CAAC;oBACF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,wBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,EAAE;YACN,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;SACH;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAEY,QAAA,gBAAgB,GAAG;IAC9B,MAAM,CACJ,OAAyB,EACzB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,aAAK,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,aAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3E;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,kCAAkC;IACzC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAEY,QAAA,wBAAwB,GAAG;IACtC,MAAM,CACJ,OAAiC,EACjC,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAA6C;QAE7C,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAEY,QAAA,KAAK,GAAG;IACnB,MAAM,CAAC,OAAc,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SAC9B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAc;QACnB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SAC3C;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAA0B;QACpC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,2BAA2B;IAClC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,MAAM,CACJ,OAA0B,EAC1B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE;YAC5B,kBAAU,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,CAAC,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACrC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;SACf;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAsC;QAChD,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,4BAA4B;IACnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,MAAM,CACJ,OAA2B,EAC3B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACtE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,kBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC1B,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAuC;QACjD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBACnD,CAAC,CAAC,kBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,mCAAmC;IAC1C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAEY,QAAA,yBAAyB,GAAG;IACvC,MAAM,CACJ,OAAkC,EAClC,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,mBAAW,CAAC,MAAM,CAChB,OAAO,CAAC,WAAW,EACnB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;SACZ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,mBAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAkC;QACvC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;gBACpC,CAAC,CAAC,mBAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAA8C;QAE9C,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,CAAC,WAAW;YACjB,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;gBAC7D,CAAC,CAAC,mBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,oCAAoC;IAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAEY,QAAA,0BAA0B,GAAG;IACxC,MAAM,CACJ,OAAmC,EACnC,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACtE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,kBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAmC;QACxC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC1B,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAA+C;QAE/C,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;QACvD,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBACnD,CAAC,CAAC,kBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,6BAA6B;IACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC1C,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,MAAM,CACJ,OAA4B,EAC5B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS;YACzB,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxE,OAAO,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAwC;QAClD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK;YACX,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;gBACjD,CAAC,CAAC,aAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,8BAA8B;IACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAEY,QAAA,oBAAoB,GAAG;IAClC,MAAM,CACJ,OAA6B,EAC7B,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACtE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,kBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA6B;QAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC1B,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAyC;QACnD,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBACnD,CAAC,CAAC,kBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,oBAAoB;IAC3B,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAC1C,CAAC;AAEY,QAAA,UAAU,GAAG;IACxB,MAAM,CACJ,OAAmB,EACnB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE;YAC7B,WAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5D;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,WAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS;YACvB,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAA+B;QACzC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG;YACT,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI;gBAC7C,CAAC,CAAC,WAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,aAAa;IACpB,OAAO,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;AACnC,CAAC;AAEY,QAAA,GAAG,GAAG;IACjB,MAAM,CAAC,OAAY,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAY;QACjB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS;YACvB,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CACxB,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAC3D,CAAC,CAAC;QACL,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAwB;QAClC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC;AAEY,QAAA,WAAW,GAAG;IACzB,MAAM,CACJ,OAAoB,EACpB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,KAAK,SAAS;YACvB,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CACxB,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAC3D,CAAC,CAAC;QACL,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;AACnC,CAAC;AAEY,QAAA,KAAK,GAAG;IACnB,MAAM,CAAC,OAAc,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAc;QACnB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS;YACvB,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CACxB,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAC3D,CAAC,CAAC;QACL,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAA0B;QACpC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,oBAAoB;IAC3B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAEY,QAAA,UAAU,GAAG;IACxB,MAAM,CACJ,OAAmB,EACnB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,uBAAe,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE;YAChC,qBAAa,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CACrB,uBAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAChD,CAAC;oBACF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,uBAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,EAAE;YACN,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,CAAC,CAAC,uBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;SACH;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACxC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAA+B;QACzC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO;QACL,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,cAAI,CAAC,KAAK;QACvB,gBAAgB,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,MAAM,CACJ,OAAuB,EACvB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC9C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;gBAChC,CAAC,CAAC,EAAE;YACN,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,cAAI,CAAC,KAAK;YACd,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC9C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,eAAe,KAAK,SAAS;YACnC,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACpC,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,WAAW;YACjB,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;gBAC7D,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,yBAAyB;IAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC;AAEY,QAAA,eAAe,GAAG;IAC7B,MAAM,CACJ,OAAwB,EACxB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,sBAAc,CAAC,MAAM,CACnB,OAAO,CAAC,QAAQ,EAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;SACZ;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,mCAA2B,CAAC,MAAM,CAChC,EAAE,GAAG,EAAE,GAAU,EAAE,KAAK,EAAE,EAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,sBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,MAAM,MAAM,GAAG,mCAA2B,CAAC,MAAM,CAC/C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,CAChB,CAAC;oBACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC3C;oBACD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,sBAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC1C,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAE,CACH;gBACH,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC9B,CAAC,CAAC,sBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,sBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAExD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qCAAqC;IAC5C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,2BAA2B,GAAG;IACzC,MAAM,CACJ,OAAoC,EACpC,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qCAAqC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoC;QACzC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAAgD;QAEhD,MAAM,OAAO,GAAG,qCAAqC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC7E,CAAC;AAEY,QAAA,aAAa,GAAG;IAC3B,MAAM,CACJ,OAAsB,EACtB,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,sBAAc,CAAC,MAAM,CACnB,OAAO,CAAC,QAAQ,EAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;SACZ;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,iCAAyB,CAAC,MAAM,CAC9B,EAAE,GAAG,EAAE,GAAU,EAAE,KAAK,EAAE,EAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC,MAAM,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACrC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,sBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,MAAM,MAAM,GAAG,iCAAyB,CAAC,MAAM,CAC7C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,CAChB,CAAC;oBACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC3C;oBACD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,sBAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC1C,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAE,CACH;gBACH,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC9B,CAAC,CAAC,sBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,sBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAExD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,mCAAmC;IAC1C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,yBAAyB,GAAG;IACvC,MAAM,CACJ,OAAkC,EAClC,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,KAA8B,EAC9B,MAAe;QAEf,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAkC;QACvC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CACT,MAA8C;QAE9C,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAGW,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE;QACP,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,4BAAoB;YACjC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,6BAAqB;YACnC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,aAAK;YAClB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,aAAK;YACnB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,aAAK;YAClB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,aAAK;YACnB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,yBAAiB;YAC9B,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,0BAAkB;YAChC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,iCAAyB;YACtC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,kCAA0B;YACxC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,2BAAmB;YAChC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,4BAAoB;YAClC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;KACF;CACO,CAAC;AA2DX,IAAI,UAAU,GAAQ,CAAC,GAAG,EAAE;IAC1B,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IACzD,IAAI,OAAO,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IACjD,MAAM,gCAAgC,CAAC;AACzC,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,IAAI,GACR,UAAU,CAAC,IAAI;IACf,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,IAAI,GACR,UAAU,CAAC,IAAI;IACf,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,SAAS,eAAe,CAAC,GAAe;IACtC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,CAAC;AAuBD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAI,EAAE;IAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,cAAW,CAAC;IAC5B,GAAG,CAAC,SAAS,EAAE,CAAC;CACjB;AAED,SAAS,QAAQ,CAAC,KAAU;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,KAAK,CAAC,KAAU;IACvB,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { BaseProcessor } from './processor';
2
- export { Context, ContractWrapper } from './context';
3
- export { ProcessorServiceImpl } from './service';
4
- export { Counter, Meter, Histogram } from './meter';
5
- export { getProvider, setProvider } from './provider';
6
- export * from './gen/processor/protos/processor';
package/dist/index.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.setProvider = exports.getProvider = exports.Histogram = exports.Meter = exports.Counter = exports.ProcessorServiceImpl = exports.ContractWrapper = exports.Context = exports.BaseProcessor = void 0;
18
- var processor_1 = require("./processor");
19
- Object.defineProperty(exports, "BaseProcessor", { enumerable: true, get: function () { return processor_1.BaseProcessor; } });
20
- var context_1 = require("./context");
21
- Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return context_1.Context; } });
22
- Object.defineProperty(exports, "ContractWrapper", { enumerable: true, get: function () { return context_1.ContractWrapper; } });
23
- var service_1 = require("./service");
24
- Object.defineProperty(exports, "ProcessorServiceImpl", { enumerable: true, get: function () { return service_1.ProcessorServiceImpl; } });
25
- var meter_1 = require("./meter");
26
- Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return meter_1.Counter; } });
27
- Object.defineProperty(exports, "Meter", { enumerable: true, get: function () { return meter_1.Meter; } });
28
- Object.defineProperty(exports, "Histogram", { enumerable: true, get: function () { return meter_1.Histogram; } });
29
- var provider_1 = require("./provider");
30
- Object.defineProperty(exports, "getProvider", { enumerable: true, get: function () { return provider_1.getProvider; } });
31
- Object.defineProperty(exports, "setProvider", { enumerable: true, get: function () { return provider_1.setProvider; } });
32
- __exportStar(require("./gen/processor/protos/processor"), exports);
33
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAA2C;AAAlC,0GAAA,aAAa,OAAA;AACtB,qCAAoD;AAA3C,kGAAA,OAAO,OAAA;AAAE,0GAAA,eAAe,OAAA;AACjC,qCAAgD;AAAvC,+GAAA,oBAAoB,OAAA;AAC7B,iCAAmD;AAA1C,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,kGAAA,SAAS,OAAA;AAClC,uCAAqD;AAA5C,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAEjC,mEAAgD"}
package/dist/meter.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import { Context } from './context';
2
- import { Numberish } from './numberish';
3
- export declare type Labels = {
4
- [key: string]: string;
5
- };
6
- export declare class Counter {
7
- private readonly ctx;
8
- private readonly name;
9
- constructor(name: string, ctx: Context<any, any>);
10
- private record;
11
- add(value: Numberish, labels?: Labels): void;
12
- sub(value: Numberish, labels?: Labels): void;
13
- }
14
- export declare class Histogram {
15
- private readonly name;
16
- private readonly ctx;
17
- constructor(name: string, ctx: Context<any, any>);
18
- record(value: Numberish, labels?: Labels): void;
19
- }
20
- export declare class Meter {
21
- private readonly ctx;
22
- constructor(ctx: Context<any, any>);
23
- Counter(name: string): Counter;
24
- Histogram(name: string): Histogram;
25
- }
package/dist/meter.js DELETED
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Meter = exports.Histogram = exports.Counter = void 0;
7
- const numberish_1 = require("./numberish");
8
- const long_1 = __importDefault(require("long"));
9
- function GetRecordMetaData(ctx) {
10
- if (ctx.log) {
11
- return {
12
- contractAddress: ctx.contract._underlineContract.address,
13
- blockNumber: long_1.default.fromNumber(ctx.log.blockNumber, true),
14
- transactionIndex: ctx.log.transactionIndex,
15
- logIndex: ctx.log.logIndex,
16
- chainId: ctx.chainId,
17
- };
18
- }
19
- if (ctx.block) {
20
- return {
21
- contractAddress: ctx.contract._underlineContract.address,
22
- blockNumber: long_1.default.fromNumber(ctx.block.number, true),
23
- transactionIndex: -1,
24
- logIndex: -1,
25
- chainId: ctx.chainId,
26
- };
27
- }
28
- throw new Error("This can't happen");
29
- }
30
- class Counter {
31
- ctx;
32
- name;
33
- constructor(name, ctx) {
34
- this.name = name;
35
- this.ctx = ctx;
36
- }
37
- record(value, labels, add) {
38
- this.ctx.counters.push({
39
- metadata: GetRecordMetaData(this.ctx),
40
- name: this.name,
41
- labels: labels,
42
- value: (0, numberish_1.toNumber)(value),
43
- add: add,
44
- });
45
- }
46
- add(value, labels = {}) {
47
- this.record(value, labels, true);
48
- }
49
- sub(value, labels = {}) {
50
- this.record(value, labels, false);
51
- }
52
- }
53
- exports.Counter = Counter;
54
- class Histogram {
55
- name;
56
- ctx;
57
- constructor(name, ctx) {
58
- this.name = name;
59
- this.ctx = ctx;
60
- }
61
- record(value, labels = {}) {
62
- this.ctx.histograms.push({
63
- metadata: GetRecordMetaData(this.ctx),
64
- name: this.name,
65
- labels: labels,
66
- value: (0, numberish_1.toNumber)(value),
67
- });
68
- }
69
- }
70
- exports.Histogram = Histogram;
71
- class Meter {
72
- ctx;
73
- // TODO is map necessary since we are sending request remotely?
74
- // counterMap = new Map<string, Counter>()
75
- // histogramMap = new Map<string, Histogram>()
76
- constructor(ctx) {
77
- this.ctx = ctx;
78
- }
79
- Counter(name) {
80
- // let counter = this.counterMap.get(name)
81
- // if (!counter) {
82
- // counter = new Counter(name, this.ctx)
83
- // }
84
- // return counter
85
- return new Counter(name, this.ctx);
86
- }
87
- Histogram(name) {
88
- // let histogram = this.histogramMap.get(name)
89
- //
90
- // if (!histogram) {
91
- // histogram = new Histogram(name, this.ctx)
92
- // }
93
- // return histogram
94
- return new Histogram(name, this.ctx);
95
- }
96
- }
97
- exports.Meter = Meter;
98
- //# sourceMappingURL=meter.js.map
package/dist/meter.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- export declare type Numberish = number | BigNumber | bigint;
3
- export declare function toNumber(value: Numberish): number;
package/dist/numberish.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toNumber = void 0;
4
- const ethers_1 = require("ethers");
5
- function toNumber(value) {
6
- if (value instanceof ethers_1.BigNumber) {
7
- return value.toNumber();
8
- }
9
- return Number(value);
10
- }
11
- exports.toNumber = toNumber;
12
- //# sourceMappingURL=numberish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numberish.js","sourceRoot":"","sources":["../src/numberish.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAIlC,SAAgB,QAAQ,CAAC,KAAgB;IACvC,IAAI,KAAK,YAAY,kBAAS,EAAE;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;KACxB;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AALD,4BAKC"}
@@ -1,35 +0,0 @@
1
- import { Context, ContractWrapper } from './context';
2
- import { Block, Log } from '@ethersproject/abstract-provider';
3
- import { BaseContract, EventFilter } from 'ethers';
4
- import { Networkish } from '@ethersproject/networks';
5
- import { Event } from '@ethersproject/contracts';
6
- import { O11yResult } from './gen/processor/protos/processor';
7
- import Long from 'long';
8
- import { Network } from '@ethersproject/providers';
9
- declare type IndexConfigure = {
10
- startBlock: Long;
11
- endBlock?: Long;
12
- chunkSize?: number;
13
- };
14
- declare class EventsHandler {
15
- filters: EventFilter[];
16
- handler: (event: Log) => Promise<O11yResult>;
17
- }
18
- export declare abstract class BaseProcessor<TContract extends BaseContract, TContractWrapper extends ContractWrapper<TContract>> {
19
- blockHandlers: ((block: Block) => Promise<O11yResult>)[];
20
- eventHandlers: EventsHandler[];
21
- contract: TContractWrapper;
22
- network: Network;
23
- name: string;
24
- config: IndexConfigure;
25
- constructor(address: string, name: string, network?: Networkish);
26
- protected abstract bindInternal(address: string, network: Networkish): TContractWrapper;
27
- startBlock(startBlock: Long | number): this;
28
- endBlock(endBlock: Long | number): this;
29
- configure(option: IndexConfigure): void;
30
- isBind(): boolean;
31
- onEvent(handler: (event: Event, ctx: Context<TContract, TContractWrapper>) => void, filter: EventFilter | EventFilter[]): void;
32
- onBlock(handler: (block: Block, ctx: Context<TContract, TContractWrapper>) => void): void;
33
- }
34
- export declare var Processors: BaseProcessor<BaseContract, ContractWrapper<BaseContract>>[];
35
- export {};
package/dist/processor.js DELETED
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Processors = exports.BaseProcessor = void 0;
7
- const context_1 = require("./context");
8
- const long_1 = __importDefault(require("long"));
9
- const providers_1 = require("@ethersproject/providers");
10
- class EventsHandler {
11
- filters;
12
- handler;
13
- }
14
- class BaseProcessor {
15
- blockHandlers = [];
16
- eventHandlers = [];
17
- contract;
18
- network;
19
- name;
20
- config = { startBlock: new long_1.default(0) };
21
- constructor(address, name, network = 1) {
22
- this.name = name;
23
- this.network = (0, providers_1.getNetwork)(network);
24
- this.contract = this.bindInternal(address, network);
25
- exports.Processors.push(this);
26
- }
27
- startBlock(startBlock) {
28
- if (typeof startBlock === 'number') {
29
- startBlock = long_1.default.fromNumber(startBlock);
30
- }
31
- this.config.startBlock = startBlock;
32
- return this;
33
- }
34
- endBlock(endBlock) {
35
- if (typeof endBlock === 'number') {
36
- endBlock = long_1.default.fromNumber(endBlock);
37
- }
38
- this.config.endBlock = endBlock;
39
- return this;
40
- }
41
- configure(option) {
42
- this.config = option;
43
- }
44
- isBind() {
45
- return this.contract._underlineContract.address != '';
46
- }
47
- onEvent(handler, filter) {
48
- if (!this.isBind()) {
49
- throw new Error('processor not bind');
50
- }
51
- const contract = this.contract;
52
- const chainId = this.network.chainId;
53
- let _filters = [];
54
- if (Array.isArray(filter)) {
55
- _filters = filter;
56
- }
57
- else {
58
- _filters.push(filter);
59
- }
60
- this.eventHandlers.push({
61
- filters: _filters,
62
- handler: async function (log) {
63
- const ctx = new context_1.Context(contract, chainId, undefined, log);
64
- // let event: Event = <Event>deepCopy(log);
65
- const event = log;
66
- const parsed = contract._underlineContract.interface.parseLog(log);
67
- if (parsed) {
68
- event.args = parsed.args;
69
- event.decode = (data, topics) => {
70
- return contract._underlineContract.interface.decodeEventLog(parsed.eventFragment, data, topics);
71
- };
72
- event.event = parsed.name;
73
- event.eventSignature = parsed.signature;
74
- // TODO fix this bug
75
- await handler(event, ctx);
76
- return {
77
- histograms: ctx.histograms,
78
- counters: ctx.counters,
79
- };
80
- }
81
- return {
82
- histograms: [],
83
- counters: [],
84
- };
85
- },
86
- });
87
- }
88
- onBlock(handler) {
89
- if (!this.isBind()) {
90
- throw new Error('Registry not bind');
91
- }
92
- const contract = this.contract;
93
- const chainId = this.network.chainId;
94
- this.blockHandlers.push(async function (block) {
95
- contract.block = block;
96
- const ctx = new context_1.Context(contract, chainId, block, undefined);
97
- await handler(block, ctx);
98
- return {
99
- histograms: ctx.histograms,
100
- counters: ctx.counters,
101
- };
102
- });
103
- }
104
- }
105
- exports.BaseProcessor = BaseProcessor;
106
- exports.Processors = [];
107
- //# sourceMappingURL=processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import 'log-timestamp';
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const command_line_args_1 = __importDefault(require("command-line-args"));
8
- const nice_grpc_1 = require("nice-grpc");
9
- const processor_1 = require("./gen/processor/protos/processor");
10
- const service_1 = require("./service");
11
- const provider_1 = require("./provider");
12
- const processor_2 = require("./processor");
13
- require("log-timestamp");
14
- // @ts-ignore
15
- global.sentio_sdk = require(".");
16
- function tryRequire(name) {
17
- const req = eval('require');
18
- try {
19
- let path;
20
- try {
21
- path = req.resolve(name, { paths: [process.cwd()] });
22
- }
23
- catch {
24
- path = req.resolve(name);
25
- }
26
- const module = { module: req(path), name, path };
27
- console.log('Load successfully: ', name);
28
- return module;
29
- }
30
- catch (err) {
31
- if (err instanceof Error &&
32
- err.message.startsWith(`Cannot find module '${name}'`)) {
33
- // this error is expected
34
- console.log("Couldn't load (expected): ", name);
35
- return undefined;
36
- }
37
- else {
38
- throw err;
39
- }
40
- }
41
- }
42
- const optionDefinitions = [
43
- { name: 'target', type: String, defaultOption: true },
44
- { name: 'port', alias: 'p', type: Number, defaultValue: '4000' },
45
- {
46
- name: 'endpoint',
47
- alias: 'e',
48
- type: String,
49
- defaultValue: 'https://eth-mainnet.alchemyapi.io/v2/BJQpOPPKYT7mr3X6iRL3IawOJPnyiG-P',
50
- },
51
- ];
52
- const options = (0, command_line_args_1.default)(optionDefinitions);
53
- console.log('loading', options.target);
54
- (0, provider_1.setProvider)(options.endpoint, 1);
55
- tryRequire(options.target);
56
- console.log('Start Server', options);
57
- console.log(processor_2.Processors.length, ' processors loaded');
58
- const processor_server = (0, nice_grpc_1.createServer)();
59
- const service = new service_1.ProcessorServiceImpl(processor_server.shutdown);
60
- processor_server.add(processor_1.ProcessorDefinition, service);
61
- processor_server.listen('0.0.0.0:' + options.port);
62
- //# sourceMappingURL=processor_server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor_server.js","sourceRoot":"","sources":["../src/processor_server.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AACxC,2CAAwC;AAExC,yBAAsB;AAGtB,aAAa;AACb,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAGjC,SAAS,UAAU,CACjB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAE3B,IAAI;QACF,IAAI,IAAY,CAAA;QAChB,IAAI;YACF,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;SACrD;QAAC,MAAM;YACN,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SACzB;QAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IACE,GAAG,YAAY,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,IAAI,GAAG,CAAC,EACtD;YACA,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;YAC/C,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,GAAG,CAAA;SACV;KACF;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EACV,uEAAuE;KAC1E;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,CAAC,CAAA;AAElD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACtC,IAAA,sBAAW,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AAEhC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,OAAO,CAAC,GAAG,CAAC,sBAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AACpD,MAAM,gBAAgB,GAAG,IAAA,wBAAY,GAAE,CAAA;AAEvC,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnE,gBAAgB,CAAC,GAAG,CAAC,+BAAmB,EAAE,OAAO,CAAC,CAAA;AAElD,gBAAgB,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import { BaseProvider } from '@ethersproject/providers';
2
- import { Networkish } from '@ethersproject/networks';
3
- export declare function getProvider(network: Networkish): BaseProvider;
4
- export declare function setProvider(url: string, network: Networkish): BaseProvider;
package/dist/provider.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setProvider = exports.getProvider = void 0;
4
- const providers_1 = require("@ethersproject/providers");
5
- function getProvider(network) {
6
- if (!globalThis.SentioProvider) {
7
- globalThis.SentioProvider = new providers_1.StaticJsonRpcProvider(undefined, network);
8
- }
9
- return globalThis.SentioProvider;
10
- }
11
- exports.getProvider = getProvider;
12
- function setProvider(url, network) {
13
- globalThis.SentioProvider = new providers_1.StaticJsonRpcProvider(url, network);
14
- return globalThis.SentioProvider;
15
- }
16
- exports.setProvider = setProvider;
17
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;AAAA,wDAA8E;AAG9E,SAAgB,WAAW,CAAC,OAAmB;IAC7C,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;QAC9B,UAAU,CAAC,cAAc,GAAG,IAAI,iCAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;KAC1E;IACD,OAAO,UAAU,CAAC,cAAc,CAAA;AAClC,CAAC;AALD,kCAKC;AAED,SAAgB,WAAW,CAAC,GAAW,EAAE,OAAmB;IAC1D,UAAU,CAAC,cAAc,GAAG,IAAI,iCAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACnE,OAAO,UAAU,CAAC,cAAc,CAAA;AAClC,CAAC;AAHD,kCAGC"}
package/dist/service.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { CallContext } from 'nice-grpc';
2
- import { ProcessBlockRequest, ProcessBlockResponse, ProcessConfigRequest, ProcessConfigResponse, ProcessLogRequest, ProcessLogResponse, ProcessorServiceImplementation, ProcessTransactionRequest, ProcessTransactionResponse } from './gen/processor/protos/processor';
3
- import { DeepPartial } from './gen/builtin';
4
- import { Empty } from './gen/google/protobuf/empty';
5
- export declare class ProcessorServiceImpl implements ProcessorServiceImplementation {
6
- private eventHandlers;
7
- private blockHandlers;
8
- private started;
9
- private contractConfigs;
10
- private readonly shutdownHandler?;
11
- constructor(shutdownHandler?: () => void);
12
- getConfig(request: ProcessConfigRequest, context: CallContext): Promise<DeepPartial<ProcessConfigResponse>>;
13
- start(request: Empty, context: CallContext): Promise<DeepPartial<Empty>>;
14
- stop(request: Empty, context: CallContext): Promise<DeepPartial<Empty>>;
15
- processLog(request: ProcessLogRequest, context: CallContext): Promise<DeepPartial<ProcessLogResponse>>;
16
- processTransaction(request: ProcessTransactionRequest, context: CallContext): Promise<DeepPartial<ProcessTransactionResponse>>;
17
- processBlock(request: ProcessBlockRequest, context: CallContext): Promise<DeepPartial<ProcessBlockResponse>>;
18
- }