custom-electron-titlebar 3.2.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +10 -203
  2. package/{build → dist}/browser/browser.d.ts +0 -0
  3. package/{build → dist}/browser/event.d.ts +0 -0
  4. package/{build → dist}/browser/iframe.d.ts +0 -0
  5. package/{build → dist}/browser/keyboardEvent.d.ts +0 -0
  6. package/{build → dist}/browser/mouseEvent.d.ts +0 -0
  7. package/{build → dist}/common/arrays.d.ts +0 -0
  8. package/{build → dist}/common/async.d.ts +0 -0
  9. package/{build → dist}/common/charCode.d.ts +0 -0
  10. package/{build → dist}/common/color.d.ts +0 -0
  11. package/{build → dist}/common/dom.d.ts +0 -0
  12. package/{build → dist}/common/event.d.ts +0 -0
  13. package/{build → dist}/common/iterator.d.ts +0 -0
  14. package/{build → dist}/common/keyCodes.d.ts +0 -0
  15. package/{build → dist}/common/lifecycle.d.ts +0 -0
  16. package/{build → dist}/common/linkedList.d.ts +0 -0
  17. package/{build → dist}/common/platform.d.ts +0 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.js +1 -0
  20. package/dist/interfaces.d.ts +95 -0
  21. package/{build → dist}/menu/menu.d.ts +3 -1
  22. package/{build → dist}/menu/menuitem.d.ts +3 -4
  23. package/{build → dist}/menubar.d.ts +1 -24
  24. package/dist/titlebar.d.ts +77 -0
  25. package/package.json +23 -16
  26. package/webpack.config.js +37 -0
  27. package/.github/ISSUE_TEMPLATE/issue-report.md +0 -29
  28. package/.vscode/launch.json +0 -49
  29. package/.vscode/tasks.json +0 -34
  30. package/build/browser/browser.js +0 -157
  31. package/build/browser/browser.js.map +0 -1
  32. package/build/browser/event.js +0 -30
  33. package/build/browser/event.js.map +0 -1
  34. package/build/browser/iframe.js +0 -110
  35. package/build/browser/iframe.js.map +0 -1
  36. package/build/browser/keyboardEvent.js +0 -226
  37. package/build/browser/keyboardEvent.js.map +0 -1
  38. package/build/browser/mouseEvent.js +0 -110
  39. package/build/browser/mouseEvent.js.map +0 -1
  40. package/build/common/arrays.js +0 -18
  41. package/build/common/arrays.js.map +0 -1
  42. package/build/common/async.js +0 -95
  43. package/build/common/async.js.map +0 -1
  44. package/build/common/charCode.js +0 -7
  45. package/build/common/charCode.js.map +0 -1
  46. package/build/common/color.js +0 -494
  47. package/build/common/color.js.map +0 -1
  48. package/build/common/dom.js +0 -984
  49. package/build/common/dom.js.map +0 -1
  50. package/build/common/event.js +0 -611
  51. package/build/common/event.js.map +0 -1
  52. package/build/common/iterator.js +0 -164
  53. package/build/common/iterator.js.map +0 -1
  54. package/build/common/keyCodes.js +0 -268
  55. package/build/common/keyCodes.js.map +0 -1
  56. package/build/common/lifecycle.js +0 -63
  57. package/build/common/lifecycle.js.map +0 -1
  58. package/build/common/linkedList.js +0 -139
  59. package/build/common/linkedList.js.map +0 -1
  60. package/build/common/platform.js +0 -115
  61. package/build/common/platform.js.map +0 -1
  62. package/build/index.d.ts +0 -3
  63. package/build/index.js +0 -20
  64. package/build/index.js.map +0 -1
  65. package/build/menu/menu.js +0 -538
  66. package/build/menu/menu.js.map +0 -1
  67. package/build/menu/menuitem.js +0 -339
  68. package/build/menu/menuitem.js.map +0 -1
  69. package/build/menubar.js +0 -608
  70. package/build/menubar.js.map +0 -1
  71. package/build/themebar.d.ts +0 -20
  72. package/build/themebar.js +0 -568
  73. package/build/themebar.js.map +0 -1
  74. package/build/titlebar.d.ts +0 -135
  75. package/build/titlebar.js +0 -453
  76. package/build/titlebar.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/common/dom.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;AAEhG,8CAA8C;AAC9C,4CAA4C;AAC5C,4DAAiF;AACjF,sDAAwE;AACxE,mCAAuC;AAEvC,mCAAyC;AACzC,2CAA6E;AAC7E,uCAAuC;AACvC,qCAAoC;AAEpC,SAAgB,SAAS,CAAC,IAAiB;IAC1C,OAAO,IAAI,CAAC,UAAU,EAAE;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;AACF,CAAC;AAJD,8BAIC;AAED,SAAgB,UAAU,CAAC,IAAiB;IAC3C,IAAI,IAAI,CAAC,UAAU,EAAE;QACpB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAClC;AACF,CAAC;AAJD,gCAIC;AAED,SAAgB,OAAO,CAAC,IAAiB;IACxC,OAAO,IAAI,EAAE;QACZ,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC;SACZ;QACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;KACvB;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AARD,0BAQC;AAWD,MAAM,gBAAgB,GAAG,IAAI;IAKpB,cAAc,CAAC,IAAiB,EAAE,SAAiB;QAE1D,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE;YACb,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACrB,OAAO;SACP;QAED,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,EAC9B,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;QAE7B,IAAI,QAAQ,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACrB,OAAO;SACP;QAED,IAAI,UAAU,GAAG,QAAQ,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACrB,OAAO;SACP;QAED,IAAI,OAAO,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3B,OAAO;SACP;QAED,IAAI,GAAG,GAAG,CAAC,CAAC,EACX,MAAc,CAAC;QAEhB,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAExD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;YAExB,4CAA4C;YAC5C,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBACnH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC3B,OAAO;aACP;YAED,aAAa;YACb,IAAI,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,mBAAmB,IAAI,MAAM,KAAK,UAAU,EAAE;gBACvF,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,OAAO;aACP;YAED,iCAAiC;YACjC,IAAI,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,OAAO;aACP;SACD;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,IAAiB,EAAE,SAAiB;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,IAAiB,EAAE,GAAG,UAAoB;QACpD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,QAAQ,CAAC,IAAiB,EAAE,SAAiB;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,2BAA2B;YACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC3B;aAAM;YACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,4BAA4B;YAClE,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;aAClD;SACD;IACF,CAAC;IAED,WAAW,CAAC,IAAiB,EAAE,SAAiB;QAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;YAC3B,OAAO,CAAC,+CAA+C;SACvD;aAAM;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxG;IACF,CAAC;IAED,aAAa,CAAC,IAAiB,EAAE,GAAG,UAAoB;QACvD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,YAAsB;QACvE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,EAAE;YAC5E,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,EAAE;YAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC/B;IACF,CAAC;CACD,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAI;IAC5B,QAAQ,CAAC,IAAiB,EAAE,SAAiB;QAC5C,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,IAAiB,EAAE,GAAG,UAAoB;QACpD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,QAAQ,CAAC,IAAiB,EAAE,SAAiB;QAC5C,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,WAAW,CAAC,IAAiB,EAAE,SAAiB;QAC/C,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACjC;IACF,CAAC;IAED,aAAa,CAAC,IAAiB,EAAE,GAAG,UAAoB;QACvD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,YAAsB;QACvE,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;SAC/C;IACF,CAAC;CACD,CAAC;AAEF,gFAAgF;AAChF,4GAA4G;AAC5G,MAAM,UAAU,GAAkB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACxE,QAAA,QAAQ,GAAsD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnG,QAAA,QAAQ,GAAmD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChG,QAAA,UAAU,GAAyD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1G,QAAA,WAAW,GAAmD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtG,QAAA,aAAa,GAAyD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChH,QAAA,WAAW,GAA2E,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE3I,MAAM,WAAW;IAOhB,YAAY,IAAiC,EAAE,IAAY,EAAE,OAAyB,EAAE,UAAoB;QAC3G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,mBAAmB;YACnB,OAAO;SACP;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5E,6DAA6D;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAK,CAAC;IACvB,CAAC;CACD;AAID,SAAgB,qBAAqB,CAAC,IAAiC,EAAE,IAAY,EAAE,OAA6B,EAAE,UAAoB;IACzI,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AAFD,sDAEC;AAUD,SAAS,yBAAyB,CAAC,OAAiC;IACnE,OAAO,UAAU,CAAa;QAC7B,OAAO,OAAO,CAAC,IAAI,+BAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;AACH,CAAC;AACD,SAAS,4BAA4B,CAAC,OAAoC;IACzE,OAAO,UAAU,CAAgB;QAChC,OAAO,OAAO,CAAC,IAAI,qCAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;AACH,CAAC;AACM,IAAI,6BAA6B,GAA4C,SAAS,6BAA6B,CAAC,IAAiB,EAAE,IAAY,EAAE,OAA6B,EAAE,UAAoB;IAC9M,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,EAAE;QAC7C,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;KACjD;SAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE;QACzE,WAAW,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;KACpD;IAED,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC,CAAC;AAVS,QAAA,6BAA6B,iCAUtC;AAEF,SAAgB,wCAAwC,CAAC,IAAa,EAAE,OAAoC;IAC3G,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAa,EAAE,EAAE;QAChE,mGAAmG;QACnG,IAAI,SAAS,GAAsB,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;YACvC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;SACjC;QACD,IAAI,SAAS,KAAK,IAAI,EAAE;YACvB,OAAO;SACP;QAED,OAAO,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACJ,CAAC;AAbD,4FAaC;AAKD,IAAI,eAAe,GAAkC,IAAI,CAAC;AAC1D,SAAS,uBAAuB,CAAC,QAAgC;IAChE,IAAI,CAAC,eAAe,EAAE;QACrB,MAAM,6BAA6B,GAAG,CAAC,QAAgC,EAAO,EAAE;YAC/E,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,eAAe,GAAG,CACjB,IAAI,CAAC,qBAAqB;eACjB,IAAK,CAAC,uBAAuB;eAC7B,IAAK,CAAC,2BAA2B;eACjC,IAAK,CAAC,wBAAwB;eAC9B,IAAK,CAAC,sBAAsB;eAClC,6BAA6B,CAChC,CAAC;KACF;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAiBD,MAAM,uBAAuB;IAM5B,YAAY,MAAkB,EAAE,WAAmB,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACP;QAED,IAAI;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,IAAI,CAAC,CAA0B,EAAE,CAA0B;QACxE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAChC,CAAC;CACD;AAED,CAAC;IACA;;OAEG;IACH,IAAI,UAAU,GAA8B,EAAE,CAAC;IAC/C;;OAEG;IACH,IAAI,aAAa,GAAqC,IAAI,CAAC;IAC3D;;OAEG;IACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B;;OAEG;IACH,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,IAAI,oBAAoB,GAAG,GAAG,EAAE;QAC/B,kBAAkB,GAAG,KAAK,CAAC;QAE3B,aAAa,GAAG,UAAU,CAAC;QAC3B,UAAU,GAAG,EAAE,CAAC;QAEhB,sBAAsB,GAAG,IAAI,CAAC;QAC9B,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG,GAAG,aAAa,CAAC,KAAK,EAAG,CAAC;YACjC,GAAG,CAAC,OAAO,EAAE,CAAC;SACd;QACD,sBAAsB,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC;IAEF,oCAA4B,GAAG,CAAC,MAAkB,EAAE,WAAmB,CAAC,EAAE,EAAE;QAC3E,IAAI,IAAI,GAAG,IAAI,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,kBAAkB,EAAE;YACxB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,+CAAuC,GAAG,CAAC,MAAkB,EAAE,QAAiB,EAAE,EAAE;QACnF,IAAI,sBAAsB,EAAE;YAC3B,IAAI,IAAI,GAAG,IAAI,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;SACZ;aAAM;YACN,OAAO,IAAA,oCAA4B,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACtD;IACF,CAAC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,SAAgB,OAAO,CAAC,QAAoB;IAC3C,OAAO,IAAA,oCAA4B,EAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAC1E,CAAC;AAFD,0BAEC;AAED,SAAgB,MAAM,CAAC,QAAoB;IAC1C,OAAO,IAAA,oCAA4B,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC1E,CAAC;AAFD,wBAEC;AAcD,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,oBAAoB,GAAqC,UAAU,SAAmB,EAAE,YAAsB;IACnH,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,2BAAmD,SAAQ,sBAAU;IAE1E,YAAY,IAAS,EAAE,IAAY,EAAE,OAA2B,EAAE,cAAuC,oBAAoB,EAAE,gBAAwB,eAAe;QACrK,KAAK,EAAE,CAAC;QAER,IAAI,SAAS,GAAa,IAAI,CAAC;QAC/B,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,oBAAY,EAAE,CAAC,CAAC;QAEjD,IAAI,aAAa,GAAG,GAAG,EAAE;YACxB,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,CAAI,SAAS,CAAC,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YAEtD,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC;YAE3D,IAAI,WAAW,IAAI,aAAa,EAAE;gBACjC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;aAChB;iBAAM;gBACN,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAAC,CAAC;aAChE;QACF,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;CACD;AAED,SAAgB,8BAA8B,CAAmC,IAAS,EAAE,IAAY,EAAE,OAA2B,EAAE,WAAgC,EAAE,aAAsB;IAC9L,OAAO,IAAI,2BAA2B,CAAO,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAC/F,CAAC;AAFD,wEAEC;AAED,SAAgB,gBAAgB,CAAC,EAAe;IAC/C,OAAO,QAAQ,CAAC,WAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAFD,4CAEC;AAED,qBAAqB;AACrB,yEAAyE;AACzE,MAAM,eAAe,GAAoD,CAAC;IACzE,OAAO,UAAU,OAAoB,EAAE,KAAa;QACnD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,YAAY,CAAC,OAAoB,EAAE,eAAuB,EAAE,cAAsB;IAC1F,IAAI,aAAa,GAAwB,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,aAAa,EAAE;QAClB,IAAI,aAAa,CAAC,gBAAgB,EAAE;YACnC,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;SACxD;aAAM;YACN,MAAM;YACN,KAAK,GAAS,aAAc,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SAC1D;KACD;IACD,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,OAAoB;IAEjD,0CAA0C;IAC1C,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE;QAC9B,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;KAChE;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE;QAC5C,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;KAC5D;IAED,kEAAkE;IAClE,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;QAC7E,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5E;IAED,wFAAwF;IACxF,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE;QAC9G,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;KAClG;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAClE,CAAC;AAvBD,sCAuBC;AAED,MAAM,SAAS,GAAG;IAEjB,kBAAkB,EAAE,UAAU,OAAoB;QACjD,OAAO,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,mBAAmB,EAAE,UAAU,OAAoB;QAClD,OAAO,YAAY,CAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,iBAAiB,EAAE,UAAU,OAAoB;QAChD,OAAO,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,oBAAoB,EAAE,UAAU,OAAoB;QACnD,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,EAAE,UAAU,OAAoB;QAC7C,OAAO,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IACD,eAAe,EAAE,UAAU,OAAoB;QAC9C,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IACD,aAAa,EAAE,UAAU,OAAoB;QAC5C,OAAO,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,gBAAgB,EAAE,UAAU,OAAoB;QAC/C,OAAO,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,EAAE,UAAU,OAAoB;QAC5C,OAAO,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,YAAY,EAAE,UAAU,OAAoB;QAC3C,OAAO,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,cAAc,EAAE,UAAU,OAAoB;QAC7C,OAAO,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IACD,eAAe,EAAE,UAAU,OAAoB;QAC9C,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IACD,eAAe,EAAE,KAAK;CACtB,CAAC;AAEF,2FAA2F;AAC3F,uBAAuB;AAEvB,MAAa,SAAS;IAIrB,YAAY,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAwB,EAAE,CAAwB;QAC/D,IAAI,CAAC,KAAK,CAAC,EAAE;YACZ,OAAO,IAAI,CAAC;SACZ;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YACb,OAAO,KAAK,CAAC;SACb;QACD,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;CACD;AAlBD,8BAkBC;AAED,SAAgB,gBAAgB,CAAC,OAAoB;IACpD,2CAA2C;IAC3C,+BAA+B;IAE/B,IAAI,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAE5F,OAAO,CAAC,OAAO,GAAgB,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC,eAAe,EAAE;QACjI,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;QACzB,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE;YACN,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;SACzE;QAED,IAAI,OAAO,KAAK,YAAY,EAAE;YAC7B,IAAI,IAAI,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC9C,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;YACzB,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;YAC3B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;SACpC;KACD;IAED,OAAO;QACN,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,GAAG;KACR,CAAC;AACH,CAAC;AA1BD,4CA0BC;AASD,SAAgB,IAAI,CAAC,OAAoB,EAAE,KAAa,EAAE,MAAc;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;KACnC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;KACrC;AACF,CAAC;AARD,oBAQC;AAED,SAAgB,QAAQ,CAAC,OAAoB,EAAE,GAAW,EAAE,KAAc,EAAE,MAAe,EAAE,IAAa,EAAE,WAAmB,UAAU;IACxI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;KAC/B;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;KACnC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;KACrC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC;KACjC;IAED,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACnC,CAAC;AAlBD,4BAkBC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAAoB;IAC1D,IAAI,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACzC,OAAO;QACN,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,sBAAc,CAAC,OAAO;QACtC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,sBAAc,CAAC,OAAO;QACpC,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM;KACjB,CAAC;AACH,CAAC;AARD,wDAQC;AAOY,QAAA,cAAc,GAAoB,IAAI;IAClD,IAAI,OAAO;QACV,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;YACvC,kBAAkB;YAClB,OAAO,MAAM,CAAC,OAAO,CAAC;SACtB;aAAM;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAgB,CAAC,UAAU,CAAC;SACvE;IACF,CAAC;IAED,IAAI,OAAO;QACV,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;YACvC,kBAAkB;YAClB,OAAO,MAAM,CAAC,OAAO,CAAC;SACtB;aAAM;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAgB,CAAC,SAAS,CAAC;SACrE;IACF,CAAC;CACD,CAAC;AAEF,qBAAqB;AACrB,oDAAoD;AACpD,SAAgB,aAAa,CAAC,OAAoB;IACjD,IAAI,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;AACrC,CAAC;AAHD,sCAGC;AAED,SAAgB,eAAe,CAAC,OAAoB;IACnD,IAAI,MAAM,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5F,IAAI,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAC/C,CAAC;AAJD,0CAIC;AAED,SAAgB,mBAAmB,CAAC,OAAoB;IACvD,IAAI,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;AACrC,CAAC;AAHD,kDAGC;AAED,qBAAqB;AACrB,mHAAmH;AACnH,SAAgB,gBAAgB,CAAC,OAAoB;IACpD,IAAI,MAAM,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5F,IAAI,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,OAAO,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAChD,CAAC;AAJD,4CAIC;AAED,qBAAqB;AACrB,yDAAyD;AACzD,SAAgB,cAAc,CAAC,OAAoB;IAClD,IAAI,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;AACtC,CAAC;AAHD,wCAGC;AAED,sFAAsF;AACtF,SAAS,eAAe,CAAC,OAAoB,EAAE,MAAmB;IACjE,IAAI,OAAO,KAAK,IAAI,EAAE;QACrB,OAAO,CAAC,CAAC;KACT;IAED,IAAI,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,eAAe,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAmB,EAAE,QAAuB;IAChF,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC;AACjB,CAAC;AAND,oDAMC;AAED,2FAA2F;AAE3F,SAAgB,UAAU,CAAC,SAAsB,EAAE,YAAyB;IAC3E,OAAO,SAAS,EAAE;QACjB,IAAI,SAAS,KAAK,YAAY,EAAE;YAC/B,OAAO,IAAI,CAAC;SACZ;QACD,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;KACjC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CAAC,IAAiB,EAAE,KAAa,EAAE,iBAAwC;IAC7G,OAAO,IAAI,EAAE;QACZ,IAAI,IAAA,gBAAQ,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,iBAAiB,EAAE;YACtB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;gBAC1C,IAAI,IAAA,gBAAQ,EAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE;oBACtC,OAAO,IAAI,CAAC;iBACZ;aACD;iBAAM;gBACN,IAAI,IAAI,KAAK,iBAAiB,EAAE;oBAC/B,OAAO,IAAI,CAAC;iBACZ;aACD;SACD;QAED,IAAI,GAAgB,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAtBD,kDAsBC;AAED,SAAgB,gBAAgB,CAAC,YAAyB,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjG,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;IACxB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;IACvB,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC;AACd,CAAC;AAND,4CAMC;AAED,IAAI,iBAAiB,GAA4B,IAAI,CAAC;AACtD,SAAS,mBAAmB;IAC3B,IAAI,CAAC,iBAAiB,EAAE;QACvB,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;KACvC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAU;IAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9C,aAAa;QACb,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;KACzB;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QACjD,KAAK;QACL,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC5B;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAE,QAA0B,mBAAmB,EAAE;IAC/G,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;QACvB,OAAO;KACP;IAEe,KAAK,CAAC,KAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAND,sCAMC;AAED,SAAgB,gCAAgC,CAAC,QAAgB,EAAE,QAA0B,mBAAmB,EAAE;IACjH,IAAI,CAAC,KAAK,EAAE;QACX,OAAO;KACP;IAED,IAAI,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACD;IAED,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,KAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;AACF,CAAC;AAjBD,4EAiBC;AAED,SAAgB,aAAa,CAAC,CAAM;IACnC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACpC,OAAO,CAAC,YAAY,WAAW,CAAC;KAChC;IACD,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACzF,CAAC;AALD,sCAKC;AAEY,QAAA,SAAS,GAAG;IACxB,SAAS;IACT,QAAQ,EAAE,UAAwB;IAClC,QAAQ,EAAE,UAAwB;IAClC,UAAU,EAAE,YAA4B;IACxC,gBAAgB,EAAE,mBAA0C;IAC5D,gBAAgB,EAAE,mBAA0C;IAC5D,QAAQ;IACR,KAAK,EAAE,OAAkB;IACzB,QAAQ,EAAE,UAAwB;IAClC,QAAQ,EAAE,SAAsB;IAChC,UAAU,EAAE,WAA0B;IACtC,UAAU,EAAE,WAA0B;IACtC,UAAU,EAAE,WAA0B;IACtC,SAAS,EAAE,UAAwB;IACnC,WAAW,EAAE,YAA4B;IACzC,WAAW,EAAE,YAA4B;IACzC,YAAY,EAAE,aAA8B;IAC5C,KAAK,EAAE,OAAkB;IACzB,WAAW;IACX,QAAQ,EAAE,SAAsB;IAChC,SAAS,EAAE,UAAwB;IACnC,MAAM,EAAE,OAAkB;IAC1B,gBAAgB;IAChB,IAAI,EAAE,MAAgB;IACtB,MAAM,EAAE,QAAoB;IAC5B,KAAK,EAAE,OAAkB;IACzB,KAAK,EAAE,OAAkB;IACzB,MAAM,EAAE,QAAoB;IAC5B,MAAM,EAAE,QAAoB;IAC5B,OAAO;IACP,MAAM,EAAE,QAAoB;IAC5B,MAAM,EAAE,QAAoB;IAC5B,MAAM,EAAE,QAAoB;IAC5B,KAAK,EAAE,OAAkB;IACzB,KAAK,EAAE,OAAkB;IACzB,QAAQ,EAAE,SAAsB;IAChC,SAAS,EAAE,UAAwB;IACnC,IAAI,EAAE,MAAgB;IACtB,KAAK,EAAE,OAAkB;IACzB,gBAAgB;IAChB,OAAO,EAAE,SAAsB;IAC/B,OAAO;IACP,UAAU,EAAE,WAA0B;IACtC,IAAI,EAAE,MAAgB;IACtB,UAAU,EAAE,WAA0B;IACtC,UAAU,EAAE,WAA0B;IACtC,SAAS,EAAE,UAAwB;IACnC,IAAI,EAAE,MAAgB;IACtB,QAAQ,EAAE,SAAsB;IAChC,YAAY;IACZ,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB;IAC7E,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc;IACvE,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,oBAAoB;CACzF,CAAC;AAOW,QAAA,WAAW,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAY,EAAE,YAAsB;QACnD,IAAI,CAAC,CAAC,cAAc,EAAE;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;aAAM;YACN,MAAM;YACA,CAAE,CAAC,WAAW,GAAG,KAAK,CAAC;SAC7B;QAED,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,CAAC,eAAe,EAAE;gBACtB,CAAC,CAAC,eAAe,EAAE,CAAC;aACpB;iBAAM;gBACN,MAAM;gBACA,CAAE,CAAC,YAAY,GAAG,IAAI,CAAC;aAC7B;SACD;IACF,CAAC;CACD,CAAC;AAQF,SAAgB,oBAAoB,CAAC,IAAa;IACjD,IAAI,CAAC,GAAa,EAAE,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;QACjE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACtB,IAAI,GAAY,IAAI,CAAC,UAAU,CAAC;KAChC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAPD,oDAOC;AAED,SAAgB,uBAAuB,CAAC,IAAa,EAAE,KAAe;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;QACjE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,IAAI,GAAY,IAAI,CAAC,UAAU,CAAC;KAChC;AACF,CAAC;AAPD,0DAOC;AAED,MAAM,YAAY;IAUjB,YAAY,OAA6B;QARjC,gBAAW,GAAG,IAAI,eAAO,EAAQ,CAAC;QACjC,eAAU,GAAgB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAElD,eAAU,GAAG,IAAI,eAAO,EAAQ,CAAC;QAChC,cAAS,GAAgB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAEhD,gBAAW,GAAkB,EAAE,CAAC;QAGvC,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAe,OAAO,CAAC,CAAC;QACxE,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,OAAO,GAAG,GAAG,EAAE;YAClB,YAAY,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aACxB;QACF,CAAC,CAAC;QAEF,IAAI,MAAM,GAAG,GAAG,EAAE;YACjB,IAAI,QAAQ,EAAE;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;oBACtB,IAAI,YAAY,EAAE;wBACjB,YAAY,GAAG,KAAK,CAAC;wBACrB,QAAQ,GAAG,KAAK,CAAC;wBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;qBACvB;gBACF,CAAC,EAAE,CAAC,CAAC,CAAC;aACN;QACF,CAAC,CAAC;QAEF,IAAA,gBAAQ,EAAC,OAAO,EAAE,iBAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAA,gBAAQ,EAAC,OAAO,EAAE,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACN,IAAI,CAAC,WAAW,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACD;AAED,SAAgB,UAAU,CAAC,OAA6B;IACvD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAFD,gCAEC;AAED,SAAgB,MAAM,CAAiB,MAAmB,EAAE,GAAG,QAAa;IAC3E,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAHD,wBAGC;AAED,SAAgB,OAAO,CAAiB,MAAmB,EAAE,KAAQ;IACpE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,0BAGC;AAED,MAAM,cAAc,GAAG,wCAAwC,CAAC;AAEhE,SAAgB,CAAC,CAAwB,WAAmB,EAAE,KAA+B,EAAE,GAAG,QAA8B;IAC/H,IAAI,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACpC;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACrB;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACb,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,KAAK,GAAG,KAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnB,MAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAC5B;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE;YAC/B,IAAI,KAAK,EAAE;gBACV,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAClC;SAED;aAAM;YACN,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACjC;IACF,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,QAAQ,CAAC;SAChB,OAAO,CAAC,KAAK,CAAC,EAAE;QAChB,IAAI,KAAK,YAAY,IAAI,EAAE;YAC1B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC,CAAC;SAC7D;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAW,CAAC;AACpB,CAAC;AAzCD,cAyCC;AAED,SAAgB,IAAI,CAAC,KAAa,EAAE,SAAwB;IAC3D,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,KAAK,GAAG,CAAC,EAAE;YACd,IAAI,SAAS,YAAY,IAAI,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;aAChD;SACD;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAhBD,oBAgBC;AAED,SAAgB,IAAI,CAAC,GAAG,QAAuB;IAC9C,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;QAC7B,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACvC;KACD;AACF,CAAC;AAPD,oBAOC;AAED,SAAgB,IAAI,CAAC,GAAG,QAAuB;IAC9C,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;QAC7B,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAC5C;KACD;AACF,CAAC;AAPD,oBAOC;AAED,SAAS,uBAAuB,CAAC,IAAiB,EAAE,SAAiB;IACpE,OAAO,IAAI,EAAE;QACZ,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;YAChE,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAgB,4BAA4B,CAAC,IAAiB;IAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QAC5C,OAAO;KACP;IAED,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE;QACpC,IAAI,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,eAAe,EAAE;YACpB,eAAe,CAAC,KAAK,EAAE,CAAC;SACxB;KACD;IAED,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAjBD,oEAiBC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC/C,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAFD,oDAEC;AAED,SAAgB,YAAY,CAAqB,EAAqB;IACrE,OAAO,CAAC,CAAC,EAAE;QACV,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACH,CAAC;AAND,oCAMC;AAED,SAAgB,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAM,OAAO,CAAC,EAAE;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,IAAI,UAAU,KAAK,UAAU,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YACtE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC/B;aAAM;YACN,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SAC5D;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AATD,4CASC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,KAAa;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACpE,CAAC;AAHD,wDAGC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC7C,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE;QAC/C,kDAAkD;QAClD,6FAA6F;QAC7F,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjB;SAAM;QACN,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,MAAM,EAAE;YACV,MAAc,CAAC,MAAM,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAC3B;KACD;AACF,CAAC;AAZD,gDAYC;AAED,SAAgB,OAAO,CAAC,EAAc;IACrC,MAAM,IAAI,GAAG,GAAG,EAAE;QACjB,EAAE,EAAE,CAAC;QACL,cAAc,GAAG,IAAA,oCAA4B,EAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAI,cAAc,GAAG,IAAA,oCAA4B,EAAC,IAAI,CAAC,CAAC;IACxD,OAAO,IAAA,wBAAY,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,CAAC;AARD,0BAQC"}
@@ -1,611 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
- return new (P || (P = Promise))(function (resolve, reject) {
9
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
- step((generator = generator.apply(thisArg, _arguments || [])).next());
13
- });
14
- };
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.Relay = exports.EventBufferer = exports.AsyncEmitter = exports.Emitter = exports.setGlobalLeakWarningThreshold = exports.Event = void 0;
17
- const lifecycle_1 = require("./lifecycle");
18
- const linkedList_1 = require("./linkedList");
19
- var Event;
20
- (function (Event) {
21
- const _disposable = { dispose() { } };
22
- Event.None = function () { return _disposable; };
23
- /**
24
- * Given an event, returns another event which only fires once.
25
- */
26
- function once(event) {
27
- return (listener, thisArgs = null, disposables) => {
28
- // we need this, in case the event fires during the listener call
29
- let didFire = false;
30
- const result = event(e => {
31
- if (didFire) {
32
- return;
33
- }
34
- else if (result) {
35
- result.dispose();
36
- }
37
- else {
38
- didFire = true;
39
- }
40
- return listener.call(thisArgs, e);
41
- }, null, disposables);
42
- if (didFire) {
43
- result.dispose();
44
- }
45
- return result;
46
- };
47
- }
48
- Event.once = once;
49
- /**
50
- * Given an event and a `map` function, returns another event which maps each element
51
- * throught the mapping function.
52
- */
53
- function map(event, map) {
54
- return (listener, thisArgs = null, disposables) => event(i => listener.call(thisArgs, map(i)), null, disposables);
55
- }
56
- Event.map = map;
57
- /**
58
- * Given an event and an `each` function, returns another identical event and calls
59
- * the `each` function per each element.
60
- */
61
- function forEach(event, each) {
62
- return (listener, thisArgs = null, disposables) => event(i => { each(i); listener.call(thisArgs, i); }, null, disposables);
63
- }
64
- Event.forEach = forEach;
65
- function filter(event, filter) {
66
- return (listener, thisArgs = null, disposables) => event(e => filter(e) && listener.call(thisArgs, e), null, disposables);
67
- }
68
- Event.filter = filter;
69
- /**
70
- * Given an event, returns the same event but typed as `Event<void>`.
71
- */
72
- function signal(event) {
73
- return event;
74
- }
75
- Event.signal = signal;
76
- /**
77
- * Given a collection of events, returns a single event which emits
78
- * whenever any of the provided events emit.
79
- */
80
- function any(...events) {
81
- return (listener, thisArgs = null, disposables) => (0, lifecycle_1.combinedDisposable)(events.map(event => event(e => listener.call(thisArgs, e), null, disposables)));
82
- }
83
- Event.any = any;
84
- /**
85
- * Given an event and a `merge` function, returns another event which maps each element
86
- * and the cummulative result throught the `merge` function. Similar to `map`, but with memory.
87
- */
88
- function reduce(event, merge, initial) {
89
- let output = initial;
90
- return map(event, e => {
91
- output = merge(output, e);
92
- return output;
93
- });
94
- }
95
- Event.reduce = reduce;
96
- function debounce(event, merge, delay = 100, leading = false, leakWarningThreshold) {
97
- let subscription;
98
- let output = undefined;
99
- let handle = undefined;
100
- let numDebouncedCalls = 0;
101
- const emitter = new Emitter({
102
- leakWarningThreshold,
103
- onFirstListenerAdd() {
104
- subscription = event(cur => {
105
- numDebouncedCalls++;
106
- output = merge(output, cur);
107
- if (leading && !handle) {
108
- emitter.fire(output);
109
- }
110
- clearTimeout(handle);
111
- handle = setTimeout(() => {
112
- let _output = output;
113
- output = undefined;
114
- handle = undefined;
115
- if (!leading || numDebouncedCalls > 1) {
116
- emitter.fire(_output);
117
- }
118
- numDebouncedCalls = 0;
119
- }, delay);
120
- });
121
- },
122
- onLastListenerRemove() {
123
- subscription.dispose();
124
- }
125
- });
126
- return emitter.event;
127
- }
128
- Event.debounce = debounce;
129
- /**
130
- * Given an event, it returns another event which fires only once and as soon as
131
- * the input event emits. The event data is the number of millis it took for the
132
- * event to fire.
133
- */
134
- function stopwatch(event) {
135
- const start = new Date().getTime();
136
- return map(once(event), _ => new Date().getTime() - start);
137
- }
138
- Event.stopwatch = stopwatch;
139
- /**
140
- * Given an event, it returns another event which fires only when the event
141
- * element changes.
142
- */
143
- function latch(event) {
144
- let firstCall = true;
145
- let cache;
146
- return filter(event, value => {
147
- let shouldEmit = firstCall || value !== cache;
148
- firstCall = false;
149
- cache = value;
150
- return shouldEmit;
151
- });
152
- }
153
- Event.latch = latch;
154
- /**
155
- * Buffers the provided event until a first listener comes
156
- * along, at which point fire all the events at once and
157
- * pipe the event from then on.
158
- *
159
- * ```typescript
160
- * const emitter = new Emitter<number>();
161
- * const event = emitter.event;
162
- * const bufferedEvent = buffer(event);
163
- *
164
- * emitter.fire(1);
165
- * emitter.fire(2);
166
- * emitter.fire(3);
167
- * // nothing...
168
- *
169
- * const listener = bufferedEvent(num => console.log(num));
170
- * // 1, 2, 3
171
- *
172
- * emitter.fire(4);
173
- * // 4
174
- * ```
175
- */
176
- function buffer(event, nextTick = false, _buffer = []) {
177
- let buffer = _buffer.slice();
178
- let listener = event(e => {
179
- if (buffer) {
180
- buffer.push(e);
181
- }
182
- else {
183
- emitter.fire(e);
184
- }
185
- });
186
- const flush = () => {
187
- if (buffer) {
188
- buffer.forEach(e => emitter.fire(e));
189
- }
190
- buffer = null;
191
- };
192
- const emitter = new Emitter({
193
- onFirstListenerAdd() {
194
- if (!listener) {
195
- listener = event(e => emitter.fire(e));
196
- }
197
- },
198
- onFirstListenerDidAdd() {
199
- if (buffer) {
200
- if (nextTick) {
201
- setTimeout(flush);
202
- }
203
- else {
204
- flush();
205
- }
206
- }
207
- },
208
- onLastListenerRemove() {
209
- if (listener) {
210
- listener.dispose();
211
- }
212
- listener = null;
213
- }
214
- });
215
- return emitter.event;
216
- }
217
- Event.buffer = buffer;
218
- /**
219
- * Similar to `buffer` but it buffers indefinitely and repeats
220
- * the buffered events to every new listener.
221
- */
222
- function echo(event, nextTick = false, buffer = []) {
223
- buffer = buffer.slice();
224
- event(e => {
225
- buffer.push(e);
226
- emitter.fire(e);
227
- });
228
- const flush = (listener, thisArgs) => buffer.forEach(e => listener.call(thisArgs, e));
229
- const emitter = new Emitter({
230
- onListenerDidAdd(emitter, listener, thisArgs) {
231
- if (nextTick) {
232
- setTimeout(() => flush(listener, thisArgs));
233
- }
234
- else {
235
- flush(listener, thisArgs);
236
- }
237
- }
238
- });
239
- return emitter.event;
240
- }
241
- Event.echo = echo;
242
- class ChainableEvent {
243
- constructor(_event) {
244
- this._event = _event;
245
- }
246
- get event() { return this._event; }
247
- map(fn) {
248
- return new ChainableEvent(map(this._event, fn));
249
- }
250
- forEach(fn) {
251
- return new ChainableEvent(forEach(this._event, fn));
252
- }
253
- filter(fn) {
254
- return new ChainableEvent(filter(this._event, fn));
255
- }
256
- reduce(merge, initial) {
257
- return new ChainableEvent(reduce(this._event, merge, initial));
258
- }
259
- latch() {
260
- return new ChainableEvent(latch(this._event));
261
- }
262
- on(listener, thisArgs, disposables) {
263
- return this._event(listener, thisArgs, disposables);
264
- }
265
- once(listener, thisArgs, disposables) {
266
- return once(this._event)(listener, thisArgs, disposables);
267
- }
268
- }
269
- function chain(event) {
270
- return new ChainableEvent(event);
271
- }
272
- Event.chain = chain;
273
- function fromNodeEventEmitter(emitter, eventName, map = id => id) {
274
- const fn = (...args) => result.fire(map(...args));
275
- const onFirstListenerAdd = () => emitter.on(eventName, fn);
276
- const onLastListenerRemove = () => emitter.removeListener(eventName, fn);
277
- const result = new Emitter({ onFirstListenerAdd, onLastListenerRemove });
278
- return result.event;
279
- }
280
- Event.fromNodeEventEmitter = fromNodeEventEmitter;
281
- function fromPromise(promise) {
282
- const emitter = new Emitter();
283
- let shouldEmit = false;
284
- promise
285
- .then(undefined, () => null)
286
- .then(() => {
287
- if (!shouldEmit) {
288
- setTimeout(() => emitter.fire(undefined), 0);
289
- }
290
- else {
291
- emitter.fire(undefined);
292
- }
293
- });
294
- shouldEmit = true;
295
- return emitter.event;
296
- }
297
- Event.fromPromise = fromPromise;
298
- function toPromise(event) {
299
- return new Promise(c => once(event)(c));
300
- }
301
- Event.toPromise = toPromise;
302
- })(Event = exports.Event || (exports.Event = {}));
303
- let _globalLeakWarningThreshold = -1;
304
- function setGlobalLeakWarningThreshold(n) {
305
- let oldValue = _globalLeakWarningThreshold;
306
- _globalLeakWarningThreshold = n;
307
- return {
308
- dispose() {
309
- _globalLeakWarningThreshold = oldValue;
310
- }
311
- };
312
- }
313
- exports.setGlobalLeakWarningThreshold = setGlobalLeakWarningThreshold;
314
- class LeakageMonitor {
315
- constructor(customThreshold, name = Math.random().toString(18).slice(2, 5)) {
316
- this.customThreshold = customThreshold;
317
- this.name = name;
318
- this._warnCountdown = 0;
319
- }
320
- dispose() {
321
- if (this._stacks) {
322
- this._stacks.clear();
323
- }
324
- }
325
- check(listenerCount) {
326
- let threshold = _globalLeakWarningThreshold;
327
- if (typeof this.customThreshold === 'number') {
328
- threshold = this.customThreshold;
329
- }
330
- if (threshold <= 0 || listenerCount < threshold) {
331
- return undefined;
332
- }
333
- if (!this._stacks) {
334
- this._stacks = new Map();
335
- }
336
- let stack = new Error().stack.split('\n').slice(3).join('\n');
337
- let count = (this._stacks.get(stack) || 0);
338
- this._stacks.set(stack, count + 1);
339
- this._warnCountdown -= 1;
340
- if (this._warnCountdown <= 0) {
341
- // only warn on first exceed and then every time the limit
342
- // is exceeded by 50% again
343
- this._warnCountdown = threshold * 0.5;
344
- // find most frequent listener and print warning
345
- let topStack;
346
- let topCount = 0;
347
- this._stacks.forEach((count, stack) => {
348
- if (!topStack || topCount < count) {
349
- topStack = stack;
350
- topCount = count;
351
- }
352
- });
353
- console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);
354
- console.warn(topStack);
355
- }
356
- return () => {
357
- let count = (this._stacks.get(stack) || 0);
358
- this._stacks.set(stack, count - 1);
359
- };
360
- }
361
- }
362
- /**
363
- * The Emitter can be used to expose an Event to the public
364
- * to fire it from the insides.
365
- * Sample:
366
- class Document {
367
-
368
- private _onDidChange = new Emitter<(value:string)=>any>();
369
-
370
- public onDidChange = this._onDidChange.event;
371
-
372
- // getter-style
373
- // get onDidChange(): Event<(value:string)=>any> {
374
- // return this._onDidChange.event;
375
- // }
376
-
377
- private _doIt() {
378
- //...
379
- this._onDidChange.fire(value);
380
- }
381
- }
382
- */
383
- class Emitter {
384
- constructor(options) {
385
- this._disposed = false;
386
- this._options = options;
387
- this._leakageMon = _globalLeakWarningThreshold > 0
388
- ? new LeakageMonitor(this._options && this._options.leakWarningThreshold)
389
- : undefined;
390
- }
391
- /**
392
- * For the public to allow to subscribe
393
- * to events from this Emitter
394
- */
395
- get event() {
396
- if (!this._event) {
397
- this._event = (listener, thisArgs, disposables) => {
398
- if (!this._listeners) {
399
- this._listeners = new linkedList_1.LinkedList();
400
- }
401
- const firstListener = this._listeners.isEmpty();
402
- if (firstListener && this._options && this._options.onFirstListenerAdd) {
403
- this._options.onFirstListenerAdd(this);
404
- }
405
- const remove = this._listeners.push(!thisArgs ? listener : [listener, thisArgs]);
406
- if (firstListener && this._options && this._options.onFirstListenerDidAdd) {
407
- this._options.onFirstListenerDidAdd(this);
408
- }
409
- if (this._options && this._options.onListenerDidAdd) {
410
- this._options.onListenerDidAdd(this, listener, thisArgs);
411
- }
412
- // check and record this emitter for potential leakage
413
- let removeMonitor;
414
- if (this._leakageMon) {
415
- removeMonitor = this._leakageMon.check(this._listeners.size);
416
- }
417
- let result;
418
- result = {
419
- dispose: () => {
420
- if (removeMonitor) {
421
- removeMonitor();
422
- }
423
- result.dispose = Emitter._noop;
424
- if (!this._disposed) {
425
- remove();
426
- if (this._options && this._options.onLastListenerRemove) {
427
- const hasListeners = (this._listeners && !this._listeners.isEmpty());
428
- if (!hasListeners) {
429
- this._options.onLastListenerRemove(this);
430
- }
431
- }
432
- }
433
- }
434
- };
435
- if (Array.isArray(disposables)) {
436
- disposables.push(result);
437
- }
438
- return result;
439
- };
440
- }
441
- return this._event;
442
- }
443
- /**
444
- * To be kept private to fire an event to
445
- * subscribers
446
- */
447
- fire(event) {
448
- if (this._listeners) {
449
- // put all [listener,event]-pairs into delivery queue
450
- // then emit all event. an inner/nested event might be
451
- // the driver of this
452
- if (!this._deliveryQueue) {
453
- this._deliveryQueue = [];
454
- }
455
- for (let iter = this._listeners.iterator(), e = iter.next(); !e.done; e = iter.next()) {
456
- this._deliveryQueue.push([e.value, event]);
457
- }
458
- while (this._deliveryQueue.length > 0) {
459
- const [listener, event] = this._deliveryQueue.shift();
460
- try {
461
- if (typeof listener === 'function') {
462
- listener.call(undefined, event);
463
- }
464
- else {
465
- listener[0].call(listener[1], event);
466
- }
467
- }
468
- catch (e) {
469
- console.error(e);
470
- }
471
- }
472
- }
473
- }
474
- dispose() {
475
- if (this._listeners) {
476
- this._listeners = undefined;
477
- }
478
- if (this._deliveryQueue) {
479
- this._deliveryQueue.length = 0;
480
- }
481
- if (this._leakageMon) {
482
- this._leakageMon.dispose();
483
- }
484
- this._disposed = true;
485
- }
486
- }
487
- exports.Emitter = Emitter;
488
- Emitter._noop = function () { };
489
- class AsyncEmitter extends Emitter {
490
- fireAsync(eventFn) {
491
- return __awaiter(this, void 0, void 0, function* () {
492
- if (!this._listeners) {
493
- return;
494
- }
495
- // put all [listener,event]-pairs into delivery queue
496
- // then emit all event. an inner/nested event might be
497
- // the driver of this
498
- if (!this._asyncDeliveryQueue) {
499
- this._asyncDeliveryQueue = [];
500
- }
501
- for (let iter = this._listeners.iterator(), e = iter.next(); !e.done; e = iter.next()) {
502
- let thenables = [];
503
- this._asyncDeliveryQueue.push([e.value, eventFn(thenables, typeof e.value === 'function' ? e.value : e.value[0]), thenables]);
504
- }
505
- while (this._asyncDeliveryQueue.length > 0) {
506
- const [listener, event, thenables] = this._asyncDeliveryQueue.shift();
507
- try {
508
- if (typeof listener === 'function') {
509
- listener.call(undefined, event);
510
- }
511
- else {
512
- listener[0].call(listener[1], event);
513
- }
514
- }
515
- catch (e) {
516
- console.error(e);
517
- continue;
518
- }
519
- // freeze thenables-collection to enforce sync-calls to
520
- // wait until and then wait for all thenables to resolve
521
- Object.freeze(thenables);
522
- yield Promise.all(thenables);
523
- }
524
- });
525
- }
526
- }
527
- exports.AsyncEmitter = AsyncEmitter;
528
- /**
529
- * The EventBufferer is useful in situations in which you want
530
- * to delay firing your events during some code.
531
- * You can wrap that code and be sure that the event will not
532
- * be fired during that wrap.
533
- *
534
- * ```
535
- * const emitter: Emitter;
536
- * const delayer = new EventDelayer();
537
- * const delayedEvent = delayer.wrapEvent(emitter.event);
538
- *
539
- * delayedEvent(console.log);
540
- *
541
- * delayer.bufferEvents(() => {
542
- * emitter.fire(); // event will not be fired yet
543
- * });
544
- *
545
- * // event will only be fired at this point
546
- * ```
547
- */
548
- class EventBufferer {
549
- constructor() {
550
- this.buffers = [];
551
- }
552
- wrapEvent(event) {
553
- return (listener, thisArgs, disposables) => {
554
- return event(i => {
555
- const buffer = this.buffers[this.buffers.length - 1];
556
- if (buffer) {
557
- buffer.push(() => listener.call(thisArgs, i));
558
- }
559
- else {
560
- listener.call(thisArgs, i);
561
- }
562
- }, undefined, disposables);
563
- };
564
- }
565
- bufferEvents(fn) {
566
- const buffer = [];
567
- this.buffers.push(buffer);
568
- const r = fn();
569
- this.buffers.pop();
570
- buffer.forEach(flush => flush());
571
- return r;
572
- }
573
- }
574
- exports.EventBufferer = EventBufferer;
575
- /**
576
- * A Relay is an event forwarder which functions as a replugabble event pipe.
577
- * Once created, you can connect an input event to it and it will simply forward
578
- * events from that input event through its own `event` property. The `input`
579
- * can be changed at any point in time.
580
- */
581
- class Relay {
582
- constructor() {
583
- this.listening = false;
584
- this.inputEvent = Event.None;
585
- this.inputEventListener = lifecycle_1.Disposable.None;
586
- this.emitter = new Emitter({
587
- onFirstListenerDidAdd: () => {
588
- this.listening = true;
589
- this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter);
590
- },
591
- onLastListenerRemove: () => {
592
- this.listening = false;
593
- this.inputEventListener.dispose();
594
- }
595
- });
596
- this.event = this.emitter.event;
597
- }
598
- set input(event) {
599
- this.inputEvent = event;
600
- if (this.listening) {
601
- this.inputEventListener.dispose();
602
- this.inputEventListener = event(this.emitter.fire, this.emitter);
603
- }
604
- }
605
- dispose() {
606
- this.inputEventListener.dispose();
607
- this.emitter.dispose();
608
- }
609
- }
610
- exports.Relay = Relay;
611
- //# sourceMappingURL=event.js.map