@antv/layout 0.3.19 → 0.3.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dagre.js","sourceRoot":"","sources":["../../src/layout/dagre.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dagre.js","sourceRoot":"","sources":["../../src/layout/dagre.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;AAUH,wDAAkC;AAClC,gCAOiB;AACjB,+BAA8B;AAC9B,uCAAoD;AAEpD;;GAEG;AACH;IAAiC,+BAAI;IA4DnC,qBAAY,OAA4B;QAAxC,YACE,iBAAO,SAER;QA9DD,mCAAmC;QAC5B,aAAO,GAA8B,IAAI,CAAC;QAiBjD,iBAAiB;QACV,aAAO,GAAW,EAAE,CAAC;QAE5B,gBAAgB;QACT,aAAO,GAAW,EAAE,CAAC;QAE5B,mBAAmB;QACZ,mBAAa,GAAY,KAAK,CAAC;QAEtC,iDAAiD;QAC1C,iBAAW,GAAY,KAAK,CAAC;QAEpC,0BAA0B;QACnB,oBAAc,GAAY,IAAI,CAAC;QAEtC,oDAAoD;QAC7C,YAAM,GAAY,KAAK,CAAC;QAcxB,WAAK,GAAc,EAAE,CAAC;QAEtB,WAAK,GAAW,EAAE,CAAC;QAE1B,gBAAgB;QACT,iBAAW,GAAe,cAAO,CAAC,CAAC;QA0BnC,gBAAU,GAAG,UAAC,MAAc;YACjC,IAAM,IAAI,GAAG,KAAI,CAAC;YACV,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;YACvB,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,KAAK,MAAM,EAAlB,CAAkB,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE;gBACR,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;gBACrC,OAAO,MAAM,CAAC;aACf;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QA3BA,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;IAC1B,CAAC;IAEM,mCAAa,GAApB;QACE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI,EAAE,0BAA0B;SAC5C,CAAC;IACJ,CAAC;IAaD;;OAEG;IACI,6BAAO,GAAd;QAAA,iBAueC;;QAteC,IAAM,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAA,KAAK,GAQH,IAAI,MARD,EACL,QAAQ,GAON,IAAI,SAPE,EACR,OAAO,GAML,IAAI,QANC,EACP,MAAM,GAKJ,IAAI,OALA,EACN,KAAK,GAIH,IAAI,MAJD,EACL,MAAM,GAGJ,IAAI,OAHA,EACN,KAEE,IAAI,WAFS,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,KACE,IAAI,OADK,EAAX,MAAM,mBAAG,EAAE,KAAA,CACJ;QACT,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAM,KAAK,GAAI,IAAI,CAAC,KAAe,IAAI,EAAE,CAAC;QAC1C,IAAM,CAAC,GAAG,IAAI,aAAU,CAAC;YACvB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAM,YAAY,GAAG,EAAS,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9D,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,GAAc,EAAE,CAAC;QAChC,IAAM,UAAU,GAA8B,EAAE,CAAC;QACjD,IAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,EAAE;gBACxB,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,WAAW,GAAG,KAAK,CAAC;SACrB;QAED,IAAI,YAAmC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,YAAY,GAAG,UAAC,CAAM;gBACpB,IAAI,CAAC,CAAC,IAAI,EAAE;oBACV,IAAI,IAAA,cAAO,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACnB,OAAO,CAAC,CAAC,IAAI,CAAC;qBACf;oBACD,IAAI,IAAA,eAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACpB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAClD;oBACD,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC;SACH;aAAM,IAAI,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE;YAC5B,YAAY,GAAG,cAAM,OAAA,QAAQ,EAAR,CAAQ,CAAC;SAC/B;aAAM;YACL,YAAY,GAAG,cAAM,OAAA,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAApB,CAAoB,CAAC;SAC3C;QACD,IAAM,WAAW,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAM,WAAW,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,OAAO,GAAa,WAAW,CAAC;QACpC,IAAI,QAAQ,GAAa,WAAW,CAAC;QAErC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;YACxC,OAAO,GAAG,WAAW,CAAC;YACtB,QAAQ,GAAG,WAAW,CAAC;SACxB;QACD,CAAC,CAAC,mBAAmB,CAAC,cAAM,OAAA,CAAC,EAAE,CAAC,EAAJ,CAAI,CAAC,CAAC;QAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEjB,IAAM,QAAQ,GAA2B,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE;YAC9B,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;gBACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC3B,uCAAuC;gBACvC,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,IAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACjC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACnC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;iBACxC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAE,OAAO;gBAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBAC7B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;iBAC/B;gBACD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;QAED,WAAW;aACR,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,KAAK,EAArB,CAAqB,CAAC;aACvC,OAAO,CAAC,UAAC,IAAI;YACZ,IAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE;gBACnB,4BAA4B;gBAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;aACvC;YAED,IAAI,KAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC9C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iBAC7B;gBACD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAEL,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;YACjB,4EAA4E;YAC5E,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACtD,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;oBACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;iBACzB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,0CAAE,OAAO,CAAC,UAAC,SAAc;;YAC/C,IAAA,MAAM,GAAa,SAAS,OAAtB,EAAE,MAAM,GAAK,SAAS,OAAd,CAAe;YACrC,IAAM,OAAO,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,CAAC,0CAAE,SAAS;gBACzC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACV,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,IAAM,OAAO,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,CAAC,0CAAE,SAAS;gBACzC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACV,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAS;gBACxB,OAAO,CAAC,OAAO,CAAC,UAAC,CAAS;oBACxB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE;wBACd,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,SAAS,GAA2B,SAAS,CAAC;QAClD,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE;YACtB,SAAS,GAAG,IAAI,aAAU,CAAC;gBACzB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBAC7B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QAED,eAAK,CAAC,MAAM,CAAC,CAAC,EAAE;YACd,SAAS,WAAA;YACT,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,EAAE;YACT,IAAI,MAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,MAAI,GAAG,QAAQ,CAAC;YACpB,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI;gBACrB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC5B,IAAI,MAAI,GAAG,KAAK,CAAC,CAAE;oBAAE,MAAI,GAAG,KAAK,CAAC,CAAE,CAAC;gBACrC,IAAI,MAAI,GAAG,KAAK,CAAC,CAAE;oBAAE,MAAI,GAAG,KAAK,CAAC,CAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI;;gBACrB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC5B,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,CAAC,UAAC,KAAU;oBAC/B,IAAI,MAAI,GAAG,KAAK,CAAC,CAAC;wBAAE,MAAI,GAAG,KAAK,CAAC,CAAC,CAAC;oBACnC,IAAI,MAAI,GAAG,KAAK,CAAC,CAAC;wBAAE,MAAI,GAAG,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAI,CAAC;YAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAI,CAAC;SAC7B;QAED,IAAM,YAAY,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;QAC1D,QAAQ;QACR,IAAI,MAAM,EAAE;YACJ,IAAA,KAAuC,IAAI,EAAzC,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,cAAY,kBAAS,CAAC;YAClD,IAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAC;YAChE,IAAM,YAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAA,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAM,QAAM,GAAU,EAAE,CAAC;YACzB,IAAM,KAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,IAAM,SAAO,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,mCAAmC;YACnC,IAAI,KAAG,GAAG,QAAQ,CAAC;YACnB,IAAI,KAAG,GAAG,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAS;gBAC1B,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAS,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAChC,IAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEvD,IAAI,YAAU,KAAK,CAAC,EAAE;oBACpB,IAAI,CAAC,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACxB,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;4BACpB,KAAK,EAAE,EAAE;4BACT,UAAU,EAAE,CAAC;4BACb,OAAO,EAAE,CAAC,QAAQ;yBACnB,CAAC;qBACH;oBACD,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAO,CAAC,CAAC;oBACtE,IACE,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACjE;wBACA,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;qBACnE;iBACF;qBAAM;oBACL,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,YAAW,CAAC;oBAC5C,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,IAAI,CAAC,QAAM,CAAC,SAAS,CAAC,EAAE;4BACtB,QAAM,CAAC,SAAS,CAAC,GAAG;gCAClB,KAAK,EAAE,EAAE;gCACT,UAAU,EAAE,CAAC;gCACb,OAAO,EAAE,CAAC,QAAQ;6BACnB,CAAC;yBACH;wBACD,QAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnC,QAAM,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAO,CAAC,CAAC;wBACpE,IACE,QAAM,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAC/D;4BACA,QAAM,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;yBACjE;qBACF;yBAAM;wBACL,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACzC,IAAI,CAAC,QAAM,CAAC,YAAY,CAAC,EAAE;4BACzB,QAAM,CAAC,YAAY,CAAC,GAAG;gCACrB,IAAI,EAAE,EAAE;gCACR,KAAK,EAAE,EAAE;gCACT,UAAU,EAAE,CAAC;gCACb,OAAO,EAAE,CAAC,QAAQ;6BACnB,CAAC;yBACH;wBACD,QAAM,CAAC,YAAY,CAAC,CAAC,UAAU;4BAC7B,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAO,CAAC,CAAC;wBACtC,IACE,QAAM,CAAC,YAAY,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAClE;4BACA,QAAM,CAAC,YAAY,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CACrC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,CACb,CAAC;yBACH;wBACD,IAAI,SAAS,GAAG,CAAC,EAAE;4BACjB,QAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACtC;6BAAM;4BACL,QAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACvC;qBACF;iBACF;gBACD,IAAM,OAAO,GAAG,KAAK,CAAC,KAAG,CAAC,GAAG,KAAK,CAAC,SAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBACjE,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAG,CAAC,GAAG,KAAK,CAAC,SAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBAClE,IAAI,OAAO,GAAG,KAAG;oBAAE,KAAG,GAAG,OAAO,CAAC;gBACjC,IAAI,QAAQ,GAAG,KAAG;oBAAE,KAAG,GAAG,QAAQ,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,6CAA6C;YAC7C,gCAAgC;YAChC,IAAI,QAAM,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ;YACpC,IAAM,WAAS,GAAQ,EAAE,CAAC;YAE1B,0BAA0B;YAC1B,IAAM,aAAW,GAAG,CAAC,KAAG,GAAG,KAAG,CAAC,GAAG,GAAG,CAAC;YACtC,IAAM,OAAK,GAAG;gBACZ,CAAC,KAAG,GAAG,KAAG,GAAG,aAAW,CAAC,GAAG,GAAG;gBAC/B,CAAC,KAAG,GAAG,KAAG,GAAG,aAAW,CAAC,GAAG,GAAG;aAChC,CAAC;YAEF,6CAA6C;YAC7C,IAAM,cAAY,GAAG,UACnB,UAAe,EACf,MAAc,EACd,eAA2B,EAC3B,QAAiB;gBADjB,gCAAA,EAAA,mBAAmB,QAAQ;gBAC3B,yBAAA,EAAA,YAAY,CAAC,EAAE,CAAC,CAAC;gBAEjB,IAAI,UAAU,GAAG,eAAe,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAS;oBAC3B,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,WAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;oBACzB,yBAAyB;oBACnB,IAAA,KAAuB,cAAY,CACvC,KAAM,CAAC,KAAG,CAAE,EACZ,OAAK,EACL,aAAW,EACX,MAAM,EACN,QAAQ,CACT,EANU,IAAI,OAAA,EAAK,IAAI,OAMvB,CAAC;oBACF,YAAY;oBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wBAAE,OAAO;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxC,gEAAgE;oBAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAEzC,2CAA2C;oBAC3C,IAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC3D,IAAI,UAAU,GAAG,kBAAkB;wBAAE,UAAU,GAAG,kBAAkB,CAAC;gBACvE,CAAC,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC;YAEF,IAAI,cAAY,GAAG,IAAI,CAAC;YACxB,IAAM,sBAAoB,GAAG,CAAC,CAAC;YAC/B,QAAM,CAAC,OAAO,CAAC,UAAC,UAAU;;gBACxB,IACE,CAAC,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,MAAM,CAAA;oBAC1B,CAAC,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,0CAAE,MAAM,CAAA;oBACzB,CAAC,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,MAAM,CAAA,EAC1B;oBACA,OAAO;iBACR;gBACD,6BAA6B;gBAC7B,IAAI,cAAY,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACjD,YAAY;oBACZ,IAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,OAAO;oBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnC,WAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnC,QAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3C,cAAY,GAAG,KAAK,CAAC;oBACrB,OAAO;iBACR;gBAED,kBAAkB;gBAClB,QAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,EAAE,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAE3E,IAAI,UAAU,GAAG,CAAC,QAAQ,CAAC;gBAC3B,IAAI,YAAU,KAAK,CAAC,KAAI,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM,CAAA,EAAE;oBAChD,UAAU,GAAG,cAAY,CACvB,UAAU,CAAC,KAAK,EAChB,QAAM,EACN,UAAU,EACV,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC,CAAC,MAAM;iBACV;qBAAM;oBACL,IAAM,SAAS,GACb,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,MAAM;wBACvB,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,MAAM,KAAG,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM,CAAA,CAAC,CAAC;oBACvD,UAAU,GAAG,cAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAM,EAAE,UAAU,EAAE;wBAC7D,CAAC;wBACD,SAAS;qBACV,CAAC,CAAC,CAAC,gBAAgB;oBACpB,UAAU,GAAG,cAAY,CAAC,UAAU,CAAC,KAAK,EAAE,QAAM,EAAE,UAAU,EAAE;wBAC9D,SAAS,GAAG,IAAI;wBAChB,CAAC;qBACF,CAAC,CAAC,CAAC,gBAAgB;iBACrB;gBACD,QAAM,IAAI,UAAU,CAAC;gBACrB,cAAY,GAAG,KAAK,CAAC;gBACrB,sBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAS;;gBAC1B,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,UAAC,EAAE;oBAC3B,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC7C,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC7C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAO;gBACpB,IACE,IAAI,CAAC,cAAc;oBACnB,IAAI,CAAC,aAAa;oBAClB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EACxB;oBACA,IAAM,UAAQ,GAAG,KAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzC,IAAM,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,CACxC,CAAC,EACD,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;oBACF,IAAM,kBAAgB,GAAY,EAAE,CAAC;oBACrC,IAAM,qBAAmB,GAAG,MAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAG,UAAQ,CAAE,CAAC;oBACxD,IAAM,cAAY,GAChB,qBAAmB,IAAG,MAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAG,UAAQ,CAAE,CAAA,CAAC;oBACpD,IAAM,cAAY,GAAG,WAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAM,YAAU,GAAG,cAAY,GAAG,WAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,UAAC,KAAU;wBAChC,wCAAwC;wBACxC,IAAM,OAAO,GACX,CAAC,CAAC,KAAK,CAAC,UAAQ,CAAC,GAAG,qBAAmB,CAAC,GAAG,cAAY,CAAC;4BACtD,YAAU;4BACZ,cAAY,CAAC;wBACf,yBAAyB;wBACzB,IAAM,MAAM,GAAG,cAAY,CACzB,KAAK,CAAC,KAAG,CAAC,EACV,OAAK,EACL,aAAW,EACX,OAAO,CACR,CAAC;wBACF,kBAAgB,CAAC,IAAI,CAAC;4BACpB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;4BACvB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;yBACxB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,kBAAgB,CAAC;iBAC3C;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAM,aAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;YAC3C,IAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;YACtD,IAAM,cAAc,GAAG,QAAQ;gBAC7B,CAAC,CAAC,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;gBACjC,CAAC,CAAC,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC;YACpC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAS;gBAC1B,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,KAAK,GAAQ,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,EAAE;oBACV,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,IAAI,EAAd,CAAc,CAAC,CAAC;iBAC9C;gBACD,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,gEAAgE;gBAChE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,aAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,IAAM,gBAAc,GAAG,KAAK,CAAC,IAAI,CAAC,aAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEpE,uFAAuF;YACvF,IAAM,kBAAgB,GAAG,YAAY;gBACnC,CAAC,CAAC,UAAC,MAAa,EAAE,MAAa,IAAK,OAAA,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAArB,CAAqB;gBACzD,CAAC,CAAC,UAAC,MAAa,EAAE,MAAa,IAAK,OAAA,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAArB,CAAqB,CAAC;YAC5D,IAAM,kCAAgC,GAAG,YAAY;gBACnD,CAAC,CAAC,UAAC,EAAW,EAAE,MAAa,EAAE,MAAa;oBACxC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,EAAhC,CAAgC,CAAC,CAAC;gBAChE,CAAC;gBACH,CAAC,CAAC,UAAC,EAAW,EAAE,MAAa,EAAE,MAAa;oBACxC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,EAAhC,CAAgC,CAAC,CAAC;gBAChE,CAAC,CAAC;YAEN,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAS;;gBAC1B,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,UAAC,EAAE;oBAC3B,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC7C,IAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC7C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAO;gBACpB,IACE,IAAI,CAAC,cAAc;oBACnB,IAAI,CAAC,aAAa;oBAClB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EACxB;oBACA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,CAAC,UAAC,KAAU;wBAChC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;wBACrB,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;oBAEH,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,gBAAgB,CACvC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EACb,UAAU,EACV,UAAU,EACV,gBAAc,EACd,YAAY,EACZ,kBAAgB,EAChB,kCAAgC,CACjC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO;YACL,KAAK,OAAA;YACL,KAAK,OAAA;SACN,CAAC;IACJ,CAAC;IAEO,kCAAY,GAApB,UACE,QAAgB,EAChB,KAAe,EACf,WAAmB,EACnB,MAAc,EACd,QAA2B;QAA3B,yBAAA,EAAA,YAAsB,CAAC,EAAE,CAAC,CAAC;QAE3B,kBAAkB;QAClB,IAAI,QAAQ,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;QACnD,iBAAiB;QACjB,QAAQ,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChE,kBAAkB;QAClB,IAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK;QAC3C,gBAAgB;QAChB,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM;YAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM;SAC5B,CAAC;IACJ,CAAC;IAEM,6BAAO,GAAd;QACE,OAAO,OAAO,CAAC;IACjB,CAAC;IACH,kBAAC;AAAD,CAAC,AA9lBD,CAAiC,WAAI,GA8lBpC;AA9lBY,kCAAW;AAgmBxB;;;;;;;;GAQG;AACH,IAAM,gBAAgB,GAAG,UACvB,MAA2B,EAC3B,UAAmB,EACnB,UAAmB,EACnB,cAAwB,EACxB,YAAqB,EACrB,gBAA2D,EAC3D,gCAIY;IAEZ,IAAI,aAAa,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC,OAAO;IACtE,sBAAsB;IACtB,IAAI,UAAU,IAAI,UAAU,EAAE;QACtB,IAAG,OAAO,GAAiB,UAAU,EAA3B,EAAK,OAAO,GAAK,UAAU,EAAf,CAAgB;QACtC,IAAG,OAAO,GAAiB,UAAU,EAA3B,EAAK,OAAO,GAAK,UAAU,EAAf,CAAgB;QAC5C,IAAI,YAAY,EAAE;YAChB,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;YACvB,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;YACvB,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;YACvB,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;SACxB;QACD,6BAA6B;QAC7B,WAAW;QACX,YAAY;QACZ,yCAAyC;QACzC,IAAI;QACJ,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE;YAC9C,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpD,IAAM,oBAAoB,GAAG,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,oBAAoB,EAAE;gBACxB,IAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAM,uBAAuB,GAAG,YAAY;oBAC1C,CAAC,CAAC;wBACE,CAAC,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC;wBACvC,CAAC,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,CAAC,KAAI,OAAO;qBACnC;oBACH,CAAC,CAAC;wBACE,CAAC,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,CAAC,KAAI,OAAO;wBAClC,CAAC,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC;qBACxC,CAAC;gBACN,4BAA4B;gBAC5B,IACE,CAAC,iBAAiB;oBAClB,gBAAgB,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,EAC5D;oBACA,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;iBAChD;aACF;YAED,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,aAAa,GAAG,gCAAgC,CAC9C,aAAa,EACb,UAAU,EACV,UAAU,CACX,CAAC;gBACF,4BAA4B;gBAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;oBACzB,aAAa,CAAC,IAAI,CAChB,YAAY;wBACV,CAAC,CAAC;4BACE,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;4BAC1B,CAAC,EAAE,OAAO;yBACX;wBACH,CAAC,CAAC;4BACE,CAAC,EAAE,OAAO;4BACV,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;yBAC3B,CACN,CAAC;iBACH;aACF;iBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;gBACxB,IAAM,oBAAoB,GAAG,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,oBAAoB,EAAE;oBACxB,IAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAClE,IAAM,qBAAqB,GAAG,YAAY;wBACxC,CAAC,CAAC;4BACE,CAAC,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC;4BACvC,CAAC,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,CAAC,KAAI,OAAO;yBACnC;wBACH,CAAC,CAAC;4BACE,CAAC,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,CAAC,KAAI,OAAO;4BAClC,CAAC,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC;yBACxC,CAAC;oBACN,6BAA6B;oBAC7B,IACE,CAAC,iBAAiB;wBAClB,gBAAgB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,EAC1D;wBACA,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;qBAC3C;iBACF;aACF;SACF;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "0.3.19",
3
+ "version": "0.3.20",
4
4
  "description": "graph layout algorithm",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -10,8 +10,8 @@ import {
10
10
  PointTuple,
11
11
  Point,
12
12
  Node,
13
- } from "./types";
14
- import dagre from "./dagre/index";
13
+ } from './types';
14
+ import dagre from './dagre/index';
15
15
  import {
16
16
  isArray,
17
17
  isNumber,
@@ -19,19 +19,19 @@ import {
19
19
  getEdgeTerminal,
20
20
  getFunc,
21
21
  isString,
22
- } from "../util";
23
- import { Base } from "./base";
24
- import { Graph as DagreGraph } from "./dagre/graph";
22
+ } from '../util';
23
+ import { Base } from './base';
24
+ import { Graph as DagreGraph } from './dagre/graph';
25
25
 
26
26
  /**
27
27
  * 层次布局
28
28
  */
29
29
  export class DagreLayout extends Base {
30
30
  /** layout 方向, 可选 TB, BT, LR, RL */
31
- public rankdir: "TB" | "BT" | "LR" | "RL" = "TB";
31
+ public rankdir: 'TB' | 'BT' | 'LR' | 'RL' = 'TB';
32
32
 
33
33
  /** 节点对齐方式,可选 UL, UR, DL, DR */
34
- public align: undefined | "UL" | "UR" | "DL" | "DR";
34
+ public align: undefined | 'UL' | 'UR' | 'DL' | 'DR';
35
35
 
36
36
  /** 布局的起始(左上角)位置 */
37
37
  public begin: PointTuple;
@@ -93,7 +93,7 @@ export class DagreLayout extends Base {
93
93
 
94
94
  public getDefaultCfg() {
95
95
  return {
96
- rankdir: "TB", // layout 方向, 可选 TB, BT, LR, RL
96
+ rankdir: 'TB', // layout 方向, 可选 TB, BT, LR, RL
97
97
  align: undefined, // 节点对齐方式,可选 UL, UR, DL, DR
98
98
  nodeSize: undefined, // 节点大小
99
99
  nodesepFunc: undefined, // 节点水平间距(px)
@@ -149,6 +149,20 @@ export class DagreLayout extends Base {
149
149
  nodeComboMap[node.comboId].push(node.id);
150
150
  });
151
151
 
152
+ let sortedNodes: OutNode[] = [];
153
+ const visitedMap: { [id: string]: boolean } = {};
154
+ if (self.nodeOrder?.length) {
155
+ self.nodeOrder.forEach((id) => {
156
+ visitedMap[id] = true;
157
+ sortedNodes.push(self.nodeMap[id]);
158
+ });
159
+ nodes.forEach((node) => {
160
+ if (!visitedMap[node.id]) sortedNodes.push(node);
161
+ });
162
+ } else {
163
+ sortedNodes = nodes;
164
+ }
165
+
152
166
  let nodeSizeFunc: (d?: any) => number[];
153
167
  if (!nodeSize) {
154
168
  nodeSizeFunc = (d: any) => {
@@ -173,7 +187,7 @@ export class DagreLayout extends Base {
173
187
  let horisep: Function = nodesepfunc;
174
188
  let vertisep: Function = ranksepfunc;
175
189
 
176
- if (rankdir === "LR" || rankdir === "RL") {
190
+ if (rankdir === 'LR' || rankdir === 'RL') {
177
191
  horisep = ranksepfunc;
178
192
  vertisep = nodesepfunc;
179
193
  }
@@ -202,7 +216,7 @@ export class DagreLayout extends Base {
202
216
  });
203
217
  }
204
218
 
205
- nodes
219
+ sortedNodes
206
220
  .filter((node) => node.layout !== false)
207
221
  .forEach((node) => {
208
222
  const size = nodeSizeFunc(node);
@@ -229,8 +243,8 @@ export class DagreLayout extends Base {
229
243
 
230
244
  edges.forEach((edge) => {
231
245
  // dagrejs Wiki https://github.com/dagrejs/dagre/wiki#configuring-the-layout
232
- const source = getEdgeTerminal(edge, "source");
233
- const target = getEdgeTerminal(edge, "target");
246
+ const source = getEdgeTerminal(edge, 'source');
247
+ const target = getEdgeTerminal(edge, 'target');
234
248
  if (this.layoutNode(source) && this.layoutNode(target)) {
235
249
  g.setEdge(source, target, {
236
250
  weight: edge.weight || 1,
@@ -295,23 +309,22 @@ export class DagreLayout extends Base {
295
309
  dBegin[1] = begin[1] - minY;
296
310
  }
297
311
 
298
- const isHorizontal = rankdir === "LR" || rankdir === "RL";
312
+ const isHorizontal = rankdir === 'LR' || rankdir === 'RL';
299
313
  // 变形为辐射
300
314
  if (radial) {
301
315
  const { focusNode, ranksep, getRadialPos } = this;
302
316
  const focusId = isString(focusNode) ? focusNode : focusNode?.id;
303
317
  const focusLayer = focusId ? g.node(focusId)?._rank : 0;
304
318
  const layers: any[] = [];
305
- const dim = isHorizontal ? "y" : "x";
306
- const sizeDim = isHorizontal ? "height" : "width";
319
+ const dim = isHorizontal ? 'y' : 'x';
320
+ const sizeDim = isHorizontal ? 'height' : 'width';
307
321
  // 找到整个图作为环的坐标维度(dim)的最大、最小值,考虑节点宽度
308
322
  let min = Infinity;
309
323
  let max = -Infinity;
310
324
  g.nodes().forEach((node: any) => {
311
325
  const coord = g.node(node)! as any;
312
- const i = nodes.findIndex((it) => it.id === node);
313
- if (!nodes[i]) return;
314
- const currentNodesep = nodesepfunc(nodes[i]);
326
+ if (!self.nodeMap[node]) return;
327
+ const currentNodesep = nodesepfunc(self.nodeMap[node]);
315
328
 
316
329
  if (focusLayer === 0) {
317
330
  if (!layers[coord._rank]) {
@@ -409,15 +422,14 @@ export class DagreLayout extends Base {
409
422
  arcRange
410
423
  );
411
424
  // 将新坐标写入源数据
412
- const i = nodes.findIndex((it) => it.id === node);
413
- if (!nodes[i]) return;
414
- nodes[i].x = newX + dBegin[0];
415
- nodes[i].y = newY + dBegin[1];
425
+ if (!self.nodeMap[node]) return;
426
+ self.nodeMap[node].x = newX + dBegin[0];
427
+ self.nodeMap[node].y = newY + dBegin[1];
416
428
  // @ts-ignore: pass layer order to data for increment layout use
417
- nodes[i]._order = coord._order;
429
+ self.nodeMap[node]._order = coord._order;
418
430
 
419
431
  // 找到本层最大的一个 ranksep,作为下一层与本层的间隙,叠加到下一层的半径上
420
- const currentNodeRanksep = ranksepfunc(nodes[i]);
432
+ const currentNodeRanksep = ranksepfunc(self.nodeMap[node]);
421
433
  if (maxRanksep < currentNodeRanksep) maxRanksep = currentNodeRanksep;
422
434
  });
423
435
  return maxRanksep;
@@ -436,12 +448,12 @@ export class DagreLayout extends Base {
436
448
  // 第一层只有一个节点,直接放在圆心,初始半径设定为 0
437
449
  if (isFirstLevel && layerNodes.nodes.length === 1) {
438
450
  // 将新坐标写入源数据
439
- const i = nodes.findIndex((it) => it.id === layerNodes.nodes[0]);
440
- if (i <= -1) return;
441
- nodes[i].x = dBegin[0];
442
- nodes[i].y = dBegin[1];
451
+ const nodeId = layerNodes.nodes[0];
452
+ if (!self.nodeMap[nodeId]) return;
453
+ self.nodeMap[nodeId].x = dBegin[0];
454
+ self.nodeMap[nodeId].y = dBegin[1];
443
455
  radiusMap[layerNodes.nodes[0]] = 0;
444
- radius = ranksepfunc(nodes[i]);
456
+ radius = ranksepfunc(self.nodeMap[nodeId]);
445
457
  isFirstLevel = false;
446
458
  return;
447
459
  }
@@ -477,17 +489,17 @@ export class DagreLayout extends Base {
477
489
  g.edges().forEach((edge: any) => {
478
490
  const coord = g.edge(edge);
479
491
  const i = edges.findIndex((it) => {
480
- const source = getEdgeTerminal(it, "source");
481
- const target = getEdgeTerminal(it, "target");
492
+ const source = getEdgeTerminal(it, 'source');
493
+ const target = getEdgeTerminal(it, 'target');
482
494
  return source === edge.v && target === edge.w;
483
495
  });
484
496
  if (i <= -1) return;
485
497
  if (
486
498
  self.edgeLabelSpace &&
487
499
  self.controlPoints &&
488
- edges[i].type !== "loop"
500
+ edges[i].type !== 'loop'
489
501
  ) {
490
- const otherDim = dim === "x" ? "y" : "x";
502
+ const otherDim = dim === 'x' ? 'y' : 'x';
491
503
  const controlPoints = coord?.points?.slice(
492
504
  1,
493
505
  coord.points.length - 1
@@ -521,7 +533,7 @@ export class DagreLayout extends Base {
521
533
  });
522
534
  } else {
523
535
  const layerCoords: Set<number> = new Set();
524
- const isInvert = rankdir === "BT" || rankdir === "RL";
536
+ const isInvert = rankdir === 'BT' || rankdir === 'RL';
525
537
  const layerCoordSort = isInvert
526
538
  ? (a: number, b: number) => b - a
527
539
  : (a: number, b: number) => a - b;
@@ -560,16 +572,21 @@ export class DagreLayout extends Base {
560
572
  g.edges().forEach((edge: any) => {
561
573
  const coord = g.edge(edge);
562
574
  const i = edges.findIndex((it) => {
563
- const source = getEdgeTerminal(it, "source");
564
- const target = getEdgeTerminal(it, "target");
575
+ const source = getEdgeTerminal(it, 'source');
576
+ const target = getEdgeTerminal(it, 'target');
565
577
  return source === edge.v && target === edge.w;
566
578
  });
567
579
  if (i <= -1) return;
568
580
  if (
569
581
  self.edgeLabelSpace &&
570
582
  self.controlPoints &&
571
- edges[i].type !== "loop"
583
+ edges[i].type !== 'loop'
572
584
  ) {
585
+ coord?.points?.forEach((point: any) => {
586
+ point.x += dBegin[0];
587
+ point.y += dBegin[1];
588
+ });
589
+
573
590
  const sourceNode = self.nodeMap[edge.v];
574
591
  const targetNode = self.nodeMap[edge.w];
575
592
  edges[i].controlPoints = getControlPoints(
@@ -581,10 +598,6 @@ export class DagreLayout extends Base {
581
598
  isDifferentLayer,
582
599
  filterControlPointsOutOfBoundary
583
600
  );
584
- edges[i].controlPoints.forEach((point: any) => {
585
- point.x += dBegin[0];
586
- point.y += dBegin[1];
587
- });
588
601
  }
589
602
  });
590
603
  }
@@ -617,7 +630,7 @@ export class DagreLayout extends Base {
617
630
  }
618
631
 
619
632
  public getType() {
620
- return "dagre";
633
+ return 'dagre';
621
634
  }
622
635
  }
623
636