From a0dd3be2b6dffdad7e3c39ffe5a974ac88f00fe4 Mon Sep 17 00:00:00 2001 From: foxriver76 Date: Sun, 30 Jul 2023 18:30:20 +0200 Subject: [PATCH] fixed edge case crash on button updates --- README.md | 4 ++++ build/main.js | 3 +-- build/main.js.map | 2 +- src/main.ts | 5 ++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8feba314..edd0e033 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,10 @@ In den Adapter-Settings muss die IP der Hue Bridge sowie ein Username konfigurie Placeholder for the next version (at the beginning of the line): ### __WORK IN PROGRESS__ --> + +### __WORK IN PROGRESS__ +* (foxriver76) fixed edge case crash on button updates + ### 3.9.3 (2023-06-14) * (foxriver76) fix crash cases on unknown push updates (closes #417) diff --git a/build/main.js b/build/main.js index 45782745..21b43688 100644 --- a/build/main.js +++ b/build/main.js @@ -1008,8 +1008,7 @@ class Hue extends utils.Adapter { if (update.power_state) { this.setState(`${channelName}.battery`, update.power_state.battery_level, true); } - if (update.button) { - // TODO: implement encoding for buttonevent + if (update.button.button_report) { this.setState(`${channelName}.lastupdated`, update.button.button_report.updated, true); this.setState(`${channelName}.buttonevent`, this.transformButtonEvent({ event: update.button.button_report.event, id: update.id }), true); } diff --git a/build/main.js.map b/build/main.js.map index 8450dc5e..432e5af3 100644 --- a/build/main.js.map +++ b/build/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,+CAAkC;AAClC,8DAAgD;AAChD,2DAA6C;AAC7C,mDAAqC;AAErC,8FAAsE;AACtE,sEAA4C;AAuE5C,yCAAyC;AACzC,MAAM,UAAU,GAA4B,EAAE,CAAC;AAC/C,uCAAuC;AACvC,MAAM,UAAU,GAA2B,EAAE,CAAC;AAC9C,0CAA0C;AAC1C,MAAM,QAAQ,GAA2B,EAAE,CAAC;AAC5C,6BAA6B;AAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;AACnC,8BAA8B;AAC9B,MAAM,WAAW,GAAiB,EAAE,CAAC;AACrC,6BAA6B;AAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;AAEnC,IAAI,SAAiB,CAAC;AAEtB,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AACnH,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAElE,MAAM,GAAI,SAAQ,KAAK,CAAC,OAAO;IAa3B,YAAY,UAAyC,EAAE;QACnD,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAJvC,qEAAqE;QAC7D,UAAK,GAAwB,EAAE,CAAC;QAKpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACjC,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE;gBAC3C,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC1C;SACJ;QAED,6CAA6C;QAC7C,IAAI,CAAC,MAAM,CAAC,eAAe;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE9F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC/E,OAAO;SACV;QAED,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAoB;QAC/B,IAAI;YACA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;aACrC;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAExB,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,QAAQ,EAAE,CAAC;SACd;QAAC,WAAM;YACJ,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAqB;QACjC,IAAI,GAAG,EAAE;YACL,QAAQ,GAAG,CAAC,OAAO,EAAE;gBACjB,KAAK,QAAQ,CAAC,CAAC;oBACX,+CAA+C;oBAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,iCAAiC;wBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACpE;oBACD,MAAM;iBACT;gBACD,KAAK,YAAY,CAAC,CAAC;oBACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC;oBACzD,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,iCAAiC;wBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACpE;oBACD,MAAM;iBACT;gBACD;oBACI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjD,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,iCAAiC;wBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;qBAC5E;oBACD,MAAM;aACb;SACJ;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,KAAwC;;QACpE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE;YAC5B,OAAO;SACV;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAG,CAAC;QAEpB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI;gBACA,2CAA2C;gBAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,iBAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;gBAExD,IAAI,CAAC,GAAG,EAAE;oBACN,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;iBACrD;gBAED,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEhC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAEnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aACtD;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9D;YACD,OAAO;SACV;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,UAAU,CAAC;QACf,IAAI;YACA,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;SAC5D;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAE,MAAM,SAAS,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,OAAO;SACV;QAED,IAAI,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,IAAI,KAAI,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAChF,mDAAmD;YACnD,IAAI;gBACA,IAAI,EAAE,KAAK,IAAI,EAAE;oBACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChE,mDAAmD;oBACnD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;oBACxC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;iBACrF;qBAAM,IAAI,EAAE,KAAK,QAAQ,EAAE;oBACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChE,wCAAwC;oBACxC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,wCAAwC;oBACxC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;iBACrF;qBAAM,IAAI,EAAE,KAAK,MAAM,EAAE;oBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChE,wCAAwC;oBACxC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;oBACxB,wCAAwC;oBACxC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;iBACrF;qBAAM;oBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,WAAW,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,4BAA4B,CAC9F,CAAC;iBACL;aACJ;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAChF;YACD,OAAO;SACV;QAED,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5B,4CAA4C;QAC5C,IAAI,EAAE,KAAK,cAAc,EAAE;YACvB,IAAI,KAAK,CAAC,GAAG,EAAE;gBACX,oBAAoB;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aACjD;iBAAM;gBACH,oBAAoB;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAClD;YACD,OAAO;SACV;QAED,2CAA2C;QAC3C,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,OAAO,EAAE;YAClC,EAAE,GAAG,IAAI,CAAC;SACb;QAED,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAEvC,gGAAgG;QAChG,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IACI,EAAE,KAAK,IAAI;YACX,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB;YACnC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAC3E;YACE,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO;SACV;QACD,yDAAyD;QACzD,IAAI,EAAE,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YACjD,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO;SACV;QACD,kBAAkB;QAClB,IAAI,QAAgE,CAAC;QACrE,IAAI;YACA,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACnD;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO;SACV;QAED,wCAAwC;QACxC,MAAM,EAAE,GAAwB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,IAAI,OAAO,GAAwB,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B;;;;WAIG;QACH,MAAM,WAAW,GAAgD,CAAC,OAAe,EAAE,OAAgB,EAAE,EAAE;YACnG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACpB,OAAO;aACV;YACD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE;gBACnC,OAAO;aACV;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACzB,QAAQ,IAAI,EAAE;gBACV,KAAK,IAAI;oBACL,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE;wBACrC,MAAM,GAAG,IAAI,CAAC;qBACjB;oBACD,MAAM;gBACV,KAAK,KAAK;oBACN,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACjC,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBAC/B,4BAA4B;oBAC5B,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE;wBACpD,MAAM,GAAG,IAAI,CAAC;qBACjB;oBACD,MAAM;gBACV,KAAK,OAAO;oBACR,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,OAAO,EAAE;wBAChB,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,QAAQ;oBACT,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,QAAQ,EAAE;wBACjB,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE;wBACxC,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,IAAI;oBACL,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,IAAI,EAAE;wBACb,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACN,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE;wBAC9B,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,IAAI;oBACL,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,KAAK,IAAI,EAAE;wBACb,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;qBACpC;oBACD,MAAM;gBACV,KAAK,SAAS;oBACV,gBAAgB,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBACnC,MAAM;gBACV;oBACI,IAAI,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBAC7C,MAAM;aACb;YACD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC,CAAC;QAEF,8EAA8E;QAC9E,oDAAoD;QACpD,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,WAAW,CAAC,GAAG,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,WAAW,CAAC,GAAG,UAAU,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,WAAW,CAAC,GAAG,UAAU,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzC,WAAW,CAAC,GAAG,UAAU,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,WAAW,CAAC,GAAG,UAAU,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,GAAG,UAAU,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,GAAG,UAAU,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,GAAG,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,WAAW,CAAC,GAAG,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,WAAW,CAAC,GAAG,UAAU,OAAO,EAAE,IAAI,CAAC,CAAC;QAExC,6DAA6D;QAC7D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;gBACnF,SAAS;aACZ;YACD,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,OAAO,CAAC;QACZ,kEAAkE;QAClE,IAAI,gBAAgB,IAAI,EAAE,KAAK,SAAS,EAAE;YACtC,IAAI;gBACA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC;gBAEjD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACpC,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,SAAS,UAAU,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAEjG,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE;wBAClB,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;qBAChC;iBACJ;gBAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACzC,IAAI,OAAO,KAAK,IAAI,EAAE;wBAClB,0DAA0D;wBAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;4BAC1E,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B;yBACnE;6BAAM;4BACH,oBAAoB;4BACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gCAC7E,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;6BAChB;iCAAM;gCACH,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;6BACd;yBACJ;qBACJ;yBAAM,IAAI,OAAO,KAAK,OAAO,EAAE;wBAC5B,sBAAsB;wBACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;4BACxD,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;yBACrE;6BAAM;4BACH,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;yBAChB;qBACJ;yBAAM;wBACH,EAAE,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;qBACnC;iBACJ;aACJ;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO;aACV;SACJ;QAED,iBAAiB;QACjB,IAAI,GAAG,CAAC;QACR,IAAI;YACA,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SACvC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO;SACV;QAED,4EAA4E;QAC5E,IAAI,CAAC,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,0CAAE,IAAI,CAAA,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,kDAAkD,CAAC,CAAC;YAChF,OAAO;SACV;QAED,+BAA+B;QAC/B,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YACD,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YACD,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YACD,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAC1B,EAAE,CAAC,CAAC,GAAG,GAAG,EACV,EAAE,CAAC,CAAC,GAAG,GAAG,EACV,EAAE,CAAC,CAAC,GAAG,GAAG,EACV,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACtG,CAAC;YACF,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;YACf,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;SAC/B;QAED,6CAA6C;QAC7C,IAAI,UAAU,GAAG,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAChF,CAAC,CAAC,IAAI,iBAAE,CAAC,WAAW,CAAC,eAAe,EAAE;YACtC,CAAC,CAAC,IAAI,iBAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEtC,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;aAC/F;YACD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;YAClB,8FAA8F;YAC9F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACvD,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;gBAClB,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aACpC;SACJ;aAAM;YACH,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,IAAI,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE;gBAC3B,IAAI,EAAE,CAAC,EAAE,EAAE;oBACP,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;iBAC5B;qBAAM;oBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9C,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;iBACjB;aACJ;YAED,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,EAAE,GAAG,SAAS,CAAC,eAAe,CAC1B,EAAE,CAAC,CAAC,EACJ,EAAE,CAAC,CAAC,EACJ,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACtG,CAAC;YACF,IAAI,CAAC,EAAE,EAAE;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;gBACnE,OAAO;aACV;YAED,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAE/B,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/D,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE;gBAC7C,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;YACD,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,GAAG,YAAY,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBAC3F,OAAO;aACV;YAED,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEjD,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;SACJ;QACD,IAAI,KAAK,IAAI,EAAE,EAAE;YACb,IAAI,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,GAAG,YAAY,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;gBAC7F,OAAO;aACV;YAED,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE;gBACjB,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;aACrB;YACD,kCAAkC;YAClC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAEtD,IAAI,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE;gBACrB,qBAAqB;gBACrB,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;aACvB;YAED,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;SACJ;QACD,IAAI,KAAK,IAAI,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;SACJ;QACD,IAAI,OAAO,IAAI,EAAE,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;aAC1B;iBAAM;gBACH,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;aAC5B;YACD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAChD;QACD,IAAI,QAAQ,IAAI,EAAE,EAAE;YAChB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAElD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,IACI,CAAC,MAAM;gBACP,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC9B;gBACE,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;SACJ;QAED,kCAAkC;QAClC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YACxB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;gBACxB,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;gBACxC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;aAC1D;SACJ;QACD,IAAI,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;YACzD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;YACD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;YACzD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE;gBACd,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;aACnB;YACD,kCAAkC;YAClC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;YAEpC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE;gBAClB,qBAAqB;gBACrB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;aACpB;YAED,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;YAElE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;YACD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE;YACtD,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAE7E,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACvE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7E,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;aACrB;YACD,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC1C;QACD,IAAI,SAAS,IAAI,EAAE,EAAE;YACjB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACxF,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE;gBACnB,IAAI,MAAM,EAAE;oBACR,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAClC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC;iBACtB;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC7D,OAAO;iBACV;aACJ;iBAAM;gBACH,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;gBAClB,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aACpC;YACD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5C;QAED,mBAAmB;QACnB,IAAI,IAAI,IAAI,OAAO,EAAE;YACjB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YACxB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;aAAM,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE;YAC7C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;QAED,gCAAgC;QAChC,IAAI,KAAK,IAAI,OAAO,EAAE;YAClB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;QAED,4EAA4E;QAC5E,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YACnD,wGAAwG;YACxG,UAAU,GAAG,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5E,CAAC,CAAC,IAAI,iBAAE,CAAC,WAAW,CAAC,eAAe,EAAE;gBACtC,CAAC,CAAC,IAAI,iBAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,GAAG,EAAE;gBACX,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aACvB;iBAAM;gBACH,UAAU,CAAC,GAAG,EAAE,CAAC;aACpB;SACJ;QAED,wCAAwC;QACxC,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,YAAY,oBAAU,EAAE;YAC3D,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC7B;QAED,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClG,6BAA6B;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI;gBACA,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC;oBACxB,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAChB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClD,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;aACxE;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAClF;SACJ;aAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;YACrC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACrD,OAAO,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC7B,6BAA6B;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAErF,UAAU,GAAG,IAAI,iBAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC7C,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI;oBACA,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;oBAChE,MAAM,IAAI,CAAC,gBAAgB,CAAC;wBACxB,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;wBAClB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;qBAClD,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;iBACzE;gBAAC,OAAO,CAAM,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAClF;aACJ;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;aAC7C;SACJ;aAAM;YACH,6BAA6B;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAErF,IAAI;gBACA,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,gBAAgB,CAAC;oBACxB,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;oBAClB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClD,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;aACzE;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAClF;SACJ;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAChB,OAAO,GAAG,IAAK,CAAC;SACnB;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,kCAAkC;QAClC,IAAI;YACA,IAAI,GAAG,MAAM,iBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACjD;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI;YACA,IAAI,GAAG,MAAM,iBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC3C;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/D;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gBACpC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACxB;iBAAM;gBACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAClC;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU;QACvB,MAAM,UAAU,GAAG,cAAc,CAAC;QAClC,IAAI;YACA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;gBACvB,CAAC,CAAC,MAAM,iBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;gBAC1D,CAAC,CAAC,mDAAmD;oBACnD,MAAM,iBAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAEvE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAClD;QAAC,OAAO,CAAM,EAAE;YACb,mCAAmC;YACnC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE,KAAK,GAAG,EAAE;gBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,gFAAgF;YAChF,wDAAwD;YACxD,OAAO;gBACH,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;aACrE,CAAC;SACL;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,MAAM,GAA+B,EAAE,CAAC;QAE9C,IAAI;YACA,IAAI,MAAM,GAAwB,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAwB,EAAE,CAAC;YAEvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAEzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1C;YAED,sBAAsB;YACtB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBACxD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gBACf,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;aACrB;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBACjD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/D,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;gBACvC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5E;YAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC1B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACvD;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBACzB,iDAAiD;gBACjD,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oBACtB,aAAa;oBACb,qEAAqE;oBACrE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;iBAC3B;aACJ;YAED,oCAAoC;YACpC,IAAI,MAAM,CAAC,KAAK,EAAE;gBACd,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;aAC/B;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;gBACrD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9C;YAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACzF;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;SACjG;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;YACzC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,MAAM,GAA+B,EAAE,CAAC;QAE9C,IAAI;YACA,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAwB,EAAE,CAAC;YAEvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAEzB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;aACjG;YAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC1B,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;oBACxD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;oBACf,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;iBACrB;aACJ;YAED,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBACjD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/D,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;gBACvC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5E;YAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC1B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACvD;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBACzB,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAClD;YACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACzF;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACzF;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;YACzC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SACnC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAChB,uCAAuC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,yBAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACf,OAAO;aACV;YAED,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEvE,KAAK,MAAM,YAAY,IAAI,IAAI,EAAE;oBAC7B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE;wBACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;qBAC5B;iBACJ;aACJ;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7E;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,MAAoB;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACrF,OAAO;SACV;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO;SACV;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,IAAI,KAAK,6BAA6B,EAAE;YAClF,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC1F,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACpC,OAAO;SACV;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE;YACvC,iBAAiB;YACjB,OAAO;SACV;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,iBAAiB;YACjB,OAAO;SACV;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,EAAU,EAAE,MAAoB;;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,iBAAiB,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACrF;QAED,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,YAAY,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,iBAAiB,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC9E;QAED,IAAI,MAAM,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SACnF;QAED,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,2CAA2C;YAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CACT,GAAG,WAAW,cAAc,EAC5B,IAAI,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EACtF,IAAI,CACP,CAAC;SACL;IACL,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,OAA+C;;QAChE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAE9B,MAAM,SAAS,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5G,OAAO,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,0CAAE,QAAQ,0CAAE,UAAU,mCAAI,CAAC,CAAC,GAAG,IAAK,GAAG,SAAS,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,MAAoB;;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAC1D;QAED,IAAI,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;SACrG;QAED,IAAI,MAAA,MAAM,CAAC,iBAAiB,0CAAE,WAAW,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAM,CAAC,EAAE,IAAI,CAAC,CAAC;SACtG;QAED,IAAI,MAAM,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACvF;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CAAC,WAAmB,EAAE,CAAS,EAAE,CAAS;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YACzC,OAAO;SACV;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAEtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEhE;;;;;WAKG;IACP,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,EAAU,EAAE,MAAoB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAC1D;QAED,IAAI,MAAM,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,eAAe,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAC;SAClF;IACL,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,EAAU;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAE,CAAC;QAExE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,EAAU;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,EAAU;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;;QACT,IAAI,MAAM,CAAC;QACX,IAAI;YACA,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,GAAG,GAAG,MAAM,iBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACvG;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9F,IAAI,CAAC,GAAG,GAAG,MAAM,iBAAE,CAAC,GAAG;qBAClB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC1D,gEAAgE;qBAC/D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAClC;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SAClD;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YACzG,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,EAAE,IAAK,CAAC,CAAC;YACV,OAAO;SACV;QAED,4FAA4F;QAC5F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACvC,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CACnE,CAAC;YACF,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;aAC3D;SACJ;QAED,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAA8B,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAExD,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAEjD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE;oBAC9F,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI,aAAa,CAAC;gBAClB,IAAI;oBACA,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;iBAC9E;gBAAC,OAAO,CAAM,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACpE;gBAED,2GAA2G;gBAC3G,IACI,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACxC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EACtF;oBACE,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACvD,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,YAAY,WAAW,CAAC,OAAO,CAC3B,KAAK,EACL,GAAG,CACN,oCAAoC,cAAc,CAAC,OAAO,CACvD,KAAK,EACL,GAAG,CACN,8BAA8B,GAAG,EAAE,CACvC,CAAC;wBACF,SAAS;qBACZ;yBAAM;wBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,WAAW,CAAC,OAAO,CAC3B,KAAK,EACL,GAAG,CACN,4BAA4B,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,GAAG,EAAE,CACvF,CAAC;wBACF,WAAW,GAAG,cAAc,CAAC;qBAChC;iBACJ;qBAAM;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAClC;gBAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAErD,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBAExF,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACzC,MAAM,KAAK,GAAG,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;oBAExC,MAAM,IAAI,GAAiC;wBACvC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;wBACrD,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACJ,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,OAAO;yBAChB;wBACD,MAAM,EAAE;4BACJ,EAAE,EAAE,GAAG;yBACV;qBACJ,CAAC;oBAEF,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;oBAE9B,QAAQ,KAAK,EAAE;wBACX,KAAK,IAAI;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;4BACzB,MAAM;wBACV,KAAK,WAAW;4BACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC;4BACzC,MAAM;wBACV,KAAK,aAAa;4BACd,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;4BAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,MAAM;wBACV,KAAK,aAAa;4BACd,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;4BAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,MAAM;wBACV,KAAK,SAAS;4BACV,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;4BACnC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,MAAM;wBACV,KAAK,SAAS;4BACV,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;4BAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,MAAM;wBACV,KAAK,UAAU;4BACX,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,MAAM;4BACP,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,UAAU;4BACX,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,YAAY;4BACb,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;4BAChC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,MAAM;wBACV,KAAK,aAAa;4BACd,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAC;4BAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;4BACvC,MAAM;wBACV;4BACI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;4BAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;4BACvC,MAAM;qBACb;oBAED,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnB;gBAED,IAAI,CAAC,IAAI,CAAC;oBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBAC3D,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACJ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;qBACpB;oBACD,MAAM,EAAE;wBACJ,EAAE,EAAE,GAAG;wBACP,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC9B;iBACJ,CAAC,CAAC;aACN;SACJ;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAEvE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC/E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,aAAa,CAAC;YAClB,IAAI;gBACA,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aAC9E;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACpE;YAED,2GAA2G;YAC3G,IACI,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,aAAa;oBACV,aAAa,CAAC,MAAM;oBACpB,aAAa,CAAC,MAAM,CAAC,IAAI;oBACzB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC9C,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAC7C;gBACE,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtD,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,YAAY,WAAW,CAAC,OAAO,CAC3B,KAAK,EACL,GAAG,CACN,oCAAoC,cAAc,CAAC,OAAO,CACvD,KAAK,EACL,GAAG,CACN,6BAA6B,GAAG,EAAE,CACtC,CAAC;oBACF,SAAS;iBACZ;qBAAM;oBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,4BAA4B,cAAc,CAAC,OAAO,CACzF,KAAK,EACL,GAAG,CACN,eAAe,GAAG,EAAE,CACxB,CAAC;oBACF,WAAW,GAAG,cAAc,CAAC;iBAChC;aACJ;iBAAM;gBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAClC;YACD,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAEpE,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;gBACvE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aACrB;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAClC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;YAED,wCAAwC;YACxC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACxC,MAAM,KAAK,GAAG,GAAG,WAAW,aAAa,CAAC;gBAE1C,MAAM,IAAI,GAAiC;oBACvC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACrD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACJ,IAAI,EAAE,KAAK;wBACX,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,kBAAkB;wBACxB,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;qBAC5B;oBACD,MAAM,EAAE;wBACJ,EAAE,EAAE,GAAG;qBACV;iBACJ,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;gBAExC,MAAM,IAAI,GAAiC;oBACvC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACrD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACJ,IAAI,EAAE,KAAK;wBACX,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,OAAO;qBAChB;oBACD,MAAM,EAAE;wBACJ,EAAE,EAAE,GAAG;qBACV;iBACJ,CAAC;gBAEF,QAAQ,KAAK,EAAE;oBACX,KAAK,IAAI;wBACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;wBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;wBAClC,MAAM;oBACV,KAAK,KAAK;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,OAAO;wBACR,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,KAAK;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;wBAC1C,MAAM;oBACV,KAAK,KAAK;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAC;wBAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,IAAI;wBACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;wBACpC,MAAM;oBACV,KAAK,IAAI,CAAC,CAAC;wBACP,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB;wBACtD,IAAI;4BACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC5D,kCAAkC;4BAClC,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC;4BAC/D,2BAA2B;4BAC3B,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE;gCACjB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;6BACnB;4BACD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE;gCACxC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;6BACnB;yBACJ;wBAAC,WAAM;4BACJ,SAAS;yBACZ;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAC;wBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACrD,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACrD,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAClB,aAAa;4BACb,qEAAqE;4BACrE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;yBAC3B;wBACD,MAAM;qBACT;oBACD,KAAK,OAAO;wBACR,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;wBAC1B,MAAM;oBACV,KAAK,QAAQ;wBACT,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;wBAC1B,MAAM;oBACV,KAAK,WAAW;wBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;wBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC1B,MAAM;oBACV,KAAK,WAAW;wBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;wBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC;wBACzC,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAC;wBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;wBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACV,KAAK,SAAS;wBACV,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;wBAC7B,MAAM;oBACV,KAAK,SAAS;wBACV,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,MAAM;oBACV,KAAK,MAAM;wBACP,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;wBAC1B,MAAM;oBACV,KAAK,gBAAgB;wBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;wBACxB,MAAM;oBACV;wBACI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;wBACtC,MAAM;iBACb;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACrF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;YAED,IAAI,IAAI,GAAG,aAAa,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE;gBAC3E,IAAI,GAAG,cAAc,CAAC;aACzB;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACxC,IAAI,GAAG,QAAQ,CAAC;aACnB;YAED,IAAI,CAAC,IAAI,CAAC;gBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC3D,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACJ,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;iBACjC;aACJ,CAAC,CAAC;SACN;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAErE,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;aACV;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,CAAC,CAAC,CAAC,GAAG;gBACR,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE;oBACJ,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,CAAC;oBACN,SAAS,EAAE,EAAE;oBACb,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,CAAC;oBACN,EAAE,EAAE,KAAK;oBACT,GAAG,EAAE,CAAC;oBACN,EAAE,EAAE,KAAK;iBACZ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC;YAE9B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE1B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAC1C,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBAC/E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACrC,IAAI,aAAa,CAAC;gBAClB,IAAI;oBACA,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;iBAC5E;gBAAC,OAAO,CAAM,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACpE;gBAED,yGAAyG;gBACzG,IACI,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,IAAI;wBACxB,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC3F;oBACE,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClD,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,YAAY,SAAS,CAAC,OAAO,CACzB,KAAK,EACL,GAAG,CACN,oCAAoC,YAAY,CAAC,OAAO,CACrD,KAAK,EACL,GAAG,CACN,6BAA6B,GAAG,EAAE,CACtC,CAAC;wBACF,SAAS;qBACZ;yBAAM;wBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,4BAA4B,YAAY,CAAC,OAAO,CACrF,KAAK,EACL,GAAG,CACN,eAAe,GAAG,EAAE,CACxB,CAAC;wBACF,SAAS,GAAG,YAAY,CAAC;qBAC5B;iBACJ;qBAAM;oBACH,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChC;gBACD,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC9C,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAElE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAEvB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC5C,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;oBAExC,MAAM,IAAI,GAAiC;wBACvC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;wBACtD,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,OAAO;yBAChB;wBACD,MAAM,EAAE;4BACJ,EAAE,EAAE,GAAG;yBACV;qBACJ,CAAC;oBACF,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;wBACtC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;qBAC1D;oBAED,QAAQ,MAAM,EAAE;wBACZ,KAAK,IAAI;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,KAAK;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;4BAClC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,OAAO;4BACR,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;4BAClC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,KAAK;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;4BACrC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;4BACvB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,6CAA6C;4BAC7C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;4BACxE,MAAM;wBACV,KAAK,KAAK;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAC;4BAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,IAAI;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;4BACpC,MAAM;wBACV,KAAK,IAAI;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAC;4BAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,4HAA4H;4BACpJ,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,MAAM;4BAC9B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;4BACrE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;gCACjC,aAAa;gCACb,qEAAqE;gCACrE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;6BAC1C;4BACD,MAAM;wBACV,KAAK,OAAO;4BACR,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,QAAQ;4BACT,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,MAAM;wBACV,KAAK,WAAW;4BACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;4BACtC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC1B,MAAM;wBACV,KAAK,GAAG;4BACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;4BACrC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,GAAG;4BACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAC;4BACvC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,GAAG;4BACJ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;4BACtC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;4BACtB,MAAM;wBACV,KAAK,SAAS;4BACV,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC7B,MAAM;wBACV,KAAK,QAAQ;4BACT,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;4BACtC,MAAM;wBACV,KAAK,gBAAgB;4BACjB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;4BAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;4BACxB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;4BACxB,MAAM;wBACV;4BACI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;4BACvC,SAAS;qBAChB;oBACD,IAAI,CAAC,MAAM,CAAC,GAAG;wBACX,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;4BAC5D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACtC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnB;gBAED,qBAAqB;gBACrB,IAAI,CAAC,IAAI,CAAC;oBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ;oBAC/D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACJ,IAAI,EAAE,GAAG,SAAS,QAAQ;wBAC1B,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;qBACnD;oBACD,MAAM,EAAE,EAAE;iBACb,CAAC,CAAC;gBAEH,qBAAqB;gBACrB,IAAI,CAAC,IAAI,CAAC;oBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ;oBAC/D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACJ,IAAI,EAAE,GAAG,SAAS,QAAQ;wBAC1B,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;qBACnD;oBACD,MAAM,EAAE,EAAE;iBACb,CAAC,CAAC;gBAEH,8BAA8B;gBAC9B,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,IAAI,CAAC,IAAI,CAAC;wBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ;wBAC/D,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,GAAG,SAAS,QAAQ;4BAC1B,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,KAAK;4BACZ,GAAG,EAAE,KAAK,CAAC,KAAK;yBACnB;wBACD,MAAM,EAAE,EAAE;qBACb,CAAC,CAAC;iBACN;gBAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC;wBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe;wBACtE,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACJ,IAAI,EAAE,GAAG,SAAS,eAAe;4BACjC,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,IAAI;4BACX,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;yBAC3B;wBACD,MAAM,EAAE,EAAE;qBACb,CAAC,CAAC;iBACN;gBAED,IAAI,CAAC,IAAI,CAAC;oBACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACzD,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,KAAK,CAAC,IAAI;qBACnB;oBACD,MAAM,EAAE;wBACJ,EAAE,EAAE,GAAG;wBACP,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;qBACvB;iBACJ,CAAC,CAAC;aACN;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAC;SACzE;QAED,sBAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC3B,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAE7B,+CAA+C;gBAC/C,MAAM,UAAU,GAAwB,EAAE,CAAC;gBAC3C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;oBACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;iBACnC;gBAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAEhC,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBACjD,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;oBAClE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;wBAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;4BAC1B,SAAS;yBACZ;wBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC,IAAI,CAAC;4BACN,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI;iCAChE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iCACtB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;iCACjC,WAAW,EAAE,EAAE;4BACpB,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;gCAC3B,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,KAAK;gCACX,KAAK,EAAE,IAAI;6BACd;4BACD,MAAM,EAAE;gCACJ,EAAE,EAAE,OAAO;gCACX,KAAK,EAAE,KAAK,CAAC,KAAK;6BACrB;yBACJ,CAAC,CAAC;wBACH,YAAY,EAAE,CAAC;qBAClB;yBAAM;wBACH,IAAI,CAAC,mBAAmB,EAAE;4BACtB,IAAI,CAAC,IAAI,CAAC;gCACN,GAAG,EAAE,GAAG,cAAc,cAAc;gCACpC,IAAI,EAAE,SAAS;gCACf,MAAM,EAAE;oCACJ,IAAI,EAAE,cAAc;iCACvB;gCACD,MAAM,EAAE,EAAE;6BACb,CAAC,CAAC;4BACH,mBAAmB,GAAG,IAAI,CAAC;yBAC9B;wBAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvC,IAAI,CAAC,IAAI,CAAC;4BACN,GAAG,EAAE,GAAG,cAAc,sBAAsB,KAAK,CAAC,IAAI;iCACjD,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iCACtB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;iCACjC,WAAW,EAAE,EAAE;4BACpB,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;gCAC3B,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,KAAK;gCACX,KAAK,EAAE,IAAI;6BACd;4BACD,MAAM,EAAE;gCACJ,EAAE,EAAE,OAAO;6BACd;yBACJ,CAAC,CAAC;wBACH,YAAY,EAAE,CAAC;qBAClB,CAAC,SAAS;iBACd;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,YAAY,SAAS,CAAC,CAAC;aAC3D;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxD;SACJ;QAED,uBAAuB;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAC/B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAClE,CAAC,CAAC,IAAI,CAAC,SAAS;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;aAC3B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,IAA+B;;QAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI;gBACA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAI,CAAC;gBACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBAEjD,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,wBAAwB,EAAE;oBAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;oBACvE,IAAI,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,0CAAE,OAAO,CAAC,EAAE,CAAC,MAAK,CAAC,CAAC,EAAE;wBAC5C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC9B,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACvD,IAAI,CAAC,GAAG,EAAE;4BACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;yBAC9C;6BAAM;4BACH,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;4BACzB,MAAM,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;yBAChD;qBACJ;yBAAM,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;qBAC9C;yBAAM;wBACH,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;wBACzB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;qBACrD;iBACJ;qBAAM;oBACH,0DAA0D;oBAC1D,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,EAAE;wBACb,oBAAoB;wBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;qBACtC;oBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;iBAC9C;aACJ;YAAC,OAAO,CAAM,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACrE;SACJ;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAkC;QAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACvB,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAClC;YAED,gEAAgE;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI;oBACA,MAAM,IAAI,CAAC,2BAA2B,CAClC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAC3B,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAC9E,IAAI,CACP,CAAC;iBACL;gBAAC,OAAO,CAAM,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5F;aACJ;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,MAAM,UAAU,CAAC,CAAC;aACxD;SACJ;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;;QACN,yBAAyB;QACzB,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SACpC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAElC,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAE/D,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;gBAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAC9D;YAED,IAAI,MAAM,EAAE;gBACR,MAAM,MAAM,GAA+B,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAE7B,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAEhF,iBAAiB;gBACjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBAClC,MAAM,MAAM,GAAwB,EAAE,CAAC;oBACvC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;oBAEnC,IAAI,MAA2B,CAAC;oBAEhC,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;wBACtC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;qBACnC;yBAAM;wBACH,yBAAyB;wBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,UAAU,+BAA+B,CAAC,CAAC;wBACnE,SAAS,EAAE,CAAC;wBACZ,WAAW,CAAC,MAAM,CACd,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,EACxD,CAAC,CACJ,CAAC;wBACF,0DAA0D;wBAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAAE;4BAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,IAAI,CAAC,SAAS,IACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE;gCAC9D,CAAC,CAAC,UACV,EAAE,CACL,CAAC;4BACF,IAAI,CAAC,SAAS,CACV,GACI,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE;gCAC9D,CAAC,CAAC,UACV,EAAE,EACF,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;yBACL;6BAAM;4BACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;0BAChB,IAAI,CAAC,SAAS,IACR,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE;gCAC9D,CAAC,CAAC,UACV,WAAW,CAAC,CAAC;yBAChB;wBACD,SAAS;qBACZ;oBAED,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;oBAEzB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;wBAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;qBACzC;oBAED,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;wBAClC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;qBACpE;oBACD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBAChD,MAAM,CAAC,IAAI,CAAC;4BACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;4BAC7C,GAAG,EAAE,MAAM;yBACd,CAAC,CAAC;qBACN;iBACJ;gBAED,SAAS;gBACT,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,MAAM,GAAwB,EAAE,CAAC;oBACvC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;oBAEjC,IAAI,KAA0B,CAAC;oBAE/B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;wBACpC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBAChC;yBAAM;wBACH,wBAAwB;wBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,SAAS,+BAA+B,CAAC,CAAC;wBACjE,SAAS,EAAE,CAAC;wBACZ,UAAU,CAAC,MAAM,CACb,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EACtD,CAAC,CACJ,CAAC;wBACF,0DAA0D;wBAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAAE;4BAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,IAAI,CAAC,SAAS,IACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE;gCAC7D,CAAC,CAAC,SACV,EAAE,CACL,CAAC;4BACF,IAAI,CAAC,SAAS,CACV,GACI,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE;gCAC7D,CAAC,CAAC,SACV,EAAE,EACF,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;yBACL;6BAAM;4BACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;0BAChB,IAAI,CAAC,SAAS,IACR,IAAI,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE;gCAC7D,CAAC,CAAC,SACV,WAAW,CAAC,CAAC;yBAChB;wBACD,SAAS;qBACZ;oBAED,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBAEvB,IAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,KAAK,EAAE;wBACvB,MAAM,CAAC,IAAI,CAAC;4BACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,aAAa;4BAChD,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;yBAC5B,CAAC,CAAC;qBACN;oBAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBAC3C,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBACxC;oBAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;wBAC1B,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;4BACxD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;4BACf,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;yBACrB;qBACJ;oBAED,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;wBACjD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;qBAClB;oBACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;wBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC3C,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;wBAC/D,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;wBACrC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;wBACvC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;qBACzC;oBACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;wBAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC5E;oBAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;wBAC1B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;qBACvD;oBACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;wBACzB,iDAAiD;wBACjD,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAE/C,+CAA+C;wBAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;4BACtB,oDAAoD;4BACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,iCAAiC,KAAK,CAAC,IAAI,sBAAsB,MAAM,CAAC,EAAE,GAAG,CAChF,CAAC;4BACF,OAAO,MAAM,CAAC,EAAE,CAAC;yBACpB;qBACJ;oBACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBACtC,MAAM,CAAC,IAAI,CAAC;4BACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;4BAC/C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;yBACtB,CAAC,CAAC;qBACN;iBACJ;gBAED,uBAAuB;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;oBAC3B,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;oBAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;wBAChC,IAAI,KAA0B,CAAC;wBAE/B,8BAA8B;wBAC9B,IAAI,SAAS,CAAC,EAAE,KAAK,GAAG,EAAE;4BACtB,MAAM,MAAM,GAAwB,EAAE,CAAC;4BAEvC,kCAAkC;4BAClC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;4BAEjC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;gCACpC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;6BAChC;iCAAM;gCACH,wBAAwB;gCACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,+BAA+B,CAAC,CAAC;gCACtE,SAAS,EAAE,CAAC;gCACZ,0DAA0D;gCAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAAE;oCAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,YAAY,IAAI,CAAC,SAAS,IACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB;wCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;wCAClE,CAAC,CAAC,SAAS,CAAC,IACpB,EAAE,CACL,CAAC;oCACF,IAAI,CAAC,SAAS,CACV,GACI,IAAI,CAAC,MAAM,CAAC,kBAAkB;wCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;wCAClE,CAAC,CAAC,SAAS,CAAC,IACpB,EAAE,EACF,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;iCACL;qCAAM;oCACH,IAAI,CAAC,GAAG;yCACH,IAAI,CAAC;kCACZ,IAAI,CAAC,SAAS,IACR,IAAI,CAAC,MAAM,CAAC,kBAAkB;wCAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;wCAClE,CAAC,CAAC,SAAS,CAAC,IACpB,WAAW,CAAC,CAAC;iCAChB;gCAED,UAAU,CAAC,MAAM,CACb,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAClD,CAAC,CACJ,CAAC;gCACF,SAAS;6BACZ;4BAED,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;4BAEvB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BACzC;4BACD,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gCACxD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gCACf,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;6BACrB;4BACD,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gCACjD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;6BAClB;4BACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gCACzB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC3C,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gCACjC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gCAC/D,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gCACrC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;gCACvC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;6BACzC;4BACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gCAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;6BAC5E;4BAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;gCAC1B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;6BACvD;4BAED,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gCACzB,iDAAiD;gCACjD,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gCAE/C,+CAA+C;gCAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oCACtB,oDAAoD;oCACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,iCAAiC,SAAS,sBAAsB,MAAM,CAAC,EAAE,GAAG,CAC/E,CAAC;oCACF,OAAO,MAAM,CAAC,EAAE,CAAC;iCACpB;6BACJ;4BAED,oCAAoC;4BACpC,IAAI,KAAK,CAAC,KAAK,EAAE;gCACb,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;6BAC9B;4BAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;gCACnD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;6BAC7C;4BAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gCACtC,MAAM,CAAC,IAAI,CAAC;oCACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;oCAC/C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;iCACtB,CAAC,CAAC;6BACN;4BAED,kBAAkB;4BAClB,MAAM,CAAC,IAAI,CAAC;gCACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,QAAQ;gCAC3C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;6BAC7B,CAAC,CAAC;4BAEH,kBAAkB;4BAClB,MAAM,CAAC,IAAI,CAAC;gCACR,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,QAAQ;gCAC3C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;6BAC7B,CAAC,CAAC;yBACN;6BAAM;4BACH,yBAAyB;4BACzB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;yBACpC;qBACJ;iBACJ;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAE9B,gCAAgC;gBAChC,IAAI,gBAAgB,GAAG,SAAS,EAAE;oBAC9B,6EAA6E;oBAC7E,0EAA0E;oBAC1E,sFAAsF;oBACtF,uHAAuH;oBACvH,gGAAgG;oBAChG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;iBAC9B;qBAAM;oBACH,SAAS,GAAG,gBAAgB,CAAC;iBAChC;aACJ;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAK,CAAC,CAAC;SAC7F;IACL,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,KAAU;QACzB,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;SACrC;aAAM;YACH,KAAK,GAAG,GAAG,CAAC;SACf;QACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ;AAED,yCAAyC;AACzC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAsC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;CACjF;KAAM;IACH,wCAAwC;IACxC,IAAI,GAAG,EAAE,CAAC;CACb"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 06121337..25715749 100644 --- a/src/main.ts +++ b/src/main.ts @@ -79,7 +79,7 @@ interface BridgeUpdate { power_state?: { battery_level: number; battery_state: string }; /** For type button */ button: { - button_report: { event: ButtonEventType; updated: string }; + button_report?: { event: ButtonEventType; updated: string }; last_event: ButtonEventType; }; } @@ -1157,8 +1157,7 @@ class Hue extends utils.Adapter { this.setState(`${channelName}.battery`, update.power_state.battery_level, true); } - if (update.button) { - // TODO: implement encoding for buttonevent + if (update.button.button_report) { this.setState(`${channelName}.lastupdated`, update.button.button_report.updated, true); this.setState( `${channelName}.buttonevent`,