{"version":3,"file":"334.js","mappings":"2iBAAA,IAuBYA,EAvBZ,WACA,WACA,cACA,WACA,WACA,WACA,WACA,WAEA,WAEA,WAEMC,EAA0B,CAC5BC,KAAM,CACFC,QAAS,OACTC,WAAY,EACZC,YAAa,IAIfC,EAA0B,QAEhC,SAAYN,GACR,mBACA,mBACA,mBACA,iBACA,kBACH,CAND,CAAYA,IAAqB,wBAArBA,EAAqB,KAQjC,2BACIO,EACAC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAkB,UAAMC,WAAW,EAAAC,iBAEnCC,GAA0B,IAAAC,cAAY,SAACC,GAAqB,OAAAA,EAAMF,uBAAN,IAC5DG,GAAe,IAAAF,cAAY,SAACC,GAAqB,OAAAA,EAAME,mBAAmBD,YAAzB,IACjDE,GAAqB,IAAAJ,cAAY,SAACC,GAAqB,OAAAA,EAAMG,mBAAmBA,kBAAzB,IACvDC,GAAmB,IAAAL,cAAY,SAACC,GAAqB,OAAAA,EAAMG,mBAAmBA,mBAAmBE,OAAS,EAAIL,EAAMG,mBAAmBA,mBAAmBH,EAAMG,mBAAmBA,mBAAmBE,OAAS,GAAK,IAA/J,IACrDC,GAAW,IAAAP,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWC,KAAjB,IAC7CC,GAAc,IAAAV,cAAY,SAACC,GAAgB,QAAK,OAA0C,QAA1C,EAA6B,QAA7B,EAAAA,EAAMU,+BAAuB,eAAED,mBAAW,eAAEE,KAAK,IACjGC,GAA2B,IAAAb,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWK,wBAAjB,IAC7DC,GAAgC,IAAAd,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWM,6BAAjB,IAClEC,GAA2B,IAAAf,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWO,wBAAjB,IAC7DC,GAA4B,IAAAhB,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWQ,yBAAjB,IAC9DC,GAAgC,IAAAjB,cAAY,SAACC,GAAqB,OAAAA,EAAMO,WAAWS,6BAAjB,IAElE,EAAkC,UAAMC,WAAvCC,EAAY,KAAEC,EAAe,KAE9BC,EAAa,UAAMC,aAAY,SAACC,G,QAClC,IAAI7B,aAAoB,EAApBA,EAAsBY,QAAS,EAAG,CAClC,GAA6B,eAAzBiB,aAAQ,EAARA,EAAUC,cAA+BD,EACzC,OAAO,wBAAC,EAAAE,KAAI,MAAK,IAAAC,sBAAqB,CAAEC,KAAM,EAAAC,aAAaC,OAAQC,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,KAElH,GAA6B,aAAzBsC,aAAQ,EAARA,EAAUC,cAA6BD,EACvC,OAAO,wBAAC,EAAAE,KAAI,CAACQ,SAAS,QAAQD,OAAQ,EAAAE,iBAE1C,IAAgC,KAA5BX,aAAQ,EAARA,EAAUY,iBAAiD,QAAvB,EAAAZ,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,cACvG,OAAO,wBAAC,EAAAd,KAAI,MAAK,IAAAC,sBAAqB,CAAEC,KAAM,EAAAC,aAAaY,OAAQV,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,KAElH,IAAgC,KAA5BsC,aAAQ,EAARA,EAAUY,iBAAiD,QAAvB,EAAAZ,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BT,SACvG,OAAO,wBAAC,EAAAJ,KAAI,MAAK,IAAAC,sBAAqB,CAAEC,KAAM,EAAAC,aAAaa,aAAcX,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,KAExH,GAAIsC,aAAQ,EAARA,EAAUmB,UACV,OAAO,wBAAC,EAAAjB,KAAI,MAAK,IAAAC,sBAAqB,CAAEiB,UAAWpB,EAASmB,UAAWZ,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,IAE1H,CACA,OAAO,wBAAC,EAAAwC,KAAI,MAAK,IAAAC,sBAAqB,CAAEC,KAAM,EAAAC,aAAagB,YAAad,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,IACvH,GAAG,CAACS,EAAsBW,IAEpBwC,EAA+B,CACjCC,IAAK,MACLC,WAAW1C,aAAgB,EAAhBA,EAAkB2C,oBAAgC,IAAZxD,IAAqC,IAAjBU,EACrE+C,KAAMrD,EAAgBsD,QACtBC,UAAW,CAAElB,SAAU,OACvBmB,aAAc,CACVC,MAAO,KAiKf,OA7JA,UAAMC,WAAU,W,0BACNC,EAAsBnD,EAAmBoD,MAAK,SAAAC,GAAK,OAAAA,EAAE9B,OAAS,EAAA+B,eAAeC,cAA1B,IAEzD,GAA8B,KAA1BpE,aAAa,EAAbA,EAAee,UAAwD,QAAxC,EAAAP,aAAuB,EAAvBA,EAAyB6D,uBAAe,eAAEC,kBAA0D,QAAxC,EAAA9D,aAAuB,EAAvBA,EAAyB6D,uBAAe,eAAEE,mBAAoBpD,EAAa,CACtK,IAEI,EAFEqD,GAA8C,QAA/B,EAAA1D,aAAgB,EAAhBA,EAAkB+B,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BT,UAAWxB,EAAiB2D,qBAAmD,QAA3B,EAAA3D,aAAgB,EAAhBA,EAAkB4D,iBAAS,eAAE3D,QAAS,GAAKD,EAAiB6D,UAG5MjD,GAAiCJ,KAE7B,GAD+B,QAA/B,EAAAR,aAAgB,EAAhBA,EAAkB+B,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,cACvD,EAAAD,+BAA+BC,YAC5CwB,EACa,EAAAzB,+BAA+BT,OAE/BvC,GAI5B,IACM,EADkB,IAAI,EAAA6E,kBAAkB5D,EAAUF,GAChB+D,gBAExC,GAAI,IAAmB,IAAkBL,EAAa,CAClD,IAAIM,OAAY,EA6GhB,GAzGIA,EAHApD,GACG,IAAsB3B,IACtBI,aAAoB,EAApBA,EAAsB8D,MAAK,SAAAjC,GAAQ,MAAI,OAAoB,QAApB,EAAAA,aAAQ,EAARA,EAAUC,kBAAU,eAAEa,WAAW,EAAAC,+BAA+BC,YAAY,KACvG7C,aAAoB,EAApBA,EAAsB4E,QAAO,SAAA/C,GAAQ,MAAI,OAAoB,QAApB,EAAAA,aAAQ,EAARA,EAAUC,kBAAU,eAAEa,WAAW,EAAAC,+BAA+BC,YAAY,IAGrH7C,EAGnB2E,SAAAA,EAAcE,SAAQ,SAAAhD,G,sGAClB,GAA4B,cAAxBA,EAASC,YACT,IAAIzB,aAAuB,EAAvBA,EAAyByE,kBAAmB,EAAe,CAC3D,IAAMC,GAAuB,CACzB3B,IAAK,eACLG,KAAMrD,EAAgB8E,OACtBvB,UAAW,CAAElB,SAAU,mBACvB0C,aAAc,WAAM,OAAAtD,GAAA,EACpBuD,QAAS,WACLjF,EAAwB4B,EAC5B,GAEAV,EACI,IAAsBvB,IAAmB0B,aAAyB,EAAzBA,EAA2B6D,SAAS,EAAAC,sBAAsBjD,SACxE,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKN,IAE7B,IAAsB,EAAAnC,+BAA+BT,SAAUd,aAAwB,EAAxBA,EAA0B8D,SAAS,EAAAC,sBAAsBjD,SAClG,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKN,IAE7B,IAAsB,EAAAnC,+BAA+BC,cAAezB,aAA6B,EAA7BA,EAA+B+D,SAAS,EAAAC,sBAAsBjD,WAC5G,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKN,KAGX,QAA3B,EAAoB,QAApB,EAAA5B,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKN,GAE1C,OAEC,IAAKlB,EAAqB,CAC3B,IAAMyB,GAAmC,CACrClC,IAAK,cAAOvB,EAASC,YACrByB,KAAM1B,EAAS0D,MACf9B,UAAW,CAAC,EACZwB,aAAc,WAAM,OAAAtD,EAAWE,EAAX,EACpBqD,QAAS,WACLjF,EAAwB4B,EAC5B,IAG2B,IAA3BA,EAASY,gBACkB,QAAvB,EAAAZ,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BT,YAAmC,QAAvB,EAAAN,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,gBACvH,QAAvB,EAAAhB,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,iBAAiBnC,aAAkB,EAAlBA,EAAoBoD,MAAK,SAAA0B,GAAG,MAAI,OAAkB,QAAlB,EAAAA,aAAG,EAAHA,EAAK9C,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,YAAY,QAC9L1B,GAE4B,QAAvB,EAAAU,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BT,YAAmC,QAAvB,EAAAN,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,cAC/I,IAAsBjD,IAAmB0B,aAAyB,EAAzBA,EAA2B6D,SAAS,EAAAC,sBAAsBjD,SACxE,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BT,SAAUd,aAAwB,EAAxBA,EAA0B8D,SAAS,EAAAC,sBAAsBjD,SAClG,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BC,cAAezB,aAA6B,EAA7BA,EAA+B+D,SAAS,EAAAC,sBAAsBjD,WAC5G,QAA3B,EAAoB,QAApB,EAAAgB,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,MAGR,QAAvB,EAAAzD,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,cACtE,IAAsBjD,IAAmB0B,aAAyB,EAAzBA,EAA2B6D,SAAS,EAAAC,sBAAsBtC,SACxE,QAA3B,EAAoB,QAApB,EAAAK,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BT,SAAUd,aAAwB,EAAxBA,EAA0B8D,SAAS,EAAAC,sBAAsBtC,SAClG,QAA3B,EAAoB,QAApB,EAAAK,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BC,cAAezB,aAA6B,EAA7BA,EAA+B+D,SAAS,EAAAC,sBAAsBtC,WAC5G,QAA3B,EAAoB,QAApB,EAAAK,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,MAGN,QAAvB,EAAAzD,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BT,YAAmC,QAAvB,EAAAN,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,gBAA0C,QAAvB,EAAAhB,aAAQ,EAARA,EAAUa,qBAAa,eAAEC,WAAW,EAAAC,+BAA+BC,gBAC7O,IAAsBjD,IAAmB0B,aAAyB,EAAzBA,EAA2B6D,SAAS,EAAAC,sBAAsBK,OACxE,QAA3B,EAAoB,QAApB,EAAAtC,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BT,SAAUd,aAAwB,EAAxBA,EAA0B8D,SAAS,EAAAC,sBAAsBK,OAClG,QAA3B,EAAoB,QAApB,EAAAtC,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BC,cAAezB,aAA6B,EAA7BA,EAA+B+D,SAAS,EAAAC,sBAAsBK,SAC5G,QAA3B,EAAoB,QAApB,EAAAtC,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,MAIf,QAA3B,EAAoB,QAApB,EAAAnC,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKC,KAIb,iBAAxBzD,EAASC,YAAyD,eAAxBD,EAASC,aACpDX,EACI,IAAsBvB,IAAmB0B,aAAyB,EAAzBA,EAA2B6D,SAAS,EAAAC,sBAAsBK,OACxE,QAA3B,GAAoB,QAApB,GAAAtC,EAAQO,oBAAY,iBAAEC,aAAK,WAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BT,SAAUd,aAAwB,EAAxBA,EAA0B8D,SAAS,EAAAC,sBAAsBK,OAClG,QAA3B,GAAoB,QAApB,GAAAtC,EAAQO,oBAAY,iBAAEC,aAAK,WAAE0B,KAAKC,IAE7B,IAAsB,EAAA1C,+BAA+BC,cAAezB,aAA6B,EAA7BA,EAA+B+D,SAAS,EAAAC,sBAAsBK,SAC5G,QAA3B,GAAoB,QAApB,GAAAtC,EAAQO,oBAAY,iBAAEC,aAAK,WAAE0B,KAAKC,KAGX,QAA3B,GAAoB,QAApB,GAAAnC,EAAQO,oBAAY,iBAAEC,aAAK,WAAE0B,KAAKC,IAG9C,CACJ,IAEIzB,GAAiD,KAA1BhE,aAAa,EAAbA,EAAee,UAAwD,QAAxC,EAAAP,aAAuB,EAAvBA,EAAyB6D,uBAAe,eAAEC,kBAA0D,QAAxC,EAAA9D,aAAuB,EAAvBA,EAAyB6D,uBAAe,eAAEE,mBAAoBpD,EAAa,CAC7L,IAAM0E,EAAyB,CAC3BtC,IAAK,iBACLG,KAAMrD,EAAgByF,SACtBlC,UAAW,CAAElB,SAAU,mBACvB0C,aAAc,WAAM,+BAAC,EAAAlD,KAAI,MAAK,IAAAC,sBAAqB,CAAEC,KAAM,EAAAC,aAAa0D,SAAUxD,KAAM,GAAIC,cAAe,QAAQ,CAAEC,OAAQ/C,IAAzG,EACpB2F,QAAS,WACLjF,EAAwB,KAC5B,GAKJ,OAF2B,QAA3B,EAAoB,QAApB,EAAAkD,EAAQO,oBAAY,eAAEC,aAAK,SAAE0B,KAAKK,QAClChE,EAAgByB,EAEpB,CAEA,IAA+B,QAA3B,EAAoB,QAApB,EAAAA,EAAQO,oBAAY,eAAEC,aAAK,eAAE/C,QAAS,EAEtC,YADAc,EAAgByB,EAGxB,CACJ,CAEAzB,EAAgB,KAEpB,GAAG,CAAC7B,EAAeC,EAASO,EAAyBK,EAAoBC,EAAkBE,EAAUb,EAAsB2B,EAAYX,EAAaG,EAA0BG,EAA2BD,EAA0BD,IAE5N,CACHK,aAAY,EAEpB,E,qjBCrOA,IAAYoE,EAMAC,EA0BAC,EAMAC,E,qJAtCZ,SAAYH,GACX,cACA,cACA,iCACA,CAJD,CAAYA,IAAwB,2BAAxBA,EAAwB,KAMpC,SAAYC,GACX,wBACG,8BACA,eACH,CAJD,CAAYA,IAAyB,4BAAzBA,EAAyB,KA0BrC,SAAYC,GACX,kBACA,kBACA,qBACA,CAJD,CAAYA,IAAW,cAAXA,EAAW,KAMvB,SAAYC,GACX,cACA,sCACA,aACA,CAJD,CAAYA,IAAqB,wBAArBA,EAAqB,K,4qFCtDjC,eACA,WAKMC,GAAgC,IAAAC,QAClC,SAAOC,EAA0BC,EAAKC,GAAY,0C,4DAC/B,UAAM,IAAAC,gBAAe,CAChCC,QALU,mCAMVC,eAAgB,SAAOC,GAAO,0C,2BAC1B,MAAO,CAAP,EAAOA,E,SAHM,CAKlBN,EAAMC,EAAKC,I,OAKd,OAVMK,EAAS,SAOK,OADdC,EAA2B,QAAb,EAAAD,aAAM,EAANA,EAAQE,aAAK,eAAEC,SACQ,MAAhBF,GACvB,EAAAT,MAAMY,KAAKJ,EAAOE,OAEf,CAAP,EAAOF,G,SAEX,CACIK,WAAY,IAIP,EAAAC,eAAgB,IAAAC,WAAU,CACnCC,YAAa,YACbC,UAAWlB,EACXmB,UAAW,SAACC,GAAY,OACpBC,kBAAmBD,EAAQE,MAAqE,CAC5FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAAC,EAAoBxB,EAAI,QAAfyB,EAAWzB,EAAI,OAChC,MAAO,CACH0B,IAAK,kBAAWF,EAAO,kBAAUC,EAAM,kEAA0D,EAAAE,UAAUC,2BAA0B,YAAI,EAAAD,UAAUE,+BAA8B,KACjLC,OAAQ,MACRxB,QAAO,EAEf,IAEJyB,SAAUb,EAAQE,MAAoE,CAClFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAIpB,OAHAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,mBAAoB,YAEzB,CACHI,IAAK,kDAA2C1B,EAAKgC,QAAQvD,OAAM,sBAAcuB,EAAKgC,QAAQvD,OAAM,mCAA2BuB,EAAKgC,QAAQvD,OAAM,sBAAcuB,EAAKgC,QAAQC,QAAO,oBAAYjC,EAAKgC,QAAQE,QAC7MJ,OAAQ,MACRxB,QAAO,EAEf,IAEJ6B,YAAajB,EAAQE,MAAkF,CACnGA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAIpB,OAHAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,mBAAoB,YAEzB,CACHI,IAAK,sBAAe1B,EAAKoC,IAAMpC,EAAKoC,IAAM,GAAE,qBAAapC,EAAKgC,QAAQC,QAAO,oBAAYjC,EAAKgC,QAAQE,QACtGJ,OAAQ,MACRxB,QAAO,EAEf,IAEJ+B,UAAWnB,EAAQE,MAAoE,CACnFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAKpB,OAJAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,mBAAoB,YAGzB,CACHI,IAAK,8DAAuD1B,EAAKgC,QAAQvD,OAAM,+CAAuCuB,EAAKgC,QAAQvD,OAAM,kCAA0BuB,EAAKgC,QAAQvD,OAAM,uBAAeuB,EAAKgC,QAAQC,QAAO,oBAAYjC,EAAKgC,QAAQE,QAClPJ,OAAQ,MACRxB,QAAO,EAEf,IAEJgC,UAAWpB,EAAQE,MAAoE,CACnFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAIpB,OAHAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,mBAAoB,YAEzB,CACHI,IAAK,8DAAuD1B,EAAKgC,QAAQvD,OAAM,kCAA0BuB,EAAKgC,QAAQvD,OAAM,uBAAeuB,EAAKgC,QAAQC,QAAO,oBAAYjC,EAAKgC,QAAQE,QACxLJ,OAAQ,MACRxB,QAAO,EAEf,IAEJiC,6BAA8BrB,EAAQE,MAAwF,CAC1HA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAGpB,OAFAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAErC,CACHG,IAAK,kBAAW1B,EAAKgC,QAAQR,QAAO,2BAAmBxB,EAAKgC,QAAQQ,aAAY,MAChFV,OAAQ,MACRxB,QAAO,EAEf,IAEJmC,cAAevB,EAAQE,MAAqE,CACxFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAGpB,OAFAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAErC,CACHG,IAAK,kBAAW1B,EAAKwB,QAAO,kBAAUxB,EAAKyB,OAAM,uDACjDK,OAAQ,MACRxB,QAAO,EAEf,IAEJoC,QAASxB,EAAQE,MAAqE,CAClFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAGpB,OAFAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAErC,CACHG,IAAK,kBAAW1B,EAAKwB,QAAO,kBAAUxB,EAAKyB,QAC3CK,OAAQ,MACRxB,QAAO,EAEf,IAEJqC,eAAgBzB,EAAQE,MAAoC,CACxDA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAGpB,OAFAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAErC,CACHG,IAAK,+CACLI,OAAQ,MACRxB,QAAO,EAEf,EACAsC,kBAAmB,SAACC,GAChB,IAAMC,EAAc,GAapB,OAXAD,EAAS9H,MAAM2D,SAAQ,SAACqE,GACpBD,EAAY5D,KAAK,EAAD,KACT6D,EAAKC,YAAU,CAClBC,SAAUF,EAAKC,WAAWE,KAC1BC,yBAA0BJ,EAAKC,WAAWI,qBAC1CC,SAAUN,EAAKC,WAAW/G,KAC1BqH,mBAAoBP,EAAKC,WAAWO,eAAeC,KAAKC,cAGhE,IAEOX,CACX,IAEJY,iBAAkBxC,EAAQE,MAAiK,CACvLA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA1G,EAAuDmF,EAAI,YAA9C2D,EAA0C3D,EAAI,aAAhC4D,EAA4B5D,EAAI,YAAnB6D,EAAe7D,EAAI,KAAb/D,EAAS+D,EAAI,KAE/D8D,EAAsBH,EACpB,YAAK9I,EAAW,cAAM8I,GACtB,YAAK9I,EAAW,MAElBkJ,MAAMC,QAAQJ,IAAgBA,EAAYnJ,OAAS,IACxBmJ,EAAYnF,QAAO,SAAAwF,GAAW,OAAAA,CAAA,IAC5CxJ,OAAS,IAClBqJ,GAAe,YAAKF,EACfM,KAAI,SAAAD,GAAW,sBAAUA,EAAO,IAAjB,IACfE,KAAK,QAAO,OAqBzB,MAAO,CACHzC,IAAK,gBACLI,OAAQ,OACRsC,KApBS,CACTC,SAAU,CACN,CACIC,YAAa,CACT,OACA,aAEJlD,MAAO,CACH0C,YAAW,GAEfS,OAAQ,EAAAC,aAAaC,MACrBZ,KAAMA,QAAAA,EAAQ,EACd5H,KAAMA,QAAAA,EAAQ,OAStBqE,QAAO,EAEf,EACAsC,kBAAmB,SAACC,GAChB,OAAO,KAAKA,EAAS9H,MAAM,GAAG2J,eAAe,GACjD,IAEJC,qBAAsBzD,EAAQE,MAAqD,CAC/EA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAGpB,OAFAf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAErC,CACHG,IAAK,kBAAW1B,EAAKwB,QAAO,uDAC5BM,OAAQ,MACRxB,QAAO,EAEf,IAEJsE,yBAA0B1D,EAAQE,MAAwD,CACtFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAAsD,EAAe7E,EAAI,WAEvB8E,EAAcC,OAAOC,KAAKH,GAC1BI,EAAa,YAAKH,EAAYI,QAAQ,IAAIC,OAAO,aAAkC,OAIvF,OAFAF,GADAA,EAAaA,EAAWG,WAAW,IAAK,MAChBA,WAAW,IAAK,KAEjC,CACH1D,IAAK,kDAA2CuD,EAAU,0EAC1DnD,OAAQ,MACRxB,QAAO,EAEf,IAEJ+E,SAAUnE,EAAQE,MAA2F,CACzGA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA+D,EAAgCtF,EAAI,KAmB5C,MAAO,CACH0B,IAAK,+CACLI,OAAQ,OACRsC,KApBS,CACT,QAAW,CACP,QAJgCpE,EAAI,QAKpC,KAAQ,CACJ,YAAe,OACf,QAAWsF,GAEf,aATgCtF,EAAI,aASPkE,KAAI,SAAAqB,GAC7B,MAAO,CACH,aAAgB,CACZ,QAAWA,GAGvB,MAQJjF,QAAO,EAEf,IAhPgB,IAsPxB,EAAAkF,8BAaA,EAAA3E,cAAa,8BAZb,EAAA4E,qBAYA,EAAA5E,cAAa,qBAXb,EAAA6E,wBAWA,EAAA7E,cAAa,wBAVb,EAAA8E,sBAUA,EAAA9E,cAAa,sBATb,EAAA+E,sBASA,EAAA/E,cAAa,sBARb,EAAAgF,yCAQA,EAAAhF,cAAa,yCAPb,EAAAiF,2BAOA,EAAAjF,cAAa,2BANb,EAAAkF,6BAMA,EAAAlF,cAAa,6BALb,EAAAmF,0BAKA,EAAAnF,cAAa,0BAJb,EAAAoF,iCAIA,EAAApF,cAAa,iCAHb,EAAAqF,oBAGA,EAAArF,cAAa,oBAFb,EAAAsF,qCAEA,EAAAtF,cAAa,qCADb,EAAAuF,qBACA,EAAAvF,cAAa,qB,gsEC/RjB,eACA,cAKa,EAAAwF,aAAc,IAAAvF,WAAU,CACjCC,YAAa,UACbC,WAAW,IAAAb,gBAAe,CACtBC,QALY,qCAMZC,eAAgB,SAAOC,GAAO,0C,2BAEnC,OADSA,EAAQgB,IAAI,eAAgB,UAAWgF,mBACzC,CAAP,EAAOhG,E,UAGNW,UAAW,SAACC,GAAY,OAC1BqF,SAAUrF,EAAQsF,SAAgC,CACxCpF,MAAO,SAACqF,GAAS,OACzB/E,IAAK,OACLI,OAAQ,OACRsC,KAAMqC,EAHmB,IAMrBC,aAAcxF,EAAQsF,SAAyC,CAC3DpF,MAAO,SAACqF,GAAS,OACzB/E,IAAK,gBACLI,OAAQ,OACRsC,KAAMqC,EAHmB,IATD,IAmBxB,EAAAE,oBAEA,EAAAN,YAAW,oBADX,EAAAO,wBACA,EAAAP,YAAW,wB,+sBCpCf,eAKa,EAAAQ,gBAAiB,IAAA/F,WAAU,CACpCC,YAAa,aACbC,WAAY,IAAAjB,QAAM,IAAAI,gBAAe,CAC7BC,QALQ,0BAOZa,UAAW,SAACC,GAAY,OACpB4F,SAAU5F,EAAQE,MAAmC,CACjDA,MAAO,SAACpB,GACI,IAAA+G,EAA0B/G,EAAI,SAApBuB,EAAgBvB,EAAI,YAEhCM,EAAU,IAAIe,QAIpB,OAHAf,EAAQgB,IAAI,eAAgB,oBAC5BhB,EAAQgB,IAAI,gBAAiB,iBAAUC,IAEhC,CACHG,IAAK,uCAAgCqF,GACrCjF,OAAQ,MACRxB,QAAO,EAEf,IAGJ0G,aAAc9F,EAAQE,MAAmD,CACrEA,MAAO,SAACpB,GACI,IAAAiH,EAAoCjH,EAAI,WAA5BkH,EAAwBlH,EAAI,OAApBuB,EAAgBvB,EAAI,YAE1CM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,eAAgB,oBAC5BhB,EAAQgB,IAAI,gBAAiB,iBAAUC,IAEvC,IAAM6C,EAAO,CACT8C,OAAM,GAGV,MAAO,CACHxF,IAAK,kCAA2BuF,EAAU,cAC1CnF,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,IAnCgB,IAyCxB,EAAA+C,qBAEA,EAAAN,eAAc,qBADd,EAAAO,yBACA,EAAAP,eAAc,yB,8oECrDlB,eACA,WAIA,WACA,WAEA,WAOMQ,EAA2C,2BAEpC,EAAAC,oBAAqB,IAAAxG,WAAU,CACxCC,YAAa,iBACbC,WAAW,IAAAb,gBAAe,CACtBC,QANmB,KAQvBa,UAAW,SAACC,GAAY,OACpBqG,eAAgBrG,EAAQE,MAA+E,CACnGA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8BjE,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAC1C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,gCAAwB9G,EAAgB,sDAA8C,EAAAwE,UAAUC,2BAA0B,4BAAoB,EAAAD,UAAUE,+BAA8B,MACrMC,OAAQ,MACRxB,QAAO,EAEf,IAEJkH,qBAAsBtG,EAAQE,MAA+E,CACzGA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAEpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8BjE,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAC1C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,gCAAwB9G,EAAgB,qCACvD2E,OAAQ,MACRxB,QAAO,EAEf,IAEJmH,yBAA0BvG,EAAQE,MAA+E,CAC7GA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAEpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8BjE,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAC1C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,gCAAwB9G,EAAgB,2CACvD2E,OAAQ,MACRxB,QAAO,EAEf,IAEJoH,+BAAgCxG,EAAQE,MAA+F,CACnIA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QAEpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsCjE,EAAI,QAAjC7C,EAA6B6C,EAAI,iBAAfyB,EAAWzB,EAAI,OAClD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,gCAAwB9G,EAAgB,0BAAkBsE,EAAM,aAC/EK,OAAQ,OACRxB,QAAO,EAEf,IAEJqH,mBAAoBzG,EAAQE,MAAiX,CACzYA,MAAO,SAACpB,G,MACEM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAuLjE,EAAI,QAAlL7C,EAA8K6C,EAAI,iBAAhK4H,EAA4J5H,EAAI,QAAvJ6H,EAAmJ7H,EAAI,OAA/I8H,EAA2I9H,EAAI,UAApI7B,EAAgI6B,EAAI,mBAAhH+H,EAA4G/H,EAAI,eAAhGgI,EAA4FhI,EAAI,oBAA3EnF,EAAuEmF,EAAI,YAA9DiI,EAA0DjI,EAAI,+BAA9BkI,EAA0BlI,EAAI,YAAjBmI,EAAanI,EAAI,SAE/LoI,EAAiB,IACC,QAAlB,EAAAvN,aAAW,EAAXA,EAAaE,aAAK,eAAEsN,UACpBD,EAAiB,gCAAyBvN,EAAYE,MAAMqK,WAAW,IAAK,OAAM,OAGtF,IAAIkD,EAAkB,GAEhBC,EAA0B,GAE1BC,EAA0BL,EAC1B,8JACA,GAEFM,EAAmB,EACvB,GAAIR,EAAgC,CAChC,IAAMS,EAAoB,wBAAiBT,EAA+BU,MAAK,6BAAqBV,EAA+BU,MAAK,iCAAyBV,EAA+BlN,MAAK,uBAEjMuN,EADAH,EACkB,uFAAgFK,GAAe,OAAGE,EAAS,0BAG3G,kFAA2EA,EAAS,mBAE9G,MAEQX,EAAetN,OAAS,GACxBsN,EAAerJ,SAAQ,SAAAkK,GACnB,GAAIA,EAAQC,YAAqC,IAAvBD,EAAQC,WAAkB,CAChD,IAAIH,OAAS,EAGTA,EAFAE,EAAQC,WAAa,EAET,oCAA6BD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,gCAAwBJ,EAAQC,WAAU,iDAAyCD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,kCACtP,IAAvBJ,EAAQC,WAEH,8BAAuBD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,2BACjF,IAAvBJ,EAAQC,WAEH,8BAAuBD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,gCAAwBJ,EAAQC,WAAU,oBAClJD,EAAQC,WAAa,GAAKD,EAAQC,YAAc,GAE3C,oCAA6BD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,yDAAiDJ,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,gCAAwBJ,EAAQC,WAAU,2BAGhR,+BAAwBD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,6BAGhHb,IACAO,EAAY,eAAQF,GAAe,OAAGE,EAAS,WAEnDJ,EAAkB,wBAAiBI,EAAS,mBAChD,MACK,GAAIE,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,QAAF,IAAa,CAC1C,IAAIC,EAAgBN,EAAQpL,MAAMiB,QAAO,SAAAb,GAAK,OAAAA,EAAEqL,QAAF,IAAYxO,OACtD0O,EAAiBP,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IACzCC,EAAkBT,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAC1CE,EAAuBV,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAC/CG,EAAkBX,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAE1CI,EAAcZ,EAAQpL,MAAMiB,QAAO,SAAAb,GAAK,OAAAA,EAAEqL,QAAF,IAAY/E,KAAI,SAAAnB,GAAQ,OAAAA,EAAKhI,KAAL,IAAYoJ,KAAK,UACjF+E,EAAgB,IAChBM,EAAcA,EAAYpE,WAAW,IAAK,WAG9C,IAAM0D,EAAc,qBAAcI,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIG,EAAQE,YAAYC,eAC1LU,EAAc,qBAAcP,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIe,GACtKE,EAAa,oBAAaR,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIG,EAAQE,YAAYE,MACxLW,EAAW,kBAAWlB,EAAgB,OAC5CF,EAAcrJ,KAAK,UAAG4J,EAAW,YAAIW,EAAYrE,WAAW,IAAK,OAAM,YAAIsE,EAAU,YAAIC,IACzFlB,GAAoB,CACxB,CACJ,IAYR,IAAMmB,EAAqB,UAAGrB,EAAc9N,OAAS,EAAI,IAAM,IAAE,OAAG8N,EAAcpE,KAAK,MAEnF0F,EAAYhC,EAAS,eAAQA,GAAW,GAExCiC,EAAaC,EAAejC,EAAUkC,MAEtC5F,EAAO,CACP6F,WAAY,CACRC,YAAY,EACZC,QAAS,GACTC,gBAAiB,GACjBC,mBAAmB,EACnBC,2CAA2C,EAC3CC,cAAe,UAInBpC,IAAaG,IACbA,EAAkB,kFAA2EE,EAAe,qBAG5GF,GACAlE,EAAK6F,WAAWG,gBAAkB9B,SAC3BlE,EAAK6F,WAAWE,UAEvB/F,EAAK6F,WAAWE,QAAUvC,SACnBxD,EAAK6F,WAAWG,iBAGvBjM,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,KAInEgK,IAAoC,IAAxBH,KACZ5D,EAAK6F,WAAyB,cAAI,GAGtC,IAAIvI,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,qCAA6B0M,GAAS,OAAGC,GAAU,OAAGF,GAAkB,OAAGxB,GAKnI,OAJIF,IACAxG,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,oCAA4B+K,IAG7E,CACHxG,IAAG,EACHI,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAGJkI,uBAAwB7J,EAAQE,MAAkI,CAC9JA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA+DjE,EAAI,QAA1D7C,EAAsD6C,EAAI,iBAAxC7B,EAAoC6B,EAAI,mBAApBkI,EAAgBlI,EAAI,YAEvEoE,EAAO,CACP6F,WAAY,CACRC,YAAY,EACZE,gBAAiB,uCACjBG,cAAe,QACfS,cAAc,IAIlB7M,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,IAGvE,IAGIuD,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,4EAHtC,YAGqH,yBAFrH,GAOlB,OAJI+K,IACAxG,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,oCAA4B+K,IAG7E,CACHxG,IAAG,EACHI,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAGJoI,uBAAwB/J,EAAQE,MAAyI,CACrKA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8DjE,EAAI,QAAzD7C,EAAqD6C,EAAI,iBAAvC6H,EAAmC7H,EAAI,OAA/BkL,EAA2BlL,EAAI,GAA3B7B,EAAuB6B,EAAI,mBAEtE6J,EAAYhC,EAAS,eAAQA,GAAW,GAEtCzD,EAAO,CACT6F,WAAY,CACRI,mBAAmB,EACnBH,YAAY,EACZK,cAAe,QACfS,cAAc,IAQtB,OAJI7M,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,IAGhE,CACHuD,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,qCAA6B0M,EAAS,sDAA8CqB,GACvIpJ,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAGJsI,iCAAkCjK,EAAQE,MAAwS,CAC9UA,MAAO,SAACpB,G,MACEM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAmJjE,EAAI,QAA9I7C,EAA0I6C,EAAI,iBAA5H6H,EAAwH7H,EAAI,OAApHoL,EAAgHpL,EAAI,YAAvGqL,EAAmGrL,EAAI,UAA5F7B,EAAwF6B,EAAI,mBAAxEsL,EAAoEtL,EAAI,SAApC+H,GAAgC/H,EAAI,YAAJA,EAAI,YAAJA,EAAI,gBAApBnF,EAAgBmF,EAAI,YAE3J6J,EAAYhC,EAAS,eAAQA,GAAW,GACxCiC,EAAaC,EAAesB,GAI1B9C,EAA0B,GAC5BE,EAAmB,EACnBV,EAAetN,OAAS,GACxBsN,EAAerJ,SAAQ,SAAAkK,GACnB,GAAIA,EAAQC,YAAqC,IAAvBD,EAAQC,WACZ,uCAAiCD,EAAQE,YAAYC,cAAa,6BAAuBH,EAAQE,YAAYC,cAAa,2BAAqBH,EAAQE,YAAYE,KAAI,gCAA0BJ,EAAQC,WAAU,iDAErO,GAAID,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,QAAF,IAAa,CACrC,IAAIC,EAAgBN,EAAQpL,MAAMiB,QAAO,SAAAb,GAAK,OAAAA,EAAEqL,QAAF,IAAYxO,OACtD0O,EAAiBP,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IACzCC,EAAkBT,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAC1CE,EAAuBV,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAC/CG,EAAkBX,EAAQpL,MAAMG,MAAK,SAAAC,GAAK,OAAAA,EAAEqL,UAA2B,SAAfrL,EAAEwL,QAAhB,IAExCI,EAAcZ,EAAQpL,MAAMiB,QAAO,SAAAb,GAAK,OAAAA,EAAEqL,QAAF,IAAY/E,KAAI,SAAAnB,GAAQ,OAAAA,EAAKhI,KAAL,IAAYoJ,KAAK,UACjF,EAAc,qBAAc+E,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIG,EAAQE,YAAYC,eAC1L,EAAc,qBAAcG,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIe,GACtKE,EAAa,oBAAaR,EAAgB,GAAWC,GAAkBE,GAAmBC,GAAwBC,EAApE,IAA6F,IAAE,OAAGd,EAAgB,YAAIG,EAAQE,YAAYE,MACxLW,EAAW,kBAAWlB,EAAgB,OAC5CF,EAAcrJ,KAAK,UAAG,EAAW,YAAI,EAAYkG,WAAW,IAAK,OAAM,YAAIsE,EAAU,YAAIC,IACzFlB,GAAoB,CACxB,CAER,IAGJ,IAkBI/G,EAlBEkI,EAAqB,UAAGrB,EAAc9N,OAAS,EAAI,IAAM,IAAE,OAAG8N,EAAcpE,KAAK,MAEjFiE,GAAmC,QAAlB,EAAAvN,aAAW,EAAXA,EAAaE,aAAK,eAAEsN,OAAO5N,QAAS,EAAI,gCAAyBI,EAAYE,MAAMqK,WAAW,IAAK,OAAM,MAAO,GAiBvI,GAAKkG,EAGA,CACD,IAAMC,EAAgB,IAAIC,IAAI,UAAGvH,EAAO,4BAAoB9G,EAAgB,oCAA4BmO,IACxGC,EAAcE,aAAaC,OAAO,gBAAiB,QACnDhK,EAAM6J,EAAcI,IACxB,MANIjK,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,qCAA6B0M,EAAS,uDAA+CuB,GAAW,OAAGtB,GAAU,OAAGF,GAAkB,OAAGxB,GAQ7L,IAAMhE,EAAO,CACT6F,WAAY,CACRC,YAAY,EACZG,mBAAmB,EACnBC,2CAA2C,EAC3CC,cAAe,OAQvB,OAJIpM,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,IAGhE,CACHuD,IAAG,EACHI,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAGJ+I,kCAAmC1K,EAAQE,MAAkP,CACzRA,MAAO,SAACpB,G,MACEM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsHjE,EAAI,QAAjH7C,EAA6G6C,EAAI,iBAA/F6H,EAA2F7H,EAAI,OAAvFqL,EAAmFrL,EAAI,UAA5E7B,EAAwE6B,EAAI,mBAAxDsL,EAAoDtL,EAAI,SAA9C8I,EAA0C9I,EAAI,YAAjCyJ,EAA6BzJ,EAAI,YAApBnF,EAAgBmF,EAAI,YAE9H6J,EAAYhC,EAAS,eAAQA,GAAW,GACxCiC,EAAaC,EAAesB,GAE1BjD,GAAmC,QAAlB,EAAAvN,aAAW,EAAXA,EAAaE,aAAK,eAAEsN,OAAO5N,QAAS,EAAI,gCAAyBI,EAAYE,MAAMqK,WAAW,IAAK,OAAM,MAAO,GAEnI1D,EAAM,GAINA,EAHC4J,EAGK,UAAGrH,EAAO,4BAAoB9G,EAAgB,oCAA4BmO,GAF1E,UAAGrH,EAAO,4BAAoB9G,EAAgB,qCAA6B0M,EAAS,yBAAiBf,EAAW,yBAAiBW,GAAW,OAAGK,GAAU,OAAG1B,GAKtK,IAAMhE,EAAO,CACT6F,WAAY,CACRC,YAAY,EACZG,mBAAmB,EACnBC,2CAA2C,EAC3CC,cAAe,OAQvB,OAJIpM,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,IAGhE,CACHuD,IAAG,EACHI,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAEJgJ,2BAA4B3K,EAAQE,MAAgK,CAChMA,MAAO,SAACpB,G,MACEM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAwEjE,EAAI,QAAnE7C,EAA+D6C,EAAI,iBAAjDkI,EAA6ClI,EAAI,YAApC+H,EAAgC/H,EAAI,eAApBnF,EAAgBmF,EAAI,YAEhFsI,EAAkB,GAElBP,EAAetN,OAAS,GACxBsN,EAAerJ,SAAQ,SAAAkK,IAEfA,EAAQC,YAAqC,IAAvBD,EAAQC,cAG1BP,EAFAM,EAAQC,WAAa,EAEH,wDAAiDD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,gCAAwBJ,EAAQC,WAAU,iDAAyCD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,yDAChR,IAAvBJ,EAAQC,WAEG,kDAA2CD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,kDAC3G,IAAvBJ,EAAQC,WAEG,kDAA2CD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,mDAClIJ,EAAQC,WAAa,GAAKD,EAAQC,YAAc,GAErC,wDAAiDD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,yDAAiDJ,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,gCAAwBJ,EAAQC,WAAU,kDAGpS,mDAA4CD,EAAQE,YAAYC,cAAa,2BAAmBH,EAAQE,YAAYE,KAAI,oDAGtJ,IAGJ,IAAM5E,EAAO,CACT6F,WAAY,CACRC,YAAY,EACZG,mBAAmB,EACnBD,gBAAiB,GACjBE,2CAA2C,EAC3CC,cAAe,UAInBjC,EACAlE,EAAK6F,WAAWG,gBAAkB9B,SAE3BlE,EAAK6F,WAAWG,gBAG3B,IAAI1I,EAAc,UAAGuC,EAAO,4BAAoB9G,EAAgB,oCAA4B+K,GAK5F,OAJsB,QAAlB,EAAArN,aAAW,EAAXA,EAAaE,aAAK,eAAEsN,UACpB3G,GAAO,gCAAyB7G,EAAYE,MAAMqK,WAAW,IAAK,OAAM,OAGrE,CACH1D,IAAG,EACHI,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAEJiJ,yBAA0B5K,EAAQE,MAA6K,CAC3MA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,sCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAkFjE,EAAI,QAA7E7C,EAAyE6C,EAAI,iBAA3D6H,EAAuD7H,EAAI,OAAnDnF,EAA+CmF,EAAI,YAAtC7B,EAAkC6B,EAAI,mBAAlBqL,EAAcrL,EAAI,UAE1F6J,EAAYhC,EAAS,eAAQA,GAAW,GAEtCzD,EAAO,CACT6F,WAAY,CACRC,YAAY,EACZG,mBAAmB,EACnBC,2CAA2C,EAC3CyB,gBAAgB,EAChB3B,gBAAiB,wCACjBG,cAAe,OAQvB,OAJIpM,IACAiG,EAAK6F,WAAoC,yBAAI,IAAAO,uBAAsBrM,IAGhE,CACHuD,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,qCAA6B0M,EAAS,iCAAyBhP,EAAYuK,WAAW,IAAK,OAAM,aAAK2E,EAAesB,IACxKvJ,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,EACAxB,kBAAmB,SAACC,GAChB,IAAK,IAAI4H,EAAI,EAAGC,EAAI7H,EAAS8H,SAASC,IAAInQ,OAAQgQ,EAAIC,IAAKD,EACvD5H,EAAS8H,SAASC,IAAIH,GAAGpD,IAAoC,IAAAwD,qCAAoChI,EAAS8H,SAASC,IAAIH,GAAGK,UAE9H,OAAOjI,CACX,IAEJmJ,kBAAmB9K,EAAQE,MAAiG,CACxHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAwCjE,EAAI,QAAnC7C,EAA+B6C,EAAI,iBAAjBiM,EAAajM,EAAI,SAEpD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,iCAAyB8O,EAAQ,MACpFnK,OAAQ,MACRxB,QAAO,EAEf,IAEJ4L,YAAahL,EAAQE,MAAuE,CACxFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,MACrDnK,OAAQ,MACRxB,QAAO,EAEf,IAEJ6L,mBAAoBjL,EAAQE,MAAuD,CAC/EA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEtC,IAAA6K,EAAcpM,EAAI,UAIxB,MAAO,CACH0B,IAHJ0K,EAAYA,EAAUlH,QAAQ,OAAQ,QAIlCpD,OAAQ,MACRxB,QAAO,EAEf,IAEJ+L,wBAAyBnL,EAAQE,MAAsF,CACnHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEtC,IAAA0C,EAA6BjE,EAAI,QAAxBwB,EAAoBxB,EAAI,QAAfyB,EAAWzB,EAAI,OAEvC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,6BAAqBzC,EAAO,kBAAUC,EAAM,gBAC3DK,OAAQ,MACRxB,QAAO,EAEf,IAEJgM,aAAcpL,EAAQE,MAAuE,CACzFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,eACrDnK,OAAQ,OACRxB,QAAO,EAEf,IAEJiM,YAAarL,EAAQE,MAAoH,CACrIA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA4CjE,EAAI,QAAvCiM,EAAmCjM,EAAI,SAA7BwM,EAAyBxM,EAAI,YAAhByM,EAAYzM,EAAI,QAExD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,+BAAuBQ,EAAO,yBAAiBD,EAAW,KAC/G1K,OAAQ,OACRxB,QAAO,EAEf,IAEJoM,YAAaxL,EAAQE,MAAyF,CAC1GA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA+BjE,EAAI,QAA1BiM,EAAsBjM,EAAI,SAAhByM,EAAYzM,EAAI,QAE3C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,+BAAuBQ,EAAO,MACnF3K,OAAQ,OACRxB,QAAO,EAEf,IAEJqM,cAAezL,EAAQE,MAAuE,CAC1FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,4BACrDnK,OAAQ,OACRxB,QAAO,EAEf,IAEJsM,aAAc1L,EAAQE,MAAuE,CACzFA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,mBACrDnK,OAAQ,OACRxB,QAAO,EAEf,IAEJuM,gBAAiB3L,EAAQE,MAAuE,CAC5FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,mCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,eACrDnK,OAAQ,OACRxB,QAAO,EAEf,IAEJwM,0BAA2B5L,EAAQE,MAAiG,CAChIA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAwCjE,EAAI,QAAnC7C,EAA+B6C,EAAI,iBAAjBiM,EAAajM,EAAI,SAEpD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,iCAAyB8O,EAAQ,eACpFnK,OAAQ,MACRxB,QAAO,EAEf,IAEJyM,sBAAuB7L,EAAQE,MAA6F,CACxHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,eAAgB,qCAC5BhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,WAAY,KACxBhB,EAAQgB,IAAI,gBAAiB,SAErB,IAAA2C,EAAoCjE,EAAI,QAA/BiM,EAA2BjM,EAAI,SAArBgN,EAAiBhN,EAAI,aAEhD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,uCAA+Be,EAAY,MAChGlL,OAAQ,OACRxB,QAAO,EAEf,IAEJ2M,qBAAsB/L,EAAQE,MAA6F,CACvHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,eAAgB,qCAC5BhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,WAAY,KACxBhB,EAAQgB,IAAI,gBAAiB,UAErB,IAAA2C,EAAoCjE,EAAI,QAA/BiM,EAA2BjM,EAAI,SAArBgN,EAAiBhN,EAAI,aAEhD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,sCAA8Be,EAAY,MAC/FlL,OAAQ,OACRxB,QAAO,EAEf,IAEJ4M,kBAAmBhM,EAAQE,MAAuE,CAC9FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,eAAgB,qCAC5BhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAC5CjB,EAAQgB,IAAI,WAAY,KACxBhB,EAAQgB,IAAI,gBAAiB,UAErB,IAAA2C,EAAsBjE,EAAI,QAAjBiM,EAAajM,EAAI,SAElC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sCAA8BgI,EAAQ,2BACrDnK,OAAQ,OACRxB,QAAO,EAEf,IAEJ6M,4BAA6BjM,EAAQE,MAAiI,CAClKA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAwDjE,EAAI,QAAnD7C,EAA+C6C,EAAI,iBAE9DoE,EAAO,CACTgJ,WAAY,GACZC,WAAY,CACR,CAAEC,UAAW,oBAAqBC,WALsBvN,EAAI,QAM5D,CAAEsN,UAAW,sBAAuBC,WANoBvN,EAAI,WAQhEwN,QAAS,CARmDxN,EAAI,SAWpE,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,oCACnD2E,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,IAEJqJ,6BAA8BvM,EAAQE,MAAoJ,CACtLA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8DjE,EAAI,QAAzD7C,EAAqD6C,EAAI,iBAAvCoN,EAAmCpN,EAAI,WAA3BtE,EAAuBsE,EAAI,SAAjB0N,EAAa1N,EAAI,SAEtE2N,EAAoBD,EAAStI,WAAW,IAAK,MAKjD,OAJI1J,EAASkS,uBAAyB,EAAAzU,sBAAsB0U,MACxDF,EAAoB,UAAGD,EAAQ,YAAIhS,EAASmB,YAGzC,CACH6E,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,qDAA6CwQ,EAAiB,yBAAiBP,EAAU,kCAA0B1R,EAASkS,qBAAoB,yBAAiBlS,EAASgG,IAAMhG,EAASgG,IAAM,GAAE,MACpPI,OAAQ,OACRxB,QAAO,EAEf,IAEJwN,oBAAqB5M,EAAQE,MAAqD,CAC9EA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAYjE,EAAI,QAExB,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BACfnC,OAAQ,MACRxB,QAAO,EAEf,IAEJyN,kBAAmB7M,EAAQE,MAAsE,CAC7FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAqBjE,EAAI,QAAhBgO,EAAYhO,EAAI,QAEjC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,2CAAmC+J,EAAO,mBACzDlM,OAAQ,MACRxB,QAAO,EAEf,IAEJ2N,6BAA8B/M,EAAQE,MAAgG,CAClIA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAuCjE,EAAI,QAAlCgO,EAA8BhO,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAEnD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,+CAAuC6Q,EAAO,0BACjGlM,OAAQ,MACRxB,QAAO,EAEf,IAEJ4N,2BAA4BhN,EAAQE,MAA+E,CAC/GA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8BjE,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAE1C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,iCACnD2E,OAAQ,OACRxB,QAAO,EAEf,IAEJ6N,iCAAkCjN,EAAQE,MAAkH,CACxJA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAiDjE,EAAI,QAA5C7C,EAAwC6C,EAAI,iBAA1BoO,EAAsBpO,EAAI,OAAlBqO,EAAcrO,EAAI,UAEzD0B,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,+DAAuDiR,EAAM,uBAAeC,EAAS,KAK7I,OAJKlR,IACDuE,EAAM,UAAGuC,EAAO,sEAA8DmK,EAAM,uBAAeC,EAAS,MAGzG,CACH3M,IAAG,EACHI,OAAQ,OACRxB,QAAO,EAEf,IAEJgO,8BAA+BpN,EAAQE,MAAkH,CACrJA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAiDjE,EAAI,QAA5C7C,EAAwC6C,EAAI,iBAA1BoO,EAAsBpO,EAAI,OAAlBqO,EAAcrO,EAAI,UAEzD0B,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,4DAAoDiR,EAAM,uBAAeC,EAAS,KAK1I,OAJKlR,IACDuE,EAAM,UAAGuC,EAAO,mEAA2DmK,EAAM,uBAAeC,EAAS,MAGtG,CACH3M,IAAG,EACHI,OAAQ,OACRxB,QAAO,EAEf,IAEJiO,uBAAwBrN,EAAQE,MAAgF,CAC5GA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA8BjE,EAAI,QAAzB7C,EAAqB6C,EAAI,iBAEtC0B,EAAM,UAAGuC,EAAO,yEAQpB,OANI9G,IACAuE,EAAM,UAAGuC,EAAO,4BAAoB9G,EAAgB,mEAKjD,CACHuE,IAAG,EACHI,OAAQ,MACRxB,QAAO,EAEf,IAEJkO,mBAAoBtN,EAAQE,MAAqD,CAC7EA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAajE,EAAI,QAIzB,MAAO,CACH0B,IAHM,UAAGuC,EAAO,6BAIhBnC,OAAQ,MACRxB,QAAO,EAEf,IAEJmO,oBAAqBvN,EAAQE,MAAyF,CAClHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAgCjE,EAAI,QAA3BgO,EAAuBhO,EAAI,QAEtCoE,EAAO,CACTsK,UAHoC1O,EAAI,WAM5C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,mCAA2B+J,EAAO,WACjDlM,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,IAEJuK,gBAAiBzN,EAAQE,MAAwJ,CAC7KA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAsEjE,EAAI,QAAjE4O,EAA6D5O,EAAI,UAAtD6O,EAAkD7O,EAAI,MAA/C8O,EAA2C9O,EAAI,qBAAzB7C,EAAqB6C,EAAI,iBAE9E+O,EAAe,GACf5R,GAAoByR,EAAU5P,SAAS,UACvC+P,EAAe,gBAAS5R,EAAgB,4BAAoBA,EAAgB,QAGhF,IAQMiH,EAAO,CACT4K,cAAc,EACdC,UAAW,GACXC,aAAc,GACdlB,QAAS,EACTmB,6BAA6B,EAC7BC,kBAbAP,EAAM,GAAGQ,QACc,mBAAeP,GAA8C,gBAAe,YAAID,EAAM,GAAGS,SAAQ,yBAEjG,qCAAiCT,EAAM,GAAGU,MAAMC,cAAa,yBAWpFZ,UAAS,EACTa,WAAW,EACX/N,IAAK,UAAGuC,GAAO,OAAG8K,IAGtB,MAAO,CACHrN,IAAK,UAAGuC,EAAO,6EACfnC,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,IAEJsL,wBAAyBxO,EAAQE,MAAsF,CACnHA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAA6BjE,EAAI,QAAxBgO,EAAoBhO,EAAI,QAAfoO,EAAWpO,EAAI,OAGzC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,mCAA2B+J,EAAO,iCAAyBI,EAAM,KAChFtM,OAAQ,OACRxB,QAAO,EAEf,IAEJqP,8BAA+BzO,EAAQE,MAA0F,CAC7HA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAiCjE,EAAI,QAA5B4P,EAAwB5P,EAAI,UAAjB6P,EAAa7P,EAAI,SAE7C,MAAO,CACH0B,IAAK,UAAGuC,EAAO,sDAA8C2L,EAAS,cAAMC,EAAQ,wGACpF/N,OAAQ,MACRxB,QAAO,EAEf,IAEJwP,mBAAoB5O,EAAQE,MAAuE,CAC/FA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,qCACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAyBjE,EAAI,QAE/BoE,EAAO,CACT2L,YAH6B/P,EAAI,aAMrC,MAAO,CACH0B,IAAK,UAAGuC,EAAO,iCACfnC,OAAQ,OACRxB,QAAO,EACP8D,KAAI,EAEZ,IAEJ4L,sBAAuB9O,EAAQE,MAAiG,CAC5HA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAwCjE,EAAI,QAAnC7C,EAA+B6C,EAAI,iBAAjBiM,EAAajM,EAAI,SAEpD,MAAO,CACH0B,IAAK,UAAGuC,EAAO,4BAAoB9G,EAAgB,iCAAyB8O,EAAQ,0FACpFnK,OAAQ,OACRxB,QAAO,EAEf,IAEJ2P,iBAAkB/O,EAAQE,MAAqD,CAC3EA,MAAO,SAACpB,GACJ,IAAMM,EAAU,IAAIe,QACpBf,EAAQgB,IAAI,SAAU,oBACtBhB,EAAQgB,IAAI,gBAAiB,iBAAUtB,EAAKuB,cAEpC,IAAA0C,EAAYjE,EAAI,QAExB,MAAO,CACH0B,IAAK,UAAGuC,EAAO,+CACfnC,OAAQ,MACRxB,QAAO,EAEf,IA7jCgB,IAmkC5B,IAAMyJ,EAAiB,SAACsB,GACpB,GAA0B,KAAtBA,aAAS,EAATA,EAAW5Q,QAAc,CACzB,IAAMyV,EAAY7E,EAAU,GAAG8E,UAAY,OAAS,MAEpD,MAAO,qBAAc9E,EAAU,GAAG1C,MAAK,oBAAYuH,EACvD,CACK,GAA0B,KAAtB7E,aAAS,EAATA,EAAW5Q,QAAc,CAC9B,IAAM2V,EAAkB/E,EAAU,GAAG8E,UAAY,OAAS,MACpDE,EAAkBhF,EAAU,GAAG8E,UAAY,OAAS,MAE1D,MAAO,qBAAc9E,EAAU,GAAG1C,MAAK,oBAAYyH,EAAe,sBAAc/E,EAAU,GAAG1C,MAAK,oBAAY0H,EAClH,CAEA,MAAO,EACX,EAGI,EAAAC,2BA0CA,EAAAhJ,mBAAkB,2BAzClB,EAAAiJ,iCAyCA,EAAAjJ,mBAAkB,iCAxClB,EAAAkJ,+BAwCA,EAAAlJ,mBAAkB,+BAvClB,EAAAmJ,6CAuCA,EAAAnJ,mBAAkB,6CAtClB,EAAAoJ,8CAsCA,EAAApJ,mBAAkB,8CArClB,EAAAqJ,uCAqCA,EAAArJ,mBAAkB,uCApClB,EAAAsJ,qCAoCA,EAAAtJ,mBAAkB,qCAnClB,EAAAuJ,8BAmCA,EAAAvJ,mBAAkB,8BAlClB,EAAAwJ,qCAkCA,EAAAxJ,mBAAkB,qCAjClB,EAAAyJ,mCAiCA,EAAAzJ,mBAAkB,mCAhClB,EAAA0J,2CAgCA,EAAA1J,mBAAkB,2CA/BlB,EAAA2J,+BA+BA,EAAA3J,mBAAkB,+BA9BlB,EAAA4J,oCA8BA,EAAA5J,mBAAkB,oCA7BlB,EAAA6J,wBA6BA,EAAA7J,mBAAkB,wBA5BlB,EAAA8J,yBA4BA,EAAA9J,mBAAkB,yBA3BlB,EAAA+J,wBA2BA,EAAA/J,mBAAkB,wBA1BlB,EAAAgK,0BA0BA,EAAAhK,mBAAkB,0BAzBlB,EAAAiK,wBAyBA,EAAAjK,mBAAkB,wBAxBlB,EAAAkK,yBAwBA,EAAAlK,mBAAkB,yBAvBlB,EAAAmK,4BAuBA,EAAAnK,mBAAkB,4BAtBlB,EAAAoK,sCAsBA,EAAApK,mBAAkB,sCArBlB,EAAAqK,kCAqBA,EAAArK,mBAAkB,kCApBlB,EAAAsK,iCAoBA,EAAAtK,mBAAkB,iCAnBlB,EAAAuK,8BAmBA,EAAAvK,mBAAkB,8BAlBlB,EAAAwK,wCAkBA,EAAAxK,mBAAkB,wCAjBlB,EAAAyK,yCAiBA,EAAAzK,mBAAkB,yCAhBlB,EAAA0K,gCAgBA,EAAA1K,mBAAkB,gCAflB,EAAA2K,8BAeA,EAAA3K,mBAAkB,8BAdlB,EAAA4K,mCAcA,EAAA5K,mBAAkB,mCAblB,EAAA6K,gCAaA,EAAA7K,mBAAkB,gCAZlB,EAAA8K,4BAYA,EAAA9K,mBAAkB,4BAXlB,EAAA+K,oCAWA,EAAA/K,mBAAkB,oCAVlB,EAAAgL,yCAUA,EAAAhL,mBAAkB,yCATlB,EAAAiL,0CASA,EAAAjL,mBAAkB,0CARlB,EAAAkL,6CAQA,EAAAlL,mBAAkB,6CAPlB,EAAAmL,uCAOA,EAAAnL,mBAAkB,uCANlB,EAAAoL,+BAMA,EAAApL,mBAAkB,+BALlB,EAAAqL,0CAKA,EAAArL,mBAAkB,0CAJlB,EAAAsL,+BAIA,EAAAtL,mBAAkB,+BAHlB,EAAAuL,kCAGA,EAAAvL,mBAAkB,kCAFlB,EAAAwL,6BAEA,EAAAxL,mBAAkB,6BADlB,EAAAyL,mCACA,EAAAzL,mBAAkB,mC,q4ECppCtB,kBACA,WACA,WAGA,aAEI,WAAY0L,GAAZ,WAoEU,KAAAC,QAAU,Y,oGAAOvR,EAAawR,G,oBAAA,IAAAA,IAAAA,GAAA,G,2CAEZ,O,sBAAA,GAAM,UAAWC,sB,OACpB,OADX5R,EAAc,SACH,IAAM,IAAA6R,eAClBF,EAAmDxR,EAA/B,UAAG2R,KAAKC,cAAY,OAAG5R,GAC5C,CACIpB,QAAS,CACLiT,cAAe,iBAAUhS,GACzBiS,OAAQ,uB,OAIpB,GAAwB,OATlB3Q,EAAW,UASJnC,OACT,MAAO,CAAP,EAAOmC,EAAS4D,MAEhB,MAAM,IAAIgN,MAAM5Q,EAAS6Q,Y,OAG7B,M,kCAIE,KAAAC,SAAW,SAAOjS,EAAa0C,GAAS,qC,0DAEtB,O,sBAAA,GAAM,UAAW+O,sB,OACpB,OADX5R,EAAc,SACH,IAAM,IAAAqS,gBACnB,UAAGP,KAAKC,cAAY,OAAG5R,GACvB0C,EACA,CACI9D,QAAS,CACLiT,cAAe,iBAAUhS,GACzBiS,OAAQ,mBACR,eAAgB,qC,OAK5B,IAZM3Q,EAAW,WAYmB,MAApBA,EAASnC,OACrB,MAAO,CAAP,EAAOmC,EAAS4D,MAEhB,MAAM,IAAIgN,MAAM5Q,EAAS6Q,Y,OAG7B,M,kCA9GJL,KAAKL,SAAWA,CACpB,CAgHJ,OA9GiB,YAAAa,eAAb,W,wGAOoC,O,sBAAA,GAAMR,KAAKJ,QACnC,6J,UADAa,EAAwB,YAKxBC,OADAA,EAAyBD,aAAgB,EAAhBA,EAAkB/Y,YAClC,EAATgZ,EAAWtZ,QAAS,GAApB,YACIuZ,EAAmBF,aAAgB,EAAhBA,EAAkBE,S,wBAClCA,EACgB,GAAMX,KAAKJ,QAAQe,GAAU,IADrC,M,cACXF,EAAmB,SACnBC,EAAYA,EAAUE,OAA8B,QAAvB,EAAAH,aAAgB,EAAhBA,EAAkB/Y,aAAK,QAAI,IACxDiZ,EAAWF,aAAgB,EAAhBA,EAAkBE,S,aAGrC,MAAO,CAAP,EAAOD,QAAAA,EAAa,I,0BAEpB,IAAAG,QAAO,EAAO,wC,aAElB,MAAO,CAAC,EAAD,I,QAGE,YAAAC,QAAb,SAAqBC,EAAsB3H,EAAiB5J,G,mEACxD,IACI,MAAO,CAAP,EAAOwQ,KAAKM,SAAS,qBAAcS,EAAY,6CAA6C,CACxFC,WAAY,CAAExR,SAAUA,EAAUyR,SAAU7H,KAEpD,CAAE,MAAOhM,IACL,IAAAyT,QAAOzT,EAAO,gCAClB,CACA,MAAO,CAAP,EAAO,K,QAGE,YAAA8T,SAAb,SAAsBH,EAAsBI,EAAyBC,G,0GAE7C,SAAM,UAAWtB,sB,OACG,OADlC5R,EAAc,SACoB,IAAM,IAAA6R,eAAc,UAAGC,KAAKC,aAAY,sBAAcc,EAAY,4CAA4C,CAClJ9T,QAAS,CACLiT,cAAe,iBAAUhS,GACzBiS,OAAQ,uB,YAHVkB,EAKH,QALqC,kBAKrC,eAAEjO,MACD,YAEMkO,EAAyF,QAA9E,EAAAD,EAAUE,MAAK,SAAA/R,GAAY,OAAAA,EAASwR,WAAWQ,WAAWC,KAAOL,CAAtC,WAAmD,eAAEvR,K,iBAE5E,O,sBAAA,GAAMmQ,KAAKM,SAAS,qBAAcS,EAAY,6BAAqBO,EAAQ,oCAAoC,CAAEE,WAAYL,K,OAC9I,MAAO,CAAP,EADiB,U,0BAGjB,IAAAN,QAAO,EAAO,6C,aAGtB,MAAO,CAAP,EAAO,M,QAGD,YAAAZ,WAAV,WACI,MAAO,qGAA8FD,KAAKL,SAC9G,EAgDJ,EApHA,GAAa,EAAA+B,iBAAAA,E,6mBCLb,IAAYC,E,yFAAZ,SAAYA,GACR,mBACA,mBACA,yBACA,yBACA,+CACA,sDACH,CAPD,CAAYA,IAA8B,iCAA9BA,EAA8B,K,mlBCA1C,IAAYC,E,sFAAZ,SAAYA,GACR,mBACA,+BACA,qBACA,6BACA,yCACA,2BACA,kBACD,CARH,CAAYA,IAA2B,8BAA3BA,EAA2B,K,6kBCAvC,IAAYC,E,iFAAZ,SAAYA,GACR,uBACA,uBACA,uBACA,kBACD,CALH,CAAYA,IAAsB,yBAAtBA,EAAsB,K,kkBCAlC,IAAYC,E,uEAAZ,SAAYA,GACR,uBACA,kBACH,CAHD,CAAYA,IAAY,eAAZA,EAAY,K,+iBCAxB,IAAYlW,E,gFAAZ,SAAYA,GACR,kBACA,kBACA,aACH,CAJD,CAAYA,IAAqB,wBAArBA,EAAqB,K,ikBCAjC,IAAYmW,E,gFAAZ,SAAYA,GACR,uBACA,yBACA,gCACH,CAJD,CAAYA,IAAqB,wBAArBA,EAAqB,K,2oBCAjC,8BAUA,QATW,EAAAC,iBAAP,SAAwBC,EAAYC,GAChC,IAAMC,EAAO,IAAIC,IAAIF,GAMnB,OALaD,EAAI7W,QAAO,SAAAsE,GAEtB,OADkByS,EAAKE,IAAI3S,EAAKtB,OAElC,GAGN,EACJ,EAVA,GAAa,EAAAkU,gBAAAA,E,0pBCAA,EAAAC,wBAA0B,SAACC,GACpC,OAAOA,EAAWpX,QAAO,SAACqX,EAAgBC,EAAOT,GAC7C,OAAOA,EAAIU,QAAQV,EAAIV,MAAK,SAAAqB,GAAK,OAAAA,IAAMH,CAAN,OAA2BC,CAChE,GACJ,EAEa,EAAAV,iBAAmB,SAACa,EAAeC,GAC5C,IAAIC,EAAW,GACXC,EAAe,CAAC,EAEpB,IAAK,IAAI5L,KAAKyL,EACVG,EAAaH,EAAczL,GAAG0L,IAASD,EAAczL,GAGzD,IAAKA,KAAK4L,EACND,EAASlX,KAAKmX,EAAa5L,IAG/B,OAAO2L,CACX,E,o2BCjBA,eAEA,aACI,WAAoB1b,EAA8BF,GAA9B,KAAAE,SAAAA,EAA8B,KAAAF,iBAAAA,CAAmC,CAmBzF,OAjBI,YAAA+D,cAAA,sBACI,GAAI8U,KAAK3Y,UAAY2Y,KAAK3Y,SAASD,OAAS,EACxC,IACI,IAEI6b,EAFsBjD,KAAK3Y,SAAS+D,QAAO,SAAA8X,GAAI,UAAI,OAAgB,QAAhB,EAAAA,EAAK9S,mBAAW,eAAE4E,OAAOmH,kBAAwD,QAAtC,EAAqB,QAArB,IAAKhV,wBAAgB,eAAEgc,uBAAe,eAAEnO,OAAOmH,cAAa,IACvGiH,QAAO,SAACC,EAAKC,GAAY,cAAID,GAAK,GAAGC,EAAQC,mBAAiB,EAArC,GAAwC,IAC3DhC,MAAK,SAAA7R,GAAI,UAAI,OAAU,QAAV,EAAAA,EAAK3D,aAAK,eAAEiJ,OAAOmH,kBAAwD,QAAtC,EAAqB,QAArB,IAAKhV,wBAAgB,eAAEqc,uBAAe,eAAExO,OAAOmH,cAAa,IAC3K,OAAO6D,KAAKyD,0BAA0BR,EAC1C,CAAE,MAAO7V,IACL,IAAAyT,QAAOzT,EAAO,gCAClB,CAEJ,OAAO,CACX,EAEQ,YAAAqW,0BAAR,SAAkCR,GAC9B,QAAOA,aAAe,EAAfA,EAAiBS,0BAC5B,EACJ,EApBA,GAAa,EAAAC,WAAAA,E,8mECFb,eACA,cACA,UACA,WAEA,aACI,WAAoBtc,EAA8BF,GAA9B,KAAAE,SAAAA,EAA8B,KAAAF,iBAAAA,CAAmC,CAoBzF,OAlBU,YAAAmE,gBAAN,SAAsBJ,G,uGACdA,EACoB,GAAM,UAAW0Y,4BADrC,M,OAGO,OAFD1V,EAAc,SAEb,GADqB,IAAI,EAAA2V,qBAAqB7D,KAAK7Y,iBAAiB2c,OAAQ5V,GAClD6V,8CAA8C/D,KAAK7Y,iBAAiB2C,mB,OAArG,MAAO,CAAP,EAAO,U,OAEX,MAAO,CAAP,GAAO,G,QAGX,YAAAoB,cAAA,WACI,IAEI,OADa,IAAI,EAAAyY,WAAW3D,KAAK3Y,SAAU2Y,KAAK7Y,kBACpC+D,eAChB,CAAE,MAAOkC,GAEL,OADA,IAAAyT,QAAOzT,EAAO,yCACP,CACX,CACJ,EACJ,EArBA,GAAa,EAAAnC,kBAAAA,E,yoBCPb,eAGA,UAEA,0BAmEA,QAlEW,EAAA+Y,mBAAqB,SAACC,GA2BrBA,EAAU7c,QAAU6c,EAAU7c,OAAS,IACP6c,EAAUA,EAAU7c,OAAS,GACvBqB,OAAS,EAAA+B,eAAe0Z,QAG1DD,EAAUE,MAGtB,EAEO,EAAAC,WAAa,SAACC,EAA0BC,GAC3C,QAAKA,IACED,EAAatO,WAAa,EAAA+L,aAAa7V,KACxCqY,EAASha,MAAK,SAAAX,GAAW,OAAAA,EAAQyE,SAAWiW,EAAajW,MAAhC,IACzBmW,EAAgBC,aAAaH,EAAcC,GACrD,EAEO,EAAAE,aAAe,SAACH,EAA0BC,GAM7C,QALgBD,aAAY,EAAZA,EAAcjW,QAExBkW,EAASha,MAAK,SAAAX,GAAW,OAAAA,EAAQwE,UAAYkW,EAAalW,SAAWxE,EAAQkG,OAASwU,EAAaxU,IAA1E,IACzByU,EAASha,MAAK,SAAAX,GAAW,OAAAA,EAAQwE,UAAYkW,EAAalW,SAAWxE,EAAQyE,SAAWiW,EAAajW,MAA5E,GAGnC,EAEO,EAAAqW,gBAAkB,SAACC,EAA6B/a,GACnD,OAAK+a,EACE/a,EAAQoM,WAAa,EAAA+L,aAAa7V,KAAOyY,EAAcnD,MAAK,SAAA7R,GAAQ,OAAAA,EAAKtB,SAAWzE,EAAQyE,MAAxB,IAAkCmW,EAAgBI,kBAAkBD,EAAe/a,GADnI,IAE/B,EAEe,EAAAgb,kBAAoB,SAACD,EAA6B/a,GAM7D,QALgBA,aAAO,EAAPA,EAASyE,QAEnBsW,EAAcnD,MAAK,SAAA7R,GAAQ,OAAAA,EAAKvB,UAAYxE,EAAQwE,SAAWuB,EAAKG,OAASlG,EAAQkG,IAA1D,IAC3B6U,EAAcnD,MAAK,SAAA7R,GAAQ,OAAAA,EAAKvB,UAAYxE,EAAQwE,SAAWuB,EAAKtB,SAAWzE,EAAQyE,MAA5D,GAGrC,EACJ,C,CAnEA,GAAa,EAAAmW,gBAAAA,E,2tBCLb,cACA,WAGA,WACA,cAEA,aACI,WAAoB7d,EAA8Bke,QAAA,IAAAA,IAAAA,GAAA,GAA9B,KAAAle,gBAAAA,EAA8B,KAAAke,gBAAAA,CAAoC,CAqB1F,OAnBI,YAAA/T,IAAA,SAAIuC,EAAWyR,GAAf,WACI,OAAOzR,EAAKhI,QAAO,SAAAsE,GAAQ,OAAAA,CAAA,IAAMmB,KAAI,SAAAnB,G,4BAAQ,MAAY,CACrDvB,QAA8B,QAArB,EAAAuB,aAAI,EAAJA,EAAMoV,uBAAe,eAAE3W,QAChC0B,KAAMH,aAAI,EAAJA,EAAMG,KACZpG,WAAW,IAAAsb,2BAA0BrV,aAAI,EAAJA,EAAMG,KAAM,QACjDmV,SAA+B,QAArB,EAAAtV,aAAI,EAAJA,EAAMoV,uBAAe,eAAErD,GACjCrT,OAAQsB,aAAI,EAAJA,EAAM+R,GACd1L,SAAU,EAAA+L,aAAa7V,KACvBgZ,SAAU,WAAI,EAAKve,gBAAgBwe,MAAK,cAAK,IAAA/N,uBAAsBzH,EAAKoU,SAExEqB,WAAYN,EAAgB,IAAIO,MAAoC,QAA1B,EAAA1V,aAAI,EAAJA,EAAMK,4BAAoB,eAAE3I,UAAU,aAAMsI,EAAKK,sBAAsBsV,SACjHtV,qBAAsBL,aAAI,EAAJA,EAAMK,qBAC5BuV,WAAsC,QAA1B,EAAoB,QAApB,EAAA5V,aAAI,EAAJA,EAAMQ,sBAAc,eAAEC,YAAI,eAAEC,YACxCwU,gBAAiB,EAAKA,gBACtBW,aAA0C,QAA5B,EAAsB,QAAtB,EAAY,QAAZ,EAAA7V,aAAI,EAAJA,EAAM8V,cAAM,eAAEC,gBAAQ,eAAEtV,YAAI,eAAEC,YAC5CsV,cAA2C,QAA5B,EAAsB,QAAtB,EAAY,QAAZ,EAAAhW,aAAI,EAAJA,EAAM8V,cAAM,eAAEC,gBAAQ,eAAEtV,YAAI,eAAE+L,MAC7CyJ,eAA4B,QAAZ,EAAAjW,aAAI,EAAJA,EAAM8V,cAAM,eAAEG,e,GAEtC,EACJ,EAtBA,GAAa,EAAAC,kBAAAA,E,+oCCPb,eAcMC,GAAQ,IAAAC,YACD,EAAAC,YAAqC,C,EAOrC,EAAA/c,eAA8B,CACzChD,KAAM,CACJC,QAAS,OACTC,WAAY,EACZC,YAAa,EACb6f,SAAU,GACVC,MAAOJ,EAAMK,QAAQC,eAIZ,EAAAC,mBAA4C,CAEvDC,OAAQ,CAAEC,YAAa,GAAIC,aAAc,IACzCC,QAAS,CAAEF,YAAa,GAAIC,aAAc,KAG/B,EAAAE,kBAA2C,CAEtDD,QAAS,CAAEE,WAAY,IACvBC,OAAQ,CACNC,gBAAiB,SAIR,EAAAC,mBAAoB,IAAAC,aAAY,CAC3Cb,MAAOJ,EAAMK,QAAQC,aACrBY,OAAQ,UACRR,aAAc,EACdP,SAAU,KAGC,EAAAgB,iBAAgD,CAC3DhhB,KAAM,CACJihB,OAAQ,UACRC,QAAS,MACTC,gBAAiB,aAEnBC,cAAe,CACbV,WAAY,IAIH,EAAAW,gBAA8C,CACzDrhB,KAAM,CACJggB,SAAU,OACVsB,UAAW,CACT,SAAU,CAAEtB,SAAU,WAKf,EAAAuB,oBAAmC,CAC9CvhB,KAAM,CACJigB,MAAOJ,EAAMK,QAAQsB,eACrB,SAAU,CACRvB,MAAOJ,EAAMK,QAAQsB,eACrBC,eAAgB,aAElBC,SAAU,SAID,EAAAC,2BAAyD,CACpE3hB,KAAM,CACJggB,SAAU,OACVY,gBAAiB,UACjBgB,aAAc,+BACdN,UAAW,CACT,SAAU,CAAEV,gBAAiB,cAKtB,EAAAiB,8BAA4D,CACvE7hB,KAAM,CACJggB,SAAU,OACVY,gBAAiB,UACjBgB,aAAc,+BACdN,UAAW,CACT,SAAU,CAAEV,gBAAiB,cAKtB,EAAAkB,6BAA2D,CACtE9hB,KAAM,CACJ4gB,gBAAiB,UACjBgB,aAAc,+BACdN,UAAW,CACT,SAAU,CAAEV,gBAAiB,cAKtB,EAAAmB,gCAA8D,CACzE/hB,KAAM,CACJ4gB,gBAAiB,UACjBgB,aAAc,+BACdN,UAAW,CACT,SAAU,CAAEV,gBAAiB,cAKtB,EAAAoB,kBAA2B,IAAAlB,aAAY,CAClD7gB,QAAS,OACTgiB,cAAe,MACfC,WAAY,UACZnB,OAAQ,UACRoB,UAAW,OACXC,WAAY,EACZlB,QAAS,EACTD,OAAQ,WACRK,UAAW,CACT,qBAAsB,CACpBV,gBAAiBf,EAAMK,QAAQmC,gBAEjC,0BAA2B,CACzBpC,MAAOJ,EAAMK,QAAQsB,gBAEvB,aAAc,CACZc,cAAc,IAAAC,QAAO1C,GAAS,cAAgB,eAEhD,kBAAmB,CACjBI,MAAOJ,EAAMK,QAAQsC,qBAKd,EAAAC,0BAA2C,CACtDziB,KAAM,CACJ+gB,OAAQ,SAEV2B,YAAa,CACXzC,MAAOJ,EAAMK,QAAQsB,iBAIZ,EAAAmB,+BAAgD,CAC3D3iB,KAAM,CACJ0gB,WAAY,EACZH,aAAc,EACdqC,cAAe,EACftC,YAAa,IAIJ,EAAAuC,eAAsC,CACjDC,YAAa,EACbC,YAAa,SACbC,YAAanD,EAAMK,QAAQC,aAC3B8C,UAAW,cAGA,EAAAC,mBAAoB,IAAAC,gBAAe,CAC9CC,eAAgB,CACdC,SAAU,WACV,IAAK,CACHC,cAAe,QAEjB,SAAU,CACRR,YAAa,EACbC,YAAa,SACbC,YAAanD,EAAMK,QAAQC,aAC3B8C,UAAW,aACXzC,QAAS,MACTvgB,QAAS,QACTqjB,cAAe,OACfD,SAAU,WACVta,IAAK,EACLwa,KAAM,EACNC,OAAQ,EACRC,MAAO,EACPC,OAAQ,QAKD,EAAAC,mBAAoB,IAAAR,gBAAe,CAC9CS,eAAgB,CACdP,SAAU,WACV,IAAK,CACHC,cAAe,QAEjB,SAAU,CACRR,YAAa,EACbC,YAAa,SACbC,YAAanD,EAAMK,QAAQsC,iBAC3BS,UAAW,aACXzC,QAAS,MACTvgB,QAAS,QACTqjB,cAAe,OACfD,SAAU,WACVta,IAAK,EACLwa,KAAM,EACNC,OAAQ,EACRC,MAAO,EACPC,OAAQ,QAKD,EAAAG,oBAA6B,IAAA/C,aAAY,CACpDI,QAAS,EACTlB,SAAU,SAGC,EAAA8D,6BAAsC,IAAAhD,aAAY,CAC7D5gB,WAAY,EACZC,YAAa,EACbuhB,SAAU,KAGC,EAAAqC,0BAAiD,CAC5DC,OAAQ,IAGG,EAAAC,iBAA+C,CAC1DjkB,KAAM,CACJkkB,UAAW,EACXC,aAAc,GAEhBC,QAAS,CACPpE,SAAU,IAEZtW,KAAM,CACJsW,SAAU,GACVqE,WAAY,GACZ/D,YAAa,EACbC,aAAc,GAEhB+D,eAAgB,CACdhD,UAAW,CACT,iEAAkE,CAAEhB,YAAa,EAAGC,aAAc,GAClG,SAAU,CAAEN,MAAO,YAErBK,YAAa,EACbC,aAAc,IAIL,EAAAgE,sBAA+C,CAC1DC,KAAM,CACJC,SAAU,SAEZC,SAAU,CACR,aAAc,CACZrB,SAAU,WACVK,OAAQ,M,imBCzQd,uBAA4BjhB,EAAckiB,GACtC,MAAO,CAAEliB,KAAI,EAAEkiB,QAAO,EAC1B,E,wlBCPa,EAAAC,kBAAoB,CAC7BC,KAAM,CACFC,OAAQ,aACRC,OAAQ,aACRC,YAAa,kBACb/G,UAAW,YACXuB,OAAQ,SACRyF,eAAgB,kBAEpBC,WAAY,CACR3jB,MAAO,kBACP4jB,QAAS,oBACTC,MAAO,mBAEXC,mBAAoB,CAChBC,UAAW,8BACXC,SAAU,8BAEdC,SAAU,CACNL,QAAS,kBACTC,MAAO,iBAEXK,MAAO,CACHC,YAAa,QACbC,SAAU,gBAEdC,KAAM,CACFC,eAAgB,iBAChBC,cAAe,gBACfC,iBAAkB,qB,g8IC7Bb,EAAAC,oBAAsB,sBACtB,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBACxB,EAAAC,wBAA0B,0BAC1B,EAAAC,wBAA0B,0BAC1B,EAAAC,sBAAwB,wBACxB,EAAAC,yBAA2B,2BAC3B,EAAAC,wBAA0B,0BAC1B,EAAAC,oCAAsC,sCACtC,EAAAC,uDAAyD,mDACzD,EAAAC,gBAAkB,kBAClB,EAAAC,eAAiB,iBACjB,EAAAC,eAAiB,iBACjB,EAAAC,YAAc,cACd,EAAAC,UAAY,YACZ,EAAAC,kBAAoB,oBACpB,EAAAC,uBAAyB,yBACzB,EAAAC,cAAgB,gBAChB,EAAAC,SAAW,WACX,EAAAC,kBAAoB,oBACpB,EAAAC,mBAAqB,qBACrB,EAAAC,qBAAuB,uBACvB,EAAAC,mBAAqB,qBACrB,EAAAC,wBAA0B,0BAC1B,EAAAC,iDAAmD,mDACnD,EAAAC,kBAAoB,oBACpB,EAAAC,YAAc,cACd,EAAAC,6BAA+B,+BAC/B,EAAAC,iBAAmB,mBACnB,EAAAC,4BAA8B,8BAC9B,EAAAC,2BAA6B,6BAC7B,EAAAC,mBAAqB,qBACrB,EAAAC,2BAA6B,6BAC7B,EAAAC,wBAA0B,0BAC1B,EAAAC,uBAAyB,yBACzB,EAAAC,cAAgB,gBAChB,EAAAC,eAAiB,iBACjB,EAAAC,cAAgB,gBAChB,EAAAC,YAAc,cACd,EAAAC,yBAA2B,2BAC3B,EAAAC,yBAA2B,2BAC3B,EAAAC,WAAa,aACb,EAAAC,YAAc,cACd,EAAAC,uCAAyC,yCACzC,EAAAC,oBAAsB,sBACtB,EAAAC,qBAAuB,uBACvB,EAAAC,6BAA+B,+BAC/B,EAAAC,sBAAwB,wBACxB,EAAAC,SAAW,WACX,EAAAC,kBAAoB,oBACpB,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBAExB,EAAAC,8BAAgC,gCAEhC,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBACxB,EAAAC,yBAA2B,2BAC3B,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBACxB,EAAAC,yBAA2B,2BAC3B,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBACxB,EAAAC,qBAAuB,uBACvB,EAAAC,qBAAuB,uBACvB,EAAAC,wBAA0B,0BAC1B,EAAAC,qBAAuB,uBACvB,EAAAC,sBAAwB,wBACxB,EAAAC,sBAAwB,wBACxB,EAAAC,yBAA2B,2BAC3B,EAAAC,sBAAwB,wBACxB,EAAAC,wBAA0B,0BAC1B,EAAAC,wBAA0B,0BAC1B,EAAAC,2BAA6B,6BAC7B,EAAAC,wBAA0B,0BAE1B,EAAAC,wBAA0B,0BAC1B,EAAAC,wBAA0B,0BAC1B,EAAAC,2BAA6B,6BAC7B,EAAAC,wBAA0B,0BAC1B,EAAAC,iBAAmB,mBAEnB,EAAAC,uBAAyB,yBAEzB,EAAAC,iBAAmB,mBACnB,EAAAC,mBAAqB,qBACrB,EAAAC,WAAa,aACb,EAAAC,sBAAwB,wBACxB,EAAAC,uBAAyB,yBACzB,EAAAC,qBAAuB,uBACvB,EAAAC,8BAAgC,gCAChC,EAAAC,6BAA+B,+BAC/B,EAAAC,UAAY,YACZ,EAAAC,kBAAoB,oBACpB,EAAAC,YAAc,cACd,EAAAC,qCAAuC,uCACvC,EAAAC,mCAAqC,qCACrC,EAAAC,sBAAwB,wBAExB,EAAAC,iBAAmB,mBACnB,EAAAC,kBAAoB,oBAEpB,EAAAC,gBAAkB,kBAClB,EAAAC,gBAAkB,kBAClB,EAAAC,yBAA2B,2BAC3B,EAAAC,cAAgB,gBAChB,EAAAC,mBAAqB,qBACrB,EAAAC,uBAAyB,yBACzB,EAAAC,gBAAkB,kBAElB,EAAAC,8BAAgC,gCAChC,EAAAC,gCAAkC,kCAClC,EAAAC,uCAAyC,yCACzC,EAAAC,0CAA4C,4CAC5C,EAAAC,6CAA+C,+CAC/C,EAAAC,iCAAmC,mCACnC,EAAAC,iCAAmC,mCACnC,EAAAC,uCAAyC,yCACzC,EAAAC,8BAAgC,gCAChC,EAAAC,kCAAoC,oCACpC,EAAAC,oCAAsC,sCACtC,EAAAC,0CAA4C,4CAC5C,EAAAC,wCAA0C,0CAC1C,EAAAC,yCAA2C,2CAC3C,EAAAC,oDAAsD,sDACtD,EAAAC,oDAAsD,sDACtD,EAAAC,iDAAmD,mDACnD,EAAAC,yCAA2C,2CAC3C,EAAAC,+CAAiD,iDACjD,EAAAC,0CAA4C,4CAC5C,EAAAC,mCAAqC,qCACrC,EAAAC,gDAAkD,kDAClD,EAAAC,2CAA6C,oDAC7C,EAAAC,0DAA4D,4DAC5D,EAAAC,0CAA4C,4CAC5C,EAAAC,gDAAkD,kDAClD,EAAAC,wDAA0D,0DAC1D,EAAAC,2BAA6B,6BAC7B,EAAAC,iCAAmC,mCACnC,EAAAC,gDAAkD,iDAClD,EAAAC,6BAA+B,+BAC/B,EAAAC,sCAAwC,wCACxC,EAAAC,kDAAoD,oDACpD,EAAAC,0CAA4C,4CAC5C,EAAAC,6BAA+B,+B,gkFC7I5C,eAEA,WACA,WAEA,WAEMC,EAA+B,CAAEC,oBAAoB,EAAOhU,UAAW,KAAMiU,cAAe,EAAGC,iBAAkB,IAM1G,EAAAC,aAAe,SAACnU,GACzB,OAAO,IAAAoU,aAAY,EAAA5C,cAAexR,EACtC,EAEa,EAAAqU,oBAAsB,WAC/B,OAAO,IAAAD,aAAY,EAAA1C,uBACvB,EAEa,EAAA4C,kBAAoB,SAACC,GAC9B,OAAO,IAAAH,aAAY,EAAA3C,mBAAoB8C,EAC3C,EAEa,EAAAC,eAAiB,SAACC,GAC3B,OAAO,IAAAL,aAAY,EAAAzC,gBAAiB8C,EACxC,EAEa,EAAAC,eAAiB,WAC1B,OAAO,IAAAN,aAAY,EAAA9C,gBACvB,EAEa,EAAAqD,aAAe,SAAC1V,EAAkB2V,EAAuCC,GAAqG,YAA5I,IAAAD,IAAAA,GAAA,QAAuC,IAAAC,IAAAA,OAAA,GAAqG,SAAOC,EAAUC,GAAQ,0C,+DAClMA,IACH/U,UAAUgU,mBAAjB,YACKY,GAAsBE,GA3BJd,GA2BmC,GA1BvD,IAAAI,aAAY,EAAA7C,yBAA0ByC,KA2BrChU,OAAS,E,iBAGG,O,sBAAA,GADa,IAAI,EAAAgB,iBAAiB/B,GACXa,kB,cAAnCE,EAAY,S,gCAEZ,IAAAG,QAAO,EAAO,+B,aAElB2U,GAAS,IAAAX,cAAanU,IACjB4U,GAAsBE,GAAS,IAAAR,mBAAmC,QAAjB,EAAAtU,aAAS,EAATA,EAAWtZ,cAAM,QAAI,IACvEmuB,GAAmBA,I,2BArCD,IAACb,C,OAwB4J,EAmB3L,4BACI3tB,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACX,KAAK,EAAAwpB,yBACD,OAAO,EAAP,KAAYlrB,GAAK,CAAE2tB,mBAAoBgB,EAAO/K,UAClD,KAAK,EAAAuH,cACD,OAAO,EAAP,KAAYnrB,GAAK,CAAE2Z,UAAWgV,EAAO/K,QAAS+J,oBAAoB,IACtE,KAAK,EAAAtC,uBACD,OAAO,EAAP,KAAYrrB,GAAK,CAAE6tB,kBAAkB,IAAIxP,MAAOuQ,gBACpD,KAAK,EAAAxD,mBACD,OAAO,EAAP,KAAYprB,GAAK,CAAE4tB,cAAee,EAAO/K,UAC7C,KAAK,EAAAqH,gBACD,OAAOyC,EACX,KAAK,EAAApC,gBACD,IAAMuD,EAAe,KAAI7uB,EAAM2Z,WAAS,GAAEtV,QAAO,SAAA+pB,GAAY,OAAAA,EAAStlB,MAAQ6lB,EAAO/K,QAAQ9a,IAAhC,IAC7D,OAAO,EAAP,KAAY9I,GAAK,CAAE2Z,UAAWkV,EAAcjB,cAAe5tB,EAAM4tB,cAAgB,IACrF,QACI,OAAO5tB,EAEnB,E,k5EC5EA,eACA,WACA,WACA,WACA,WAEA,WAEA,WAEA,WAsCM0tB,EAA8C,CAChDoB,oBAAqB,EAAAhU,uBAAuBiU,OAC5CC,kBAAkB,EAClBC,qBAAqB,EACrB5f,YAAa,GACb5O,YAAa,CACTE,MAAO,GACP2O,WAAY,IAEhB4f,cAAc,EACdlrB,UAAW,EAAA6W,4BAA4BsU,KACvCC,aAAc,GACdzhB,eAAgB,GAChB0hB,OAAQ,CACJC,KAAM,KACNC,eAAe,EACfpvB,mBAAoB,GACpBqvB,cAAe,GACf3lB,QAAS,GACT4lB,cAAe,GACfC,oBAAqB,GACrBC,yBAA0B,GAC1BC,mBAAmB,EACnBC,iBAAiB,EACjBC,eAAgB,GAChBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,qBAAsB,KACtBC,gBAAiB,KACjBC,mBAAoB,EACpBC,uBAAwB,GAE5BC,SAAU,CACNC,iBAAkB,GAClBC,mBAAoB,GACpBC,gBAAiB,GACjBC,yBAAqBC,IAIhB,EAAAC,2BAA6B,SAAC7sB,EAAwC8sB,GAC/E,YAD+E,IAAAA,IAAAA,GAAA,IACxE,IAAA/C,aAAY,EAAAxC,8BAA+B,CAAEvnB,UAAS,EAAE8sB,gBAAe,GAClF,EAEa,EAAAC,6BAA+B,SAACD,GACzC,YADyC,IAAAA,IAAAA,GAAA,IAClC,IAAA/C,aAAY,EAAAvC,gCAAiCsF,EACxD,EAEa,EAAAE,kCAAoC,SAAChC,GAC9C,OAAO,IAAAjB,aAAY,EAAAtC,uCAAwCuD,EAC/D,EAEa,EAAAiC,qCAAuC,SAAChC,GACjD,OAAO,IAAAlB,aAAY,EAAArC,0CAA2CuD,EAClE,EAEa,EAAAiC,wCAA0C,WACnD,OAAO,IAAAnD,aAAY,EAAApC,6CACvB,EAEa,EAAAwF,6BAA+B,SAAC9hB,GACzC,OAAO,IAAA0e,aAAY,EAAAnC,iCAAkCvc,EACzD,EAEa,EAAA+hB,6BAA+B,SAAC3wB,GACzC,OAAO,IAAAstB,aAAY,EAAAlC,iCAAkCprB,EACzD,EAEa,EAAA4wB,kCAAoC,SAAChiB,GAC9C,OAAO,IAAA0e,aAAY,EAAAjC,uCAAwCzc,EAC/D,EAEa,EAAAiiB,2BAA6B,WACtC,OAAO,IAAAvD,aAAY,EAAAhC,8BACvB,EAEa,EAAAwF,8BAAgC,SAACnC,GAC1C,OAAO,IAAArB,aAAY,EAAA/B,kCAAmCoD,EAC1D,EAEa,EAAAoC,gCAAkC,SAAC7jB,GAC5C,OAAO,IAAAogB,aAAY,EAAA9B,oCAAqCte,EAC5D,EAEa,EAAA8jB,qCAAuC,WAChD,OAAO,IAAA1D,aAAY,EAAA7B,0CACvB,EAEa,EAAAwF,mCAAqC,SAACC,EAA8BC,EAAyBC,GACtG,OAAO,IAAA9D,aAAY,EAAA5B,wCAAyC,CAAEwF,cAAa,EAAEC,YAAW,EAAEC,UAAS,GACvG,EAEa,EAAAC,oCAAsC,SAACH,EAA8BI,GAC9E,OAAO,IAAAhE,aAAY,EAAA3B,yCAA0C,CAAEuF,cAAa,EAAEI,aAAY,GAC9F,EAEa,EAAAC,6CAA+C,SAACL,EAA8BljB,GACvF,OAAO,IAAAsf,aAAY,EAAA1B,oDAAqD,CAAEsF,cAAa,EAAEljB,WAAU,GACvG,EAEa,EAAAwjB,6CAA+C,SAACN,GACzD,OAAO,IAAA5D,aAAY,EAAAzB,oDAAqD,CAAEqF,cAAa,GAC3F,EAEa,EAAAO,2CAA6C,SAACP,GACvD,OAAO,IAAA5D,aAAY,EAAAxB,iDAAkD,CAAEoF,cAAa,GACxF,EAEa,EAAAQ,qCAAuC,SAAC5C,GACjD,OAAO,IAAAxB,aAAY,EAAAvB,yCAA0C,CAAE+C,cAAa,GAChF,EAEa,EAAA6C,wCAA0C,SAAClV,GACpD,OAAO,IAAA6Q,aAAY,EAAAtB,+CAAgD,CAAEvP,UAAS,GAClF,EAEa,EAAAmV,qCAAuC,SAAC7C,GACjD,OAAO,IAAAzB,aAAY,EAAArB,0CAA2C,CAAE8C,cAAa,GACjF,EAEa,EAAA8C,+BAAiC,SAACzoB,GAC3C,OAAO,IAAAkkB,aAAY,EAAApB,mCAAoC,CAAE9iB,QAAO,GACpE,EAEa,EAAA0oB,2CAA6C,SAAC7C,GACvD,OAAO,IAAA3B,aAAY,EAAAnB,gDAAiD,CAAE8C,oBAAmB,GAC7F,EAEa,EAAA8C,uCAAyC,SAAC3C,GACnD,OAAO,IAAA9B,aAAY,EAAAlB,2CAA4C,CAAEgD,gBAAe,GACpF,EAEa,EAAA4C,mDAAqD,SAACC,EAAuBC,GACtF,OAAO,IAAA5E,aAAY,EAAAjB,0DAA2D,CAAE4F,YAAW,EAAEC,OAAM,GACvG,EAEa,EAAAC,sCAAwC,SAAC9C,GAElD,OADA,EAAA+C,YAAY3rB,IAAI,EAAA4rB,cAAchD,eAAgBA,IACvC,IAAA/B,aAAY,EAAAhB,0CAA2C,CAAE+C,eAAc,GAClF,EAEa,EAAAiD,iDAAmD,SAACC,GAC7D,OAAO,IAAAjF,aAAY,EAAAd,wDAAyD,CAAE+F,YAAW,GAC7F,EAEa,EAAAC,2CAA6C,SAACnD,GACvD,OAAO,IAAA/B,aAAY,EAAAf,gDAAiD,CAAE8C,eAAc,GACxF,EAEa,EAAAoD,wBAA0B,SAAC7D,GACpC,OAAO,IAAAtB,aAAY,EAAAb,2BAA4B,CAAEmC,OAAM,GAC3D,EAEa,EAAA8D,6BAA+B,SAAC9sB,GACzC,OAAO,IAAA0nB,aAAY,EAAAZ,iCAAkC,CAAE9mB,MAAK,GAChE,EAEa,EAAA+sB,0BAA4B,SAAC7C,GACtC,OAAO,IAAAxC,aAAY,EAAAV,6BAA8B,CAAEkD,SAAQ,GAC/D,EAEa,EAAA8C,kCAAoC,SAACC,GAC9C,OAAO,IAAAvF,aAAY,EAAAT,sCAAuC,CAAEgG,SAAQ,GACxE,EAEa,EAAAC,qCAAuC,SAAC/kB,GACjD,OAAO,IAAAuf,aAAY,EAAAP,0CAA2Chf,EAClE,EAEa,EAAAglB,6CAA+C,SAAC7C,GACzD,OAAO,IAAA5C,aAAY,EAAAR,kDAAmD,CAAEoD,oBAAmB,GAC/F,EAEa,EAAA8C,0BAA4B,WACrC,OAAO,IAAA1F,aAAY,EAAAN,6BACvB,EAEa,EAAAiG,gDAAkD,SAACC,GAC5D,OAAO,IAAA5F,aAAY,EAAAX,gDAAiD,CAAEuG,mBAAkB,GAC5F,EAyCA,0CACI3zB,EACA2uB,G,gBAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACX,KAAK,EAAA6pB,8BAID,OAHuC,IAAnCoD,EAAO/K,QAAQkN,kBACf,IAAA8C,sBAAqBjF,EAAO/K,QAAQ5f,WAEjC,EAAP,KAAYhE,GAAK,CAAEgE,UAAW2qB,EAAO/K,QAAQ5f,YACjD,KAAK,EAAAwnB,gCAID,OAHuB,IAAnBmD,EAAO/K,UACP,IAAAgQ,sBAAqB,EAAA/Y,4BAA4BsU,MAE9C,EAAP,KACOzB,GAAY,CACfjtB,YAAaT,EAAMS,YACnByuB,aAAclvB,EAAMkvB,aACpBG,OAAQrvB,EAAMqvB,OACdkB,SAAUvwB,EAAMuwB,WAExB,KAAK,EAAA9E,uCACD,OAAO,EAAP,KAAYzrB,GAAK,CAAEgvB,iBAAkBL,EAAO/K,UAChD,KAAK,EAAA8H,0CACD,OAAO,EAAP,KAAY1rB,GAAK,CAAEivB,oBAAqBN,EAAO/K,UACnD,KAAK,EAAA+H,6CACD,OAAO,EAAP,KAAY3rB,GAAK,CAAEivB,qBAAsBjvB,EAAMivB,sBACnD,KAAK,EAAArD,iCACD,OAAO,EAAP,KAAY5rB,GAAK,CAAEqP,YAAasf,EAAO/K,UAC3C,KAAK,EAAAiI,iCACD,OAAO,EAAP,KAAY7rB,GAAK,CAAES,YAAa,EAAF,KAAOT,EAAMS,aAAW,CAAEE,MAAOguB,EAAO/K,YAC1E,KAAK,EAAAkI,uCACD,OAAO,EAAP,KAAY9rB,GAAK,CAAES,YAAa,EAAF,KAAOT,EAAMS,aAAW,CAAE6O,WAAYqf,EAAO/K,YAC/E,KAAK,EAAAmI,8BACD,OAAO,EAAP,KAAY/rB,GAAK,CAAEkvB,cAAelvB,EAAMkvB,eAC5C,KAAK,EAAAlD,kCACD,OAAO,EAAP,KAAYhsB,GAAK,CAAEovB,aAAcT,EAAO/K,UAC5C,KAAK,EAAAqI,oCACD,OAAO,EAAP,KAAYjsB,GAAK,CAAE2N,eAAgBghB,EAAO/K,UAC9C,KAAK,EAAA4J,0CACD,OAAO,EAAP,KAAYxtB,GAAK,CAAE8uB,oBAAqBH,EAAO/K,UACnD,KAAK,EAAAsI,0CAiBD,OAhBiB,EAAH,KACPlsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAO,EAAP,KACOA,GAAO,CACVqlB,kBAAkB,EAClBplB,WAAY,KACZrL,MAAOoL,EAAQpL,MAAM0G,KAAI,SAAAnB,GACrB,OAAO,EAAP,KACOA,GAAI,CACPkG,UAAU,GAElB,KAER,MAIR,KAAK,EAAAsd,wCA0BD,OAzBiB,EAAH,KACPnsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAIA,EAAQE,YAAYC,gBAAkBggB,EAAO/K,QAAQ+N,cAAcjjB,YAAYC,cACxE,EAAP,KACOH,GAAO,CACVC,WAAY,KACZrL,MAAOoL,EAAQpL,MAAM0G,KAAI,SAAAnB,GACrB,OAAIA,EAAK3D,QAAU2pB,EAAO/K,QAAQgO,YAAY5sB,MACnC,EAAP,KACO2D,GAAI,CACPkG,SAAU8f,EAAO/K,QAAQiO,YAItBlpB,CAEf,MAIG6F,CAEf,MAIR,KAAK,EAAA4d,yCAeD,OAdiB,EAAH,KACPpsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAIA,EAAQE,YAAYC,gBAAkBggB,EAAO/K,QAAQ+N,cAAcjjB,YAAYC,cACxE,EAAP,KACOH,GAAO,CACVpL,MAAO,EAAF,GAAMurB,EAAO/K,QAAQmO,cAAY,KAInCvjB,CAEf,MAIR,KAAK,EAAA6d,oDAeD,OAdiB,EAAH,KACPrsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAIA,EAAQE,YAAYC,gBAAkBggB,EAAO/K,QAAQ+N,cAAcjjB,YAAYC,cACxE,EAAP,KACOH,GAAO,CACVC,WAAYkgB,EAAO/K,QAAQnV,aAIxBD,CAEf,MAIR,KAAK,EAAA8d,oDAgBD,OAfiB,EAAH,KACPtsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAIA,EAAQE,YAAYC,gBAAkBggB,EAAO/K,QAAQ+N,cAAcjjB,YAAYC,cACxE,EAAP,KACOH,GAAO,CACVqlB,kBAAmBlF,EAAO/K,QAAQ+N,cAAckC,mBAI7CrlB,CAGf,MAGR,KAAK,EAAA+d,iDAsBD,OArBiB,EAAH,KACPvsB,GAAK,CACR2N,eAAgB3N,EAAM2N,eAAe7D,KAAI,SAAA0E,GACrC,OAAIA,EAAQE,YAAYC,gBAAkBggB,EAAO/K,QAAQ+N,cAAcjjB,YAAYC,cACxE,EAAP,KACOH,GAAO,CACVslB,YAAanF,EAAO/K,QAAQ+N,cAAcmC,WAC1C1wB,MAAOoL,EAAQpL,MAAM0G,KAAI,SAAAnB,GACrB,OAAO,EAAP,KACOA,GAAI,CACPkG,UAAU,GAElB,MAIGL,CAGf,MAIR,KAAK,EAAAge,yCACD,OAAO,EAAP,KACOxsB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfE,cAAeZ,EAAO/K,QAAQ2L,kBAG1C,KAAK,EAAA9C,+CACD,OAAO,EAAP,KACOzsB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACflvB,mBAAoB,EAAF,GAAMwuB,EAAO/K,QAAQ1G,WAAS,OAG5D,KAAK,EAAAwP,0CACD,OAAO,EAAP,KACO1sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfG,cAAe,EAAF,GAAMb,EAAO/K,QAAQ4L,eAAa,OAG3D,KAAK,EAAA7C,mCACD,OAAO,EAAP,KACO3sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfxlB,QAAS8kB,EAAO/K,QAAQ/Z,YAGpC,KAAK,EAAA+iB,gDACD,OAAO,EAAP,KACO5sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfK,oBAAqBf,EAAO/K,QAAQ8L,wBAGhD,KAAK,EAAA7C,2CACD,OAAO,EAAP,KACO7sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfQ,gBAAiBlB,EAAO/K,QAAQiM,oBAG5C,KAAK,EAAA/C,0DACD,OAAO,EAAP,KACO9sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACf0E,2BAA4B,EAAF,GAAMpF,EAAO/K,QAAQ8O,aAAW,GAC1DlD,cAAexvB,EAAMqvB,OAAOG,cAAc1lB,KAAI,SAAAkqB,GAC1C,GAA0C,IAAtCrF,EAAO/K,QAAQ8O,YAAYryB,OAC3B,OAAO,EAAP,KACO2zB,GAAY,CACfrB,OAAQhE,EAAO/K,QAAQ+O,SAI3B,IAAM9gB,EAAWmiB,EAAaC,SAAS7e,cAActK,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IACnF,OAAI6jB,EAAO/K,QAAQ8O,YAAY9tB,SAASiN,GAC7B,EAAP,KACOmiB,GAAY,CACfrB,OAAQhE,EAAO/K,QAAQ+O,SAGpB,EAAP,GAAYqB,EAGxB,QAGZ,KAAK,EAAAjH,0CACD,OAAO,EAAP,KACO/sB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfS,eAAgB,EAAF,GAAMnB,EAAO/K,QAAQkM,gBAAc,OAG7D,KAAK,EAAA7C,wDACD,OAAO,EAAP,KACOjtB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACf0E,2BAA4B,EAAF,GAAMpF,EAAO/K,QAAQoP,aAAW,OAGtE,KAAK,EAAAhG,gDACD,OAAO,EAAP,KACOhtB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfS,eAAgB,EAAF,KAAM9vB,EAAMqvB,OAAOS,gBAAgB,GAAGnB,EAAO/K,QAAQkM,gBAAc,OAG7F,KAAK,EAAA1C,gDACD,OAAO,EAAP,KACOptB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfiB,wBAA4D,QAAnC,EAAAtwB,EAAMqvB,OAAOiB,8BAAsB,QAAI,GAAK3B,EAAO/K,QAAQ+P,uBAGhG,KAAK,EAAAzG,2BAQD,OAP4C,IAAxCyB,EAAO/K,QAAQyL,OAAOE,eAClBvvB,EAAMqvB,OAAOC,OAAS,EAAA1U,+BAA+BsZ,oBAClDl0B,EAAMqvB,OAAOC,OAAS,EAAA1U,+BAA+BuZ,yBAC5D,EAAAtB,YAAYuB,OAAO,EAAAtB,cAAcuB,uBACjC,EAAAxB,YAAYuB,OAAO,EAAAtB,cAAcwB,0BAG9B,EAAP,KACOt0B,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfC,KAAoCsB,MAA9BjC,EAAO/K,QAAQyL,OAAOC,KAAoBX,EAAO/K,QAAQyL,OAAOC,KAAOtvB,EAAMqvB,OAAOC,KAC1FC,cAAsDqB,MAAvCjC,EAAO/K,QAAQyL,OAAOE,cAA6BZ,EAAO/K,QAAQyL,OAAOE,cAAgBvvB,EAAMqvB,OAAOE,cACrHpvB,mBAAoBwuB,EAAO/K,QAAQyL,OAAOlvB,mBAAqB,EAAD,GAAKwuB,EAAO/K,QAAQyL,OAAOlvB,oBAAkB,GAAI,EAAD,GAAKH,EAAMqvB,OAAOlvB,oBAAkB,GAClJqvB,cAAeb,EAAO/K,QAAQyL,OAAOG,cAAgB,EAAD,GAAKb,EAAO/K,QAAQyL,OAAOG,eAAa,GAAI,EAAD,GAAKxvB,EAAMqvB,OAAOG,eAAa,GAC9H3lB,QAAS8kB,EAAO/K,QAAQyL,OAAOxlB,QAAU8kB,EAAO/K,QAAQyL,OAAOxlB,QAAU7J,EAAMqvB,OAAOxlB,QACtF4lB,cAAed,EAAO/K,QAAQyL,OAAOI,cAAgBd,EAAO/K,QAAQyL,OAAOI,cAAgBzvB,EAAMqvB,OAAOI,cACxGC,oBAAqBf,EAAO/K,QAAQyL,OAAOK,oBAAsBf,EAAO/K,QAAQyL,OAAOK,oBAAsB1vB,EAAMqvB,OAAOK,oBAC1HC,yBAA0BhB,EAAO/K,QAAQyL,OAAOM,yBAA2BhB,EAAO/K,QAAQyL,OAAOM,yBAA2B3vB,EAAMqvB,OAAOM,yBACzIC,kBAA8DgB,MAA3CjC,EAAO/K,QAAQyL,OAAOO,kBAAiCjB,EAAO/K,QAAQyL,OAAOO,kBAAoB5vB,EAAMqvB,OAAOO,kBACjIC,gBAA0De,MAAzCjC,EAAO/K,QAAQyL,OAAOQ,gBAA+BlB,EAAO/K,QAAQyL,OAAOQ,gBAAkB7vB,EAAMqvB,OAAOQ,gBAC3HE,eAAwDa,MAAxCjC,EAAO/K,QAAQyL,OAAOU,eAA8BpB,EAAO/K,QAAQyL,OAAOU,eAAiB/vB,EAAMqvB,OAAOU,eACxHC,gBAA0DY,MAAzCjC,EAAO/K,QAAQyL,OAAOW,gBAA+BrB,EAAO/K,QAAQyL,OAAOW,gBAAkBhwB,EAAMqvB,OAAOW,gBAC3HC,iBAA4DW,MAA1CjC,EAAO/K,QAAQyL,OAAOY,iBAAgCtB,EAAO/K,QAAQyL,OAAOY,iBAAmBjwB,EAAMqvB,OAAOY,iBAC9HC,gBAA0DU,MAAzCjC,EAAO/K,QAAQyL,OAAOa,gBAA+BvB,EAAO/K,QAAQyL,OAAOa,gBAAkBlwB,EAAMqvB,OAAOa,gBAC3HC,qBAAsBxB,EAAO/K,QAAQyL,OAAOc,qBAAuBxB,EAAO/K,QAAQyL,OAAOc,qBAAuBnwB,EAAMqvB,OAAOc,qBAC7HC,gBAAiBzB,EAAO/K,QAAQyL,OAAOe,gBAAkBzB,EAAO/K,QAAQyL,OAAOe,gBAAkBpwB,EAAMqvB,OAAOe,gBAC9GE,uBAAwEM,MAAhDjC,EAAO/K,QAAQyL,OAAOiB,uBAAsC3B,EAAO/K,QAAQyL,OAAOiB,uBAAyBtwB,EAAMqvB,OAAOiB,uBAChJD,mBAAgEO,MAA5CjC,EAAO/K,QAAQyL,OAAOgB,mBAAkC1B,EAAO/K,QAAQyL,OAAOgB,mBAAqBrwB,EAAMqvB,OAAOgB,mBACpIhqB,MAAsCuqB,MAA/BjC,EAAO/K,QAAQyL,OAAOhpB,MAAqBsoB,EAAO/K,QAAQyL,OAAOhpB,MAAQrG,EAAMqvB,OAAOhpB,MAC7FypB,eAAwDc,MAAxCjC,EAAO/K,QAAQyL,OAAOS,eAA8B,EAAD,GAAKnB,EAAO/K,QAAQyL,OAAOS,gBAAc,GAAI9vB,EAAMqvB,OAAOS,eAC7HiE,2BAAgFnD,MAApDjC,EAAO/K,QAAQyL,OAAO0E,2BAA0C,EAAD,GAAKpF,EAAO/K,QAAQyL,OAAO0E,4BAA0B,GAAI/zB,EAAMqvB,OAAO0E,+BAG7K,KAAK,EAAA5G,iCACD,OAAO,EAAP,KACOntB,GAAK,CACRqvB,OAAQ,EAAF,KACCrvB,EAAMqvB,QAAM,CACfhpB,MAAOsoB,EAAO/K,QAAQvd,UAGlC,KAAK,EAAAgnB,6BACD,OAAO,EAAP,KACOrtB,GAAK,CACRuwB,SAAU,EAAF,KACDvwB,EAAMuwB,UAAQ,CACjBC,iBAAkB7B,EAAO/K,QAAQ2M,SAASC,iBAC1CC,mBAAoB9B,EAAO/K,QAAQ2M,SAASE,mBAC5CC,gBAAiB/B,EAAO/K,QAAQ2M,SAASG,oBAGrD,KAAK,EAAApD,sCACD,OAAO,EAAP,KACOttB,GAAK,CACRuwB,SAAU,EAAF,KACDvwB,EAAMuwB,UAAQ,CACjB+C,SAAU,CACNiB,QAA+B,QAAvB,EAAA5F,EAAO/K,QAAQ0P,gBAAQ,eAAEiB,QAAS5F,EAAO/K,QAAQ0P,SAASiB,OAAS,GAC3EjuB,QAA+B,QAAvB,EAAAqoB,EAAO/K,QAAQ0P,gBAAQ,eAAEhtB,QAASqoB,EAAO/K,QAAQ0P,SAAShtB,YAASsqB,EAC3E4D,SAAgC,QAAvB,EAAA7F,EAAO/K,QAAQ0P,gBAAQ,eAAEkB,SAAU7F,EAAO/K,QAAQ0P,SAASkB,QAAU,GAC9EC,MAA6B,QAAvB,EAAA9F,EAAO/K,QAAQ0P,gBAAQ,eAAEmB,MAAO9F,EAAO/K,QAAQ0P,SAASmB,KAAO,QAIrF,KAAK,EAAAlH,kDACD,OAAO,EAAP,KACOvtB,GAAK,CACRuwB,SAAU,EAAF,KACDvwB,EAAMuwB,UAAQ,CACjBI,qBAAuD,QAAlC,EAAAhC,EAAO/K,QAAQ+M,2BAAmB,eAAEtwB,QAAS,EAAI,EAAD,GAAKsuB,EAAO/K,QAAQ+M,qBAAmB,GAAI,OAG5H,KAAK,EAAAlD,6BACD,OAAO,EAAP,KACOztB,GAAK,CACRqvB,OAAQ,EAAF,GAAO3B,EAAa2B,UAElC,QACI,OAAOrvB,EAEnB,EAEa,EAAA4zB,qBAAuB,SAAClzB,EAAsDoK,GACvF,QADuF,IAAAA,IAAAA,GAAA,GAC5E,OAAP4pB,cAAO,IAAPA,aAAO,EAAPA,QAASC,UACT,IACI,IAAMC,EAAWjqB,OAAOkqB,SAAStjB,KAC5BujB,MAAM,KAAK,GACXA,MAAM,KAAK,GAEZC,OAAY,EAChB,OAAQr0B,GACJ,KAAK,EAAAma,4BAA4BsU,KAC7B4F,EAAe,OACf,MACJ,KAAK,EAAAla,4BAA4Bma,WAC7BD,EAAe,aACf,MACJ,KAAK,EAAAla,4BAA4Boa,MAC7BF,EAAe,QACf,MACJ,KAAK,EAAAla,4BAA4Bqa,SAC7BH,EAAe,WACf,MACJ,QACIA,EAAe,OAGlBjqB,EAID4pB,QAAQS,aAAaz0B,EAAyB,GAAIk0B,EAAW,IAAMG,GAHnEL,QAAQC,UAAUj0B,EAAyB,GAAIk0B,EAAW,IAAMG,GAKpEK,SAASpwB,MAAQ+vB,EAAe,aACpC,CAAE,MAAO1uB,IACL,IAAAyT,QAAOzT,EAAO,oDAClB,CAER,E,s5BCppBA,eAEA,WAEMqnB,EAA6C,CAAE2H,SAAS,EAAM9wB,iBAAiB,GAExE,EAAA+wB,iBAAmB,SAACC,GAC/B,OAAO,IAAAxH,aAAY,EAAAnG,uCAAwC2N,EAC7D,EAIA,0CACEv1B,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,OACR,EAAAkmB,uCACI,EAAP,GAAY+G,EAAO/K,SAEZ5jB,CAEb,E,44BCtBA,eAEA,WAEM0tB,EAAgC,CAAE8H,OAAQ,CAAC,EAAGC,aAAa,GAEpD,EAAAC,oBAAsB,SAACF,EAAaC,EAAuBE,GACpE,OAAO,IAAA5H,aAAY,EAAAnI,eAAgB,CAAE4P,OAAM,EAAEC,YAAW,EAAEE,SAAQ,GACtE,EAIA,6BACI31B,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,OACN,EAAAkkB,eACM,EAAP,KAAY5lB,GAAK,CAAEw1B,OAAQ7G,EAAO/K,QAAQ4R,OAAQC,aAA4C,IAA/B9G,EAAO/K,QAAQ6R,YAAsBE,SAAUhH,EAAO/K,QAAQ+R,WAEtH31B,CAEnB,E,+2BCtBA,eACA,WAEA,UAEM0tB,IAAY,MACb,EAAA7J,kBAAkBC,KAAKC,SAAS,EACjC,EAAC,EAAAF,kBAAkBC,KAAKE,SAAS,EACjC,EAAC,EAAAH,kBAAkBC,KAAK5G,YAAY,EACpC,EAAC,EAAA2G,kBAAkBC,KAAKrF,SAAS,EACjC,EAAC,EAAAoF,kBAAkBC,KAAKI,iBAAiB,EACzC,EAAC,EAAAL,kBAAkBa,MAAMC,cAAc,EACvC,EAAC,EAAAd,kBAAkBa,MAAME,WAAW,EACpC,EAAC,EAAAf,kBAAkBM,WAAW3jB,QAAQ,EACtC,EAAC,EAAAqjB,kBAAkBM,WAAWC,UAAU,EACxC,EAAC,EAAAP,kBAAkBM,WAAWE,QAAQ,EACtC,EAAC,EAAAR,kBAAkBS,mBAAmBC,YAAY,EAClD,EAAC,EAAAV,kBAAkBS,mBAAmBE,WAAW,EACjD,EAAC,EAAAX,kBAAkBgB,KAAKC,iBAAiB,EACzC,EAAC,EAAAjB,kBAAkBgB,KAAKE,gBAAgB,EACxC,EAAC,EAAAlB,kBAAkBgB,KAAKG,mBAAmB,E,GAGlC,EAAA4Q,gBAAkB,SAACC,GAC5B,OAAO,IAAA9H,aAAY,EAAA7F,kBAAmB2N,EAC1C,EAIA,4BACI71B,EACA2uB,G,MAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,OACN,EAAAwmB,kBACM,EAAP,KAAYloB,KAAK,MAAG2uB,EAAO/K,QAAQkS,UAAWnH,EAAO/K,QAAQmS,OAAM,IAE5D/1B,CAEnB,E,o1CCvCA,eACA,WAiBA,WACA,WAEM0tB,EAA0B,CAAErJ,MAAO,GAAI2R,cAAc,EAAMC,gBAAgB,EAAMC,wBAAyB,EAAAlb,sBAAsBmb,YAAaC,QAAS,CAAE5G,cAAe,GAAI6G,cAAc,EAAOC,WAAW,IAEpM,EAAAC,SAAW,SAAClS,GACvB,OAAO,IAAA0J,aAAY,EAAAhI,UAAW1B,EAChC,EAEa,EAAAmS,QAAU,SAACtxB,GACtB,OAAO,IAAA6oB,aAAY,EAAA5H,SAAUjhB,EAC/B,EAEa,EAAAuxB,gBAAkB,SAACpqB,GAC9B,OAAO,IAAA0hB,aAAY,EAAA/H,kBAAmB3Z,EACxC,EAEa,EAAAqqB,qBAAuB,SAACJ,GACnC,OAAO,IAAAvI,aAAY,EAAA9H,uBAAwBqQ,EAC7C,EAEa,EAAAK,aAAe,WAC1B,OAAO,IAAA5I,aAAY,EAAA7H,cACrB,EAEa,EAAA0Q,gBAAkB,SAAC1xB,GAC9B,OAAO,IAAA6oB,aAAY,EAAA3H,kBAAmBlhB,EACxC,EAEa,EAAA2xB,iBAAmB,SAACxS,GAC/B,OAAO,IAAA0J,aAAY,EAAA1H,mBAAoBhC,EACzC,EAEa,EAAAyS,WAAa,SAACzS,GACzB,OAAO,IAAA0J,aAAY,EAAAjI,YAAazB,EAClC,EAEa,EAAA0S,qBAAuB,SAACC,GACnC,OAAO,IAAAjJ,aAAY,EAAAvH,wBAAyBwQ,EAC9C,EAEa,EAAAC,gBAAkB,SAAChB,GAC9B,OAAO,IAAAlI,aAAY,EAAAxH,mBAAoB0P,EACzC,EAEa,EAAAiB,mCAAqC,SAACC,GACjD,OAAO,IAAApJ,aAAY,EAAAtH,iDAAkD0Q,EACvE,EAEa,EAAAC,wCAA0C,SAAC/S,GACtD,GAAIA,EAAM9gB,MAAK,SAAAoF,GAAQ,OAAAA,EAAK0uB,WAAL,IAAmB,CACxC,IAAMC,EAAgCjT,EAAMva,KAAI,SAAAnB,GAAQ,cAAMA,GAAI,CAAE0uB,aAAa,EAAOE,oBAAqB,MAArD,IACxD,OAAO,IAAAxJ,aAAY,EAAAjI,YAAawR,EAClC,CAEA,OAAO,IAAAvJ,aAAY,EAAAjI,YAAazB,EAClC,EAEa,EAAAmT,0BAA4B,SAACC,GACxC,OAAO,IAAA1J,aAAY,EAAAnH,6BAA8B6Q,EACnD,EAEa,EAAAC,eAAiB,SAACC,GAC7B,OAAO,IAAA5J,aAAY,EAAAlH,iBAAkB8Q,EACvC,EAkBA,uBAA4B33B,EAAsB2uB,GAChD,YAD0B,IAAA3uB,IAAAA,EAAA,GAClB2uB,EAAOjtB,MACb,KAAK,EAAAqkB,UACH,OAAO,EAAP,KACK/lB,GAAK,CACRqkB,MAAOuT,EAAajJ,EAAO/K,WAE/B,KAAK,EAAAuC,SACH,OAAO,EAAP,KACKnmB,GAAK,CACRqkB,MAAOrkB,EAAMqkB,MAAMva,KACjB,SAAC5E,GAAS,OAAAA,EAAKwV,KAAOiU,EAAO/K,QAAQlJ,GAAK,EAAD,KAAMiU,EAAO/K,SAAO,CAAEiU,aAAc,EAAAC,yBAAyBv0B,MAAK,SAAAw0B,GAAO,OAAAA,IAAQ7yB,EAAKxC,SAAb,MAA4B,EAAD,GAAMwC,EAAzI,MAGhB,KAAK,EAAA8gB,kBACH,OAAO,EAAP,KACKhmB,GAAK,CACRo2B,QAAS,EAAF,KACFp2B,EAAMo2B,SAAO,CAChB5G,cAAeb,EAAO/K,QAAQ4L,cAAc1lB,KAAI,SAAA5E,GAC9C,OAAO,EAAP,GACKA,EAEP,IACAmxB,aAAc1H,EAAO/K,QAAQyS,iBAGnC,KAAK,EAAApQ,uBACH,OAAO,EAAP,KACKjmB,GAAK,CACRo2B,QAAS,EAAF,KACFp2B,EAAMo2B,SAAO,CAChBE,UAAW3H,EAAO/K,YAGxB,KAAK,EAAAsC,cACH,OAAO,EAAP,KACKlmB,GAAK,CACRo2B,QAAS,CACP5G,cAAe,GACf6G,cAAc,EACdC,WAAW,KAGjB,KAAK,EAAAlQ,kBACH,OAAO,EAAP,KAAYpmB,GAAK,CAAEqkB,MAAO,EAAF,KAAMrkB,EAAMqkB,OAAO,GAAF,CAAEsK,EAAO/K,UAAO,KAC3D,KAAK,EAAAyC,mBACH,OAAO,EAAP,KAAYrmB,GAAK,CAAEqkB,MAAOrkB,EAAMqkB,MAAMxK,OAAO8U,EAAO/K,WACtD,KAAK,EAAAkC,YACH,OAAO,EAAP,KACK9lB,GAAK,CACRqkB,MAAOuT,EAAajJ,EAAO/K,SAC3BoS,cAAc,EACdE,wBAAyB,EAAAlb,sBAAsBmb,YAC/CF,eAAgBtH,EAAO/K,QAAQrgB,MAAK,SAAAoF,GAAQ,OAAAA,EAAK0uB,WAAL,KAAqBr3B,EAAMi2B,iBAE3E,KAAK,EAAAzP,wBACH,OAAO,EAAP,KAAYxmB,GAAK,CAAEg2B,aAAcrH,EAAO/K,UAE1C,KAAK,EAAA2C,mBACH,OAAO,EAAP,KAAYvmB,GAAK,CAAEi2B,eAAgBtH,EAAO/K,UAE5C,KAAK,EAAA6C,iDACH,OAAO,EAAP,KAAYzmB,GAAK,CAAEg2B,cAAc,EAAME,wBAAyBvH,EAAO/K,UAEzE,KAAK,EAAAgD,6BACH,OAAO,EAAP,KACK5mB,GAAK,CACRqkB,MAAOrkB,EAAMqkB,MAAMhgB,QAAO,SAAAsE,GAAQ,OAACgmB,EAAO/K,QAAQrgB,MAAK,SAAAy0B,GAAgB,OAACrvB,EAAKqvB,aAAe,IAAMrvB,EAAKjG,WAAcs1B,CAA9C,GAArC,MAEtC,KAAK,EAAAnR,iBACH,OAAO,EAAP,KACK7mB,GAAK,CACRqkB,MAAOrkB,EAAMqkB,MAAMva,KAAI,SAACnB,GACtB,OAAOsvB,EAAmBtvB,EAAMgmB,EAAO/K,QAAQ9a,KAAM,OAAQ6lB,EAAO/K,QAAQlJ,GAAI/R,EAAK+R,GACvF,MAEJ,QACE,OAAO1a,EAEb,EAEA,IAAM43B,EAAe,SAACvT,GACpB,OAAOA,EAAMva,KAAI,SAAC5E,EAAMyW,GAAU,cAC7BzW,GAAI,CACPyW,MAAK,EACLkc,aAAc,EAAAC,yBAAyBv0B,MAAK,SAAAw0B,GAAO,OAAAA,IAAQ7yB,EAAKxC,SAAb,KAHnB,GAKpC,EAEMu1B,EAAqB,SACzBtvB,EACAhI,EACAu3B,EACAC,EACAC,G,MAEA,OAAOA,IAAcD,EAAaxvB,EAAO,EAAD,KAAMA,KAAI,MAAGuvB,GAAev3B,EAAK,GAC3E,G,2mBCtMA,eAEA,WAGM+sB,EAA0B,CAAE4B,KAFlC,SAEwC+I,SAASC,aAEpC,EAAAC,QAAU,SAACjJ,GACtB,OAAO,IAAAvB,aAAY,EAAA9F,SAAUqH,EAC/B,EAIA,uBAA4BtvB,EAAsB2uB,GAChD,YAD0B,IAAA3uB,IAAAA,EAAA,GAClB2uB,EAAOjtB,OACR,EAAAumB,SACI,CAAEqH,KAAMX,EAAO/K,SAEf5jB,CAEb,E,2pBClBA,eACA,WAEM0tB,EAA8B,CAAE8K,qBAAsB,IAE/C,EAAAC,wBAA0B,SAACD,GACpC,OAAO,IAAAzK,aAAY,EAAApD,qCAAsC6N,EAC7D,EAEa,EAAAE,0BAA4B,WACrC,OAAO,IAAA3K,aAAY,EAAAnD,mCACvB,EAIA,2BACI5qB,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACX,KAAK,EAAAipB,qCACD,MAAO,CAAE6N,qBAAsB7J,EAAO/K,SAC1C,KAAK,EAAAgH,mCACD,MAAO,CAAE4N,qBAAsB,IACnC,QACI,OAAOx4B,EAEnB,E,6qFCzBA,eAEA,WAKA,UACA,WACA,WACA,WACA,WAEM0tB,EAA6B,CACjCiL,sBAAsB,EACtBC,YAAa,MAQF,EAAAC,eAAiB,SAACD,GAC7B,OAAO,IAAA7K,aAAY,EAAAxF,sBAAuBqQ,EAC5C,EAEa,EAAAE,iBAAmB,WAC9B,OAAO,IAAA/K,aAAY,EAAApE,wBACrB,EAEa,EAAAoP,eAAiB,SAACC,GAAwF,gBAAOvK,EAAUC,GAAQ,0C,kEAC9I,GAAqB,QAAjB,EAAAA,IAAW3K,cAAM,eAAE4U,qBACrB,MAAO,CAAP,GAAQ,GAGVlK,GAjB+BkK,GAiBE,GAhB1B,IAAA5K,aAAY,EAAArF,sBAAuBiQ,K,iBAmBL,O,sBAAA,IAAM,IAAAM,4BAA2BD,I,YAAhEE,EAA+B,UAC/B,YACEC,GAAoB,EACxB,KACQC,EAAqBC,EAASC,qBAAqBJ,IAEvDN,EAAcW,KAAKC,MAAMJ,GAGzBD,GAAW,CAEf,CAAE,MAAO9yB,GACP8yB,GAAW,CACb,C,OACIA,EAEY,IAAM,IAAAM,sBAAqBT,IAFvC,M,OAEFJ,EAAc,S,uDAIlB,IAAA9e,QAAO,EAAO,mCACd8e,EAAc,K,aAMhB,OAJIA,aAAW,EAAXA,EAAav4B,QAAS,KACxBu4B,EAAcA,EAAYc,MAAM,EAAG,KAErCjL,GAAS,IAAAoK,gBAAeD,QAAAA,EAAe,KAChC,CAAP,EAAOA,EAAcA,EAAYv4B,OAAS,GA/CZ,IAACs4B,C,OAYsF,EAsC1G,EAAAgB,cAAgB,SAACX,EAAmBY,GAAiF,gBAAOnL,EAAUC,GAAQ,0C,yCACzJ,GAAIkL,EAAW,CACTC,OAAkB,EACtB,IACQ,EAA+B,CAACD,GAChCE,GAAmE,QAA9B,EAAiB,QAAjB,EAAApL,IAAW3K,cAAM,eAAE6U,mBAAW,QAAI,IAAIv0B,QAAO,SAAA01B,GAAsB,OAAC,EAAAvc,gBAAgBH,WAAW0c,EAAoB,EAAhD,IAE9GF,EAAqBC,EACjB,EAAejgB,OAAOigB,GACtB,GAEJ,IAAAE,mBAAkBhB,EAAWa,EAC/B,CAAE,MAAOI,IACP,IAAAngB,QAAOmgB,EAAG,kCACZ,CACAxL,GAAS,IAAAoK,gBAAegB,GAC1B,C,gBAhBgI,EAmBrH,EAAAK,kBAAoB,SAAClB,EAAmBJ,GAAqF,gBAAOnK,GAAQ,0C,2BACvJ,GAAImK,EAAa,CACf,KACE,IAAAoB,mBAAkBhB,EAAWJ,EAC/B,CAAE,MAAOqB,IACP,IAAAngB,QAAOmgB,EAAG,qCACZ,CACAxL,GAAS,IAAAoK,gBAAeD,GAC1B,C,gBARwI,EAW7H,EAAAuB,iBAAmB,SAACnB,EAAmBrwB,EAA2CqG,GAAkF,gBAAOyf,EAAUC,GAAQ,0C,qCAClM0L,EAAgE,QAA7B,EAAA1L,IAAW3K,OAAO6U,mBAAW,QAAI,GAE1E,IAEIyB,EADErrB,IAAa,EAAA+L,aAAanZ,OACZ+G,EAAKtB,OAEjB+yB,EAAmB/1B,QAAO,SAAAb,GAAK,OAAAA,EAAE6D,SAAWsB,EAAKtB,MAAlB,IAD/B+yB,EAAmB/1B,QAAO,SAAAb,GAAK,OAAAA,EAAE4D,UAAYuB,EAAKvB,SAAW5D,EAAE6D,QAAUsB,EAAKtB,MAA/C,IAIpB+yB,EAAmB/1B,QAAO,SAAAb,GAAK,OAAAA,EAAE6D,SAAWsB,EAAKtB,MAAlB,KAGhD,IAAA2yB,mBAAkBhB,EAAWqB,EAC/B,CAAE,MAAOJ,IACP,IAAAngB,QAAOmgB,EAAG,qCACZ,C,OAEAxL,GAAS,IAAAoK,gBAAewB,I,UAlBuJ,EAqBpK,EAAAC,iBAAmB,SAACtB,EAAmBuB,GAAmF,gBAAO9L,EAAUC,GAAQ,0C,uCAE9J,GADMoL,EAAiE,QAA7B,EAAApL,IAAW3K,OAAO6U,mBAAW,QAAI,GACvE2B,EAAkB,GAAKT,EAAoBz5B,OAAS,EACtD,IACQg6B,EAAY,KAAqBP,GAAmB,GAC1D,EAAqE,CAACO,EAAaE,EAAkB,GAAIF,EAAaE,IAArHF,EAAaE,GAAgB,KAAEF,EAAaE,EAAkB,GAAE,KACjE9L,GAAS,IAAAyL,mBAAkBlB,EAAWqB,GACxC,CAAE,MAAOJ,IACP,IAAAngB,QAAOmgB,EAAG,oCACZ,C,gBATmI,EAa1H,EAAAO,mBAAqB,SAACxB,EAAmBuB,GAAmF,gBAAO9L,EAAUC,GAAQ,0C,uCAEhK,GADMoL,EAAiE,QAA7B,EAAApL,IAAW3K,OAAO6U,mBAAW,QAAI,GACvE2B,EAAkBT,EAAoBz5B,OAAS,GAAKy5B,EAAoBz5B,OAAS,EACnF,IACQg6B,EAAY,KAAqBP,GAAmB,GAC1D,EAAqE,CAACO,EAAaE,EAAkB,GAAIF,EAAaE,IAArHF,EAAaE,GAAgB,KAAEF,EAAaE,EAAkB,GAAE,KACjE9L,GAAS,IAAAyL,mBAAkBlB,EAAWqB,GACxC,CAAE,MAAOJ,IACP,IAAAngB,QAAOmgB,EAAG,sCACZ,C,gBATqI,EAc5H,EAAAQ,qBAAuB,SAACrzB,EAAiBC,EAAgBuxB,GACpE,IAAI8B,GAAuB,EAC3B,GAAI9B,GAAeA,EAAYv4B,OAAS,EACtC,IACEq6B,EAAerzB,EAEXuxB,EAAY+B,WAAU,SAAAhyB,GAAQ,OAAAA,EAAKqG,UAAY,EAAA+L,aAAanZ,QAAU+G,EAAKtB,QAAUsB,EAAKtB,SAAWA,CAAvE,IAD9BuxB,EAAY+B,WAAU,SAAAhyB,GAAQ,OAAAA,EAAKqG,UAAY,EAAA+L,aAAanZ,QAAU+G,EAAKvB,SAAWuB,EAAKvB,UAAYA,IAAYuB,EAAKtB,MAA1F,GAEpC,CAAE,MAAO4yB,IACP,IAAAngB,QAAOmgB,EAAG,wCACZ,CAEF,OAAOS,CACT,EAEa,EAAAE,eAAiB,SAACxzB,EAAiBC,EAAgBuxB,GAC9D,OAAO,IAAA6B,sBAAqBrzB,EAASC,EAAQuxB,IAAgB,CAC/D,EAEa,EAAAiC,mBAAqB,SAACxzB,EAAgBuxB,GACjD,IAAI8B,GAAuB,EAC3B,GAAI9B,GAAeA,EAAYv4B,OAAS,EACtC,IACEq6B,EAAc9B,EAAY+B,WAAU,SAAAhyB,GAAQ,OAAAA,EAAKqG,UAAY,EAAA+L,aAAa7V,MAAQyD,EAAKtB,QAAUsB,EAAKtB,SAAWA,CAArE,GAC9C,CAAE,MAAO4yB,IACP,IAAAngB,QAAOmgB,EAAG,sCACZ,CAEF,OAAOS,CACT,EAEa,EAAAI,aAAe,SAACzzB,EAAgBuxB,GAC3C,OAAO,IAAAiC,oBAAmBxzB,EAAQuxB,IAAgB,CACpD,EAqBA,yBAA8B54B,EAAsB2uB,GAClD,YAD4B,IAAA3uB,IAAAA,EAAA,GACpB2uB,EAAOjtB,MACb,KAAK,EAAAgnB,sBACH,OAAO,EAAP,KAAY1oB,GAAK,CAAE24B,qBAAsBhK,EAAO/K,UAClD,KAAK,EAAA2E,sBACH,MAAO,CAAEoQ,sBAAsB,EAAOC,YAAajK,EAAO/K,SAC5D,KAAK,EAAA+F,wBACH,OAAO+D,EACT,QACE,OAAO1tB,EAEb,E,2nFCnNA,eAEA,WACA,WAKA,UACA,WACA,WACA,WACA,cACA,WACA,WACA,WAEM0tB,EAA6B,CACjCqN,sBAAsB,EACtBC,YAAa,MAOF,EAAAC,eAAiB,SAACD,GAC7B,OAAO,IAAAjN,aAAY,EAAAzF,sBAAuB0S,EAC5C,EAEa,EAAAE,iBAAmB,WAC9B,OAAO,IAAAnN,aAAY,EAAArE,wBACrB,EAEa,EAAAyR,eAAiB,SAACnC,EAAmBr5B,GAA2F,gBAAO8uB,EAAUC,GAAQ,0C,sEACpK,OAAqB,QAAjB,EAAAA,IAAW1K,cAAM,eAAE+W,sBACd,CAAP,GAAQ,IAGVtM,GAjB+BsM,GAiBE,GAhB1B,IAAAhN,aAAY,EAAAnF,sBAAuBmS,KAkBpCK,EAAsB,qD,gEAGW,O,sBAAA,IAAM,IAAAC,4BAA2BrC,I,YAAhEsC,EAA+B,UAC/B,YACEnC,GAAoB,EACxB,KACQoC,EAAmBlC,EAASC,qBAAqBgC,IAErDE,EAAmBjC,KAAKC,MAAM+B,GAE9BpC,GAAW,CAEf,CAAE,MAAO9yB,GAEP8yB,GAAW,CACb,C,IACIA,EAAA,Y,iBAEmB,O,sBAAA,IAAM,IAAAsC,sBAAqBzC,I,cAA9CwC,EAAmB,S,6BAEnBA,EAAmB,K,oBAKrBA,GAAoB7xB,MAAMC,QAAQ4xB,KACpCA,EAAmBA,EAChB1xB,KAAgB,SAAA4xB,GACf,OAAO,EAAP,KACKA,GAAU,CACbtd,WAAYsd,EAAWtd,aAAc,aAAMsd,EAAWtd,YAAYE,UAEtE,IACC1O,MAAK,SAAC+rB,EAAGC,GAAM,OAAAD,aAAC,EAADA,EAAGvd,cAAcwd,aAAC,EAADA,EAAGxd,cAAeud,EAAEvd,YAAcwd,EAAExd,WAAa,GAAK,CAAvE,IACfsb,MAAM,EAAG,K,gCAGd,IAAA5f,QAAO,EAAO,wC,aAEhB,MAAO,CAAP,EAAO0hB,G,QAMyB,GAAMK,EAAQC,IAAI,CAACV,KAAuB,IAAA7yB,iBAAe,O,OAA3F,EAAkC,SAAjCyyB,EAAW,KAAEe,EAAgB,KAG9B,IACMA,IACIC,EAAwB,IAAI,EAAAnd,kBAAkBlf,GAAiB,GAAMmK,IAAIiyB,GAC/EE,EAAyBjB,EAAc,EAAAzf,gBAAgBN,iBAAiB+gB,EAAuBhB,EAAYlxB,KAAI,SAAAtG,GAAK,OAAAA,EAAE6D,MAAF,KAAa20B,EAErI,CAAE,MAAO31B,IACP,IAAAyT,QAAOzT,EAAO,qCAChB,CAQA,OANM61B,EAAyB,OAAKlB,QAAAA,EAAe,IAAK,GAAIiB,QAAAA,EAA0B,IAAG,GAAErsB,MAAK,SAAC+rB,EAAGC,GAElG,OAAOD,aAAC,EAADA,EAAGvd,cAAcwd,aAAC,EAADA,EAAGxd,cAAeud,EAAEvd,YAAcwd,EAAExd,WAAa,GAAK,CAChF,IAEAqQ,GAAS,IAAAwM,gBAAeiB,IACjB,CAAP,EAAOA,EAAS77B,QAnFc,IAAC06B,C,OAY4G,EA0EhI,EAAAoB,cAAgB,SAACnD,EAAmBoD,GAAwF,gBAAC3N,EAAUC,G,MAClJ,GAAI0N,IAAkBA,aAAc,EAAdA,EAAgB/7B,QAAS,EAAG,CAChD,IAAIg8B,OAAkB,EACtB,IACE,IAAMC,EAAiE,QAA7B,EAAA5N,IAAW1K,OAAOgX,mBAAW,eAAE32B,QAAO,SAAAk4B,GAAsB,OAAC,EAAA/e,gBAAgBH,WAAWkf,EAAoBH,EAAhD,IAEtGC,EAAqBC,EACjBF,EAAeviB,OAAOyiB,GACtBF,GAEJ,IAAAI,mBAAkBxD,EAAWqD,EAC/B,CAAE,MAAOpC,IACP,IAAAngB,QAAOmgB,EAAG,kCACZ,CACAxL,GAAS,IAAAwM,gBAAeoB,GAC1B,CACF,CAhByI,EAkB5H,EAAAI,iBAAmB,SAACzD,EAAmBrwB,EAA2CqG,GAAkF,gBAAOyf,EAAUC,GAAQ,0C,qCAClM/Q,EAA2D,QAA7B,EAAA+Q,IAAW1K,OAAOgX,mBAAW,QAAI,GAErE,IAEIX,EADErrB,IAAa,EAAA+L,aAAanZ,OACZ+G,EAAKtB,OAEjBsW,EAActZ,QAAO,SAAAb,GAAK,OAAAA,EAAE6D,SAAWsB,EAAKtB,MAAlB,IAD1BsW,EAActZ,QAAO,SAAAb,GAAK,OAAAA,EAAE4D,UAAYuB,EAAKvB,SAAW5D,EAAE6D,SAAWsB,EAAKtB,MAAhD,IAIfsW,EAActZ,QAAO,SAAAb,GAAK,OAAAA,EAAE6D,SAAWsB,EAAKtB,MAAlB,KAG3C,IAAAm1B,mBAAkBxD,EAAWqB,EAC/B,CAAE,MAAOJ,IACP,IAAAngB,QAAOmgB,EAAG,qCACZ,C,OAEAxL,GAAS,IAAAwM,gBAAeZ,I,UAlBuJ,EA4BjL,yBAA8Br6B,EAAsB2uB,GAClD,YAD4B,IAAA3uB,IAAAA,EAAA,GACpB2uB,EAAOjtB,MACb,KAAK,EAAAknB,sBACH,OAAO,EAAP,KAAY5oB,GAAK,CAAE+6B,qBAAsBpM,EAAO/K,UAClD,KAAK,EAAA0E,sBACH,MAAO,CAAEyS,sBAAsB,EAAOC,YAAarM,EAAO/K,SAC5D,KAAK,EAAA8F,wBACH,OAAOgE,EACT,QACE,OAAO1tB,EAEb,E,03BCvKA,eACA,WAEM0tB,EAAsC,CAAC,EAEhC,EAAAgP,oBAAsB,SAACC,GAChC,OAAO,IAAA5O,aAAY,EAAAlD,sBAAuB8R,EAC9C,EAIa,EAAAC,wBAA0B,SACnC58B,EACA2uB,G,MAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,OACN,EAAAmpB,sBACM,EAAP,KAAY7qB,KAAK,MAAG2uB,EAAO/K,QAAQ7G,QAAS4R,EAAO/K,QAAO,IAEnD5jB,CAEnB,E,0nBCtBA,eACA,WAEM0tB,EAA4B,CAAEqI,QAAQ,GAE/B,EAAA7G,aAAe,WACxB,OAAO,IAAAnB,aAAY,EAAA3G,cACvB,EAIA,yBACIpnB,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,OACN,EAAA0lB,cAEM,CAAE2O,QADsB/1B,EAAM+1B,QAG9B/1B,CAEnB,E,y9BCvBA,eACA,WAGM0tB,EAAwC,CAC5ChsB,KAAM,KACNm7B,sBAAsB,EACtB58B,cAAc,EACd68B,WAAW,EACXC,yBAAyB,EACzBC,qBAAqB,EACrBC,cAAe,GACfC,mBAAmB,GAGR,EAAAC,wBAA0B,SAACN,EAA+Bn7B,GACrE,OAAO,IAAAqsB,aAAY,EAAAjH,4BAA6B,CAAE+V,qBAAsBA,EAAsBn7B,KAAMA,GACtG,EAEa,EAAA07B,gBAAkB,SAACn9B,GAC9B,OAAO,IAAA8tB,aAAY,EAAA/G,mBAAoB/mB,EACzC,EAEa,EAAAo9B,2BAA6B,SAACN,GACzC,OAAO,IAAAhP,aAAY,EAAA9G,2BAA4B8V,EACjD,EAEa,EAAAO,yBAA2B,SAACJ,GACvC,OAAO,IAAAnP,aAAY,EAAA7G,wBAAyBgW,EAC9C,EAEa,EAAAK,uBAAyB,SAACP,GACrC,OAAO,IAAAjP,aAAY,EAAAhH,2BAA4BiW,EACjD,EASA,qCACEh9B,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACb,KAAK,EAAAolB,4BACH,OAAO,EAAP,KAAY9mB,GAAK,CAAE0B,KAAMitB,EAAO/K,QAAQliB,KAAMm7B,qBAAsBlO,EAAO/K,QAAQiZ,qBAAsBE,yBAAyB,EAAOE,cAAe,KAC1J,KAAK,EAAAjW,mBACH,OAAO,EAAP,KAAYhnB,GAAK,CAAEC,aAAc0uB,EAAO/K,QAAQ3jB,aAAc68B,UAAWnO,EAAO/K,QAAQkZ,UAAWC,yBAAyB,EAAOE,cAAetO,EAAO/K,QAAQqZ,gBACnK,KAAK,EAAAhW,2BACH,OAAO,EAAP,KAAYjnB,GAAK,CAAE+8B,wBAAyBpO,EAAO/K,UACrD,KAAK,EAAAsD,wBACH,OAAO,EAAP,KAAYlnB,GAAK,CAAEk9B,kBAAmBvO,EAAO/K,UAC/C,KAAK,EAAAmD,2BACH,OAAO,EAAP,KAAY/mB,GAAK,CAAEg9B,oBAAqBrO,EAAO/K,UACjD,QACE,OAAO5jB,EAEb,E,05BC3DA,eACA,WAEM0tB,EAAoC,CAAE1pB,UAAW,GAAI9E,QAAS,GAAI6d,OAAQ,GAAIb,gBAAiB,GAAIshB,kBAAkB,EAAOz6B,iBAAkB,MAEvI,EAAA06B,kBAAoB,SAAC5I,EAA+B2I,GAC7D,YAD6D,IAAAA,IAAAA,GAAA,IACtD,IAAAzP,aAAY,EAAA9I,oBAAqB,EAAF,KAAO4P,GAAQ,CAAE2I,iBAAkBA,IAC7E,EAEa,EAAAE,oBAAsB,WAC/B,OAAO,IAAA3P,aAAY,EAAA7I,sBACvB,EAIA,iCACIllB,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACX,KAAK,EAAAujB,oBACD,OAAO0J,EAAO/K,QAClB,KAAK,EAAAsB,sBACD,OAAOwI,EACX,QACI,OAAO1tB,EAEnB,E,wjEC5BA,eACA,WAEA,WAEA,WAEM0tB,EAA4B,CAChC9U,SAAU,GACV+kB,aAAc,GACdC,SAAU,GACVC,QAAS,GACTC,SAAU,GACVC,4BAA6B,GAC7BC,uBAAwB,GACxBC,aAAc,GACdC,qBAAsB,GACtBC,YAAa,GACb39B,MAAO,GACP49B,mBAAoB,IAGT,EAAAC,cAAgB,SAAOzlB,GAAgB,0C,0EAEhB,O,sBAAA,IAAM,IAAA0lB,kBAAiB1lB,I,OACvD,OADMrY,EAA0B,WAExBw9B,EAAoE,QAAtC,EAAAx9B,EAAWw9B,mCAA2B,eAAE3oB,cACzE0f,MAAM,KACNhrB,KAAI,SAAAy0B,GAAgB,OAAAA,EAAatwB,MAAb,IACpB5J,QAAO,SAAAk6B,GAAgB,OAAAA,EAAal+B,OAAS,CAAtB,IAEpB29B,EAA0D,QAAjC,EAAAz9B,EAAWy9B,8BAAsB,eAAE5oB,cAC/D0f,MAAM,KACNhrB,KAAI,SAAA00B,GAAe,OAAAA,EAAYvwB,MAAZ,IACnB5J,QAAO,SAAAm6B,GAAe,OAAAA,EAAYn+B,OAAS,CAArB,IAEnB49B,EAAsC,QAAvB,EAAA19B,EAAW09B,oBAAY,eAAE7oB,cAC3C0f,MAAM,KACNhrB,KAAI,SAAA20B,GAAe,OAAAA,EAAYxwB,MAAZ,IACnB5J,QAAO,SAAAo6B,GAAe,OAAAA,EAAYp+B,OAAS,CAArB,IAEnB69B,EAAsD,QAA/B,EAAA39B,EAAW29B,4BAAoB,eAAE9oB,cAC3D0f,MAAM,KACNhrB,KAAI,SAAA40B,GAAe,OAAAA,EAAYzwB,MAAZ,IACnB5J,QAAO,SAAAq6B,GAAe,OAAAA,EAAYr+B,OAAS,CAArB,IA+ClB,CAAP,EA7CiC,CAC/BuY,SAAUrY,EAAWqY,SACrB+kB,aAAcp9B,EAAWo9B,aACzBG,SAAUv9B,EAAWu9B,SACrBD,QAASt9B,EAAWs9B,QACpBD,SAAUr9B,EAAWq9B,SACrBG,4BAA6BA,EAC7BC,uBAAwBA,EACxBC,aAAcA,EACdC,qBAAsBA,EACtBC,YAAa59B,EAAW49B,YACxB39B,MAAOD,EAAWC,MAClBm+B,UAAWp+B,EAAWo+B,UACtBC,0BAA2Br+B,EAAWq+B,0BACtCC,OAAQt+B,EAAWs+B,OACnBC,gBAAiBv+B,EAAWu+B,gBAC5BC,wBAAyBx+B,EAAWw+B,wBACpCC,kBAAmBz+B,EAAWy+B,kBAC9BC,2BAA4B1+B,EAAW0+B,2BACvCC,yBAA0B3+B,EAAW2+B,yBACrCC,iBAAkB5+B,EAAW4+B,iBAC7BC,cAAe7+B,EAAW6+B,cAC1Bx+B,yBAA0BL,EAAWK,yBACrCG,0BAA2BR,EAAWQ,0BACtCD,yBAA0BP,EAAWO,yBACrCD,8BAA+BN,EAAWM,8BAC1Cw+B,eAAgB9+B,EAAW8+B,eAC3BC,mBAAoB/+B,EAAW++B,mBAC/BC,gBAAiBh/B,EAAWg/B,gBAC5BC,iCAAkCj/B,EAAWi/B,iCAC7CC,0BAA2Bl/B,EAAWk/B,0BACtCC,eAAgBn/B,EAAWm/B,eAC3BC,uBAAwBp/B,EAAWo/B,uBACnCC,gBAAiBr/B,EAAWq/B,gBAC5BC,6BAA8Bt/B,EAAWs/B,6BACzCC,2BAA4Bv/B,EAAWu/B,2BACvC1B,mBAAoB79B,EAAW69B,mBAC/B2B,cAAex/B,aAAU,EAAVA,EAAYw/B,cAC3BC,0BAA2Bz/B,EAAWy/B,0BACtCC,0BAA2B1/B,EAAW0/B,0BACtCC,6BAA8B3/B,EAAW2/B,6BACzCl/B,8BAA+BT,EAAWS,8BAC1Cm/B,wCAAyC5/B,EAAW4/B,2C,gCAMxD,IAAArmB,QAAO,EAAO,6B,aAGhB,MAAO,CAAP,EAAO4T,G,QAGI,EAAA0S,cAAgB,SAAC7/B,GAC5B,OAAO,IAAAwtB,aAAY,EAAApI,gBAAiBplB,EACtC,EAIA,yBAA8BP,EAAsB2uB,GAClD,YAD4B,IAAA3uB,IAAAA,EAAA,GACpB2uB,EAAOjtB,OACR,EAAAikB,gBACIgJ,EAAO/K,QAEP5jB,CAEb,E,uwCCjHA,eACA,WAKA,WAEM0tB,EAAsC,CAAEvtB,mBAAoB,IAErD,EAAAkgC,oBAAsB,SAACxL,GAChC,OAAO,IAAA9G,aAAY,EAAA5I,sBAAuB0P,EAC9C,EAEa,EAAAyL,sBAAwB,SAACpjB,GAClC,OAAO,IAAA6Q,aAAY,EAAA3I,wBAAyBlI,EAChD,EAEa,EAAAqjB,sBAAwB,SAACrjB,GAClC,OAAO,IAAA6Q,aAAY,EAAA1I,wBAAyBnI,EAChD,EAEa,EAAAsjB,mBAAqB,SAACC,GAC/B,OAAO,IAAA1S,aAAY,EAAAzI,sBAAuBmb,EAC9C,EAEa,EAAAC,0BAA4B,WACrC,OAAO,IAAA3S,aAAY,EAAAxI,yBACvB,EAEa,EAAAob,wBAA0B,SAACzjB,EAA6B4T,GACjE,YADiE,IAAAA,IAAAA,GAAA,IAC1D,IAAA/C,aAAY,EAAAvI,wBAAyB,CAAEtI,UAAS,EAAE4T,gBAAe,GAC5E,EAEa,EAAA8P,yBAA2B,SAACj4B,GACrC,OAAO,IAAAolB,aAAY,EAAAtI,oCAAqC9c,EAC5D,EAEa,EAAAk4B,mCAAqC,SAACllB,EAAekZ,GAC9D,OAAO,IAAA9G,aAAY,EAAArI,uDAAwD,CAAE/J,MAAK,EAAEkZ,SAAQ,GAChG,EAWA,mCACI70B,EACA2uB,GAEA,YAHA,IAAA3uB,IAAAA,EAAA,GAGQ2uB,EAAOjtB,MACX,KAAK,EAAA4jB,sBACD,OAAO,EAAP,KAAYtlB,GAAK,CAAE8gC,oBAAqBnS,EAAO/K,UACnD,KAAK,EAAAuB,sBACD,IAAM4b,EAAyB,OAAwB/gC,EAAMG,oBAAoB,GAAF,CAAEwuB,EAAO/K,UAAO,GAE/F,OADAgQ,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,KAAK,EAAA3b,wBACK2b,EAAyB,OAAwB/gC,EAAMG,oBAAoB,GAAGwuB,EAAO/K,SAAO,GAElG,OADAgQ,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,KAAK,EAAA1b,wBACK0b,EAAyB,KAAwBpS,EAAO/K,SAAO,GAErE,OADAgQ,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,KAAK,EAAAxb,yBACKwb,EAAyB,KAAwB/gC,EAAMG,mBAAmBu5B,MAAM,EAAG15B,EAAMG,mBAAmBE,OAAS,IAAE,GAE7H,OADAuzB,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,KAAK,EAAAvb,wBACKub,EAA8CpS,EAAO/K,QAAQ1G,UAE7D,EAAD,GAAKyR,EAAO/K,QAAQ1G,WAAS,GAD5B,GAKN,OAHuC,IAAnCyR,EAAO/K,QAAQkN,iBACf8C,EAAqBmN,GAElB,CAAE5gC,mBAAoB4gC,EAA2BD,oBAAqB9gC,EAAM8gC,qBAEvF,KAAK,EAAArb,oCAGKsb,EAAyB,KAAwB/gC,EAAMG,mBAAmBu5B,MAAM,EAAGsH,SAASrS,EAAO/K,QAAQ/gB,KAAO,IAAE,GAE1H,OADA+wB,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,KAAK,EAAArb,uDAID,OAHMqb,EAA4B,EAAH,GAAO/gC,EAAMG,mBAAmBu5B,MAAM,EAAG/K,EAAO/K,QAAQjI,QAAM,IACnE7W,KAAK6pB,EAAO/K,QAAQiR,UAC9CjB,EAAqBmN,GACd,EAAP,KAAY/gC,GAAK,CAAEG,mBAAoB4gC,IAE3C,QACI,OAAO/gC,EAEnB,EAEA,IAAM4zB,EAAuB,SAACmN,G,gBAC1B,GAAW,OAAPrM,cAAO,IAAPA,aAAO,EAAPA,QAASC,UACT,IACI,IAAMC,EAAWjqB,OAAOkqB,SAAStjB,KAC5BujB,MAAM,KAAK,GACXA,MAAM,KAAK,GAIhB,GAFAJ,QAAQC,UAAUoM,EAA2B,GAAInM,EAAW,MAAuI,QAAhI,EAAyF,QAAzF,EAAqE,QAArE,EAA0D,QAA1D,EAAAmM,aAAyB,EAAzBA,EAA2Bj3B,KAAI,SAAAtG,GAAC,MAAI,OAAa,QAAb,EAAAA,EAAE6F,mBAAW,eAAE4E,MAAM,WAAC,eAAElE,KAAK,YAAI,eAAEe,QAAQ,KAAM,YAAI,eAAEA,QAAQ,yBAA0B,WAAG,eAAEA,QAAQ,MAAO,OAAQ,SAExNi2B,aAAyB,EAAzBA,EAA2B1gC,OAAQ,CAEnC,IADA,IAAI4gC,OAAa,EACR5wB,EAAI0wB,EAA0B1gC,OAAS,EAAGgQ,GAAK,EAAGA,IACvD,GAAgC,QAA5B,EAAA0wB,EAA0B1wB,UAAE,eAAE+L,gBAAiB,CAC/C6kB,EAAgBF,EAA0B1wB,GAAG+L,gBAC7C,KACJ,CAGC6kB,IACDA,EAA2F,QAA3E,EAAAF,EAA0BA,EAA0B1gC,OAAS,GAAGgJ,mBAAW,eAAE4E,QAGjGmnB,SAASpwB,OAASi8B,GAAiB,QAAU,aACjD,MAEI7L,SAASpwB,MAAQ,iBAEzB,CAAE,MAAOqB,IACL,IAAAyT,QAAOzT,EAAO,8CACd+uB,SAASpwB,MAAQ,UACrB,CAER,G,2/ECtIA,eAGA,aACW,KAAAk8B,YAAsB,gBACtB,KAAAC,QAAkB,wBAClB,KAAA13B,KAAe,+BACf,KAAA23B,KAAe,kBACf,KAAAC,SAAmB,0BACnB,KAAAC,GAAa,cACb,KAAAC,IAAc,GACd,KAAAC,GAAa,cACb,KAAAC,WAAqB,aACrB,KAAAC,kBAA4B,oCAE5B,KAAAC,YAAsB,+CAEtB,KAAAC,UAAoB,YAEpB,KAAAC,QAAkB,kCAClB,KAAAC,WAAqB,aACrB,KAAAC,gBAA0B,iBACrC,EAEa,EAAAC,kBAAoB,IAAIC,EAiBrC,IAgVMC,EAAc,IAhVpB,YAOI,aACI,QAAK,YAAE,KANH,EAAAC,eAAiC,GACjC,EAAAC,uBAAqD,GACrD,EAAAC,qBAAiC,GACjC,EAAAC,cAAqB,KA8BtB,EAAAC,eAAiB,SAACC,GACrB,GAAI,EAAKL,eAAgB,CACrB,IAAMxmB,EAAQ,EAAKwmB,eAAexH,WAAU,SAAA8H,GAAK,OAAAA,EAAE35B,KAAKsM,gBAAkBotB,EAAWptB,aAApC,IAEjD,OAAOuG,GAAS,EAAI,EAAKwmB,eAAexmB,GAAOhb,MAAQ,IAC3D,CACA,OAAO,IACX,EAEO,EAAA+hC,mBAAqB,SAACF,EAAoB7hC,GAC7C,EAAKwhC,eAAe,EAAKA,eAAexH,WAAU,SAAA8H,GAAK,OAAAA,EAAE35B,OAAS05B,CAAX,KAAwB7hC,MAAQA,CAC3F,EAEO,EAAAgiC,yBAA2B,SAACC,GAC3BA,IACA,EAAKN,cAAgBM,EAE7B,EAEO,EAAAC,sBAAwB,SAACC,G,QAC5B,OAA6F,QAAtF,EAA+E,QAA/E,IAAKX,eAAe3nB,MAAK,SAAAioB,GAAK,OAAAA,EAAE35B,KAAKsM,gBAAkB0tB,EAAU1tB,aAAnC,WAAiD,eAAEzU,aAAK,eAAEm0B,MAAM,KAAKhrB,KAAI,SAAAi5B,GAAK,OAAAA,EAAE90B,MAAF,GACvH,EAEO,EAAA+0B,WAAa,SAACC,GACjB,GAAIA,EACA,IACI,IAAMC,EAAgB3J,KAAKC,MAAMyJ,GACjC,EAAKd,eAAiBe,EACtB,EAAKC,oBACT,CAAE,MAAO98B,IACL,IAAAyT,QAAOzT,EAAO,8BAClB,CAER,EAEO,EAAA+8B,sBAAwB,WAC3B,OAAO7J,KAAK8J,UAAU,EAAKlB,eAC/B,EAEO,EAAAmB,oBAAsB,SAAOC,EAAsBC,EAAyBC,GAAkC,qC,gJAC7GC,EAA0B,CAAE/iC,MAAO,KAAMe,KAAM,M,8CAEzCiiC,EAEJ,QAFuB,EAAA1qB,KAAKmpB,uBAAuB5nB,MAAK,SAAAopB,GACtD,OAAOA,EAAaz5B,OAAO5G,MAAK,SAAAgL,GAAS,OAAAA,IAAUg1B,CAAV,GAC7C,WAAE,eAAEM,YAEqBL,IAAWC,EAAhC,a,OACQE,EAAiBvuB,e,IAChB,sB,IAGA,mB,IAGA,mB,IAGA,uB,IAGA,iB,IAGA,kB,IAkBA,kB,IAGA,0B,IAkBA,oBAAoBA,cAApB,a,IAGA,oBAAoBA,cAApB,a,IAGA,2B,IAGA,YAAYA,cAAZ,a,IAGA,YAAYA,cAAZ,a,IAGA,0B,IAGA,UAAUA,cAAV,a,IAGA,0B,IAGA,kBAAkBA,cAAlB,a,oBA5ED,OADAsuB,EAAU/iC,MAAwC,QAAhC,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEm7B,yBAAiB,QAAIL,aAAe,EAAfA,EAAiBtC,QACvE,O,OAGA,OADAuC,EAAU/iC,MAAwC,QAAhC,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEc,KAAKs6B,oBAAY,QAAIN,aAAe,EAAfA,EAAiBh6B,KACvE,O,OAGA,OADAi6B,EAAU/iC,MAAsC,QAA9B,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEq7B,uBAAe,QAAIP,aAAe,EAAfA,EAAiBrC,KACrE,O,OAGA,OADAsC,EAAU/iC,MAA4C,QAApC,EAAkB,QAAlB,EAAAsY,KAAKqpB,qBAAa,eAAE2B,wBAAgB,QAAsB,QAAlB,EAAAhrB,KAAKqpB,qBAAa,eAAE4B,iBAC9E,O,OAGA,OADAR,EAAU/iC,MAAkD,QAA1C,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAE24B,GAAGx3B,KAAI,SAAA+R,GAAK,OAAAA,EAAEkoB,YAAF,WAAe,QAAIN,EAAgBnC,GAChF,O,sCAGI,EAAAoC,GAA+B,QAAb,EAAAF,aAAO,EAAPA,EAAS76B,YAAI,eAAE44B,KAC3B,GAAM,IAAI1F,GAAkB,SAACsI,EAASC,G,MACxB,QAAZ,EAAAZ,EAAQ76B,YAAI,SAAE44B,IAAI8C,UAAS,SAACl+B,G,MACxB,GAAIA,EAAOG,SAAWg+B,OAAOC,kBAAkBC,UAAW,CACtD,IAAMC,EAA8B,QAAZ,EAAAt+B,EAAOxF,aAAK,eAAEmJ,KAAI,SAAA46B,GAAK,OAAAA,EAAEX,YAAF,IAC/CI,EAAQM,EACZ,MACIL,EAAOj+B,EAAOE,MAEtB,GACJ,KAVgC,M,cAC9B,W,cAUA,EAAAo9B,aAAe,EAAfA,EAAiBlC,I,0BAXvB,EAAU5gC,MAAQ,E,kCAalB,IAAAmZ,QAAO,EAAU,wB,eAErB,a,QAGA,OADA4pB,EAAU/iC,MAAoD,QAA5C,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAE64B,GAAG13B,KAAI,SAAA03B,GAAM,OAAAA,EAAGuC,YAAH,WAAgB,QAAIN,EAAgBjC,GAClF,O,wCAGI,EAAAkC,GAA+B,QAAb,EAAAF,aAAO,EAAPA,EAAS76B,YAAI,eAAE84B,YAC3B,GAAM,IAAI5F,GAAkB,SAACsI,EAASC,G,MACxB,QAAZ,EAAAZ,EAAQ76B,YAAI,SAAE84B,WAAW4C,UAAS,SAACl+B,G,MAC/B,GAAIA,EAAOG,SAAWg+B,OAAOC,kBAAkBC,UAAW,CACtD,IAAM/C,EAAyB,QAAZ,EAAAt7B,EAAOxF,aAAK,eAAEmJ,KAAI,SAAA66B,GAAK,OAAAA,EAAEt7B,WAAF,IAC1C86B,EAAQ1C,EACZ,MACI2C,EAAOj+B,EAAOE,MAEtB,GACJ,KAVuC,O,eACrC,W,eAUA,EAAAo9B,aAAe,EAAfA,EAAiBhC,W,0BAXvB,EAAU9gC,MAAQ,E,kCAalB,IAAAmZ,QAAO,EAAU,+B,eAErB,a,QAGA,OADA4pB,EAAU/iC,MAA6C,QAArC,EAAkB,QAAlB,EAAAsY,KAAKqpB,qBAAa,eAAEZ,yBAAiB,QAAsB,QAAlB,EAAAzoB,KAAKqpB,qBAAa,eAAEsC,kBAC/E,O,QAGA,OADAlB,EAAU/iC,MAAqB,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEk8B,eACjC,O,QAGA,OADAnB,EAAU/iC,MAAsD,QAA9C,EAAkC,QAAlC,EAAkB,QAAlB,EAAAsY,KAAKqpB,qBAAa,eAAEwC,sBAAc,eAAEC,kBAAU,QAAsC,QAAlC,EAAkB,QAAlB,EAAA9rB,KAAKqpB,qBAAa,eAAE0C,sBAAc,eAAED,WACxG,O,QAGA,OADArB,EAAU/iC,MAAQ,KAClB,O,QAGA,OADA+iC,EAAU/iC,MAAqB,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEs8B,kBACjC,O,QAGA,OADAvB,EAAU/iC,MAAQ,KAClB,O,QAGA,OADA+iC,EAAU/iC,MAAqE,QAA7D,EAA2B,QAA3B,EAAkB,QAAlB,EAAAsY,KAAKqpB,qBAAa,eAAET,eAAO,eAAE/3B,KAAI,SAAA46B,GAAK,OAAAA,EAAEQ,aAAaC,OAAf,WAAuB,QAA+B,QAA3B,EAAkB,QAAlB,EAAAlsB,KAAKqpB,qBAAa,eAAE8C,eAAO,eAAEt7B,KAAI,SAAA46B,GAAK,OAAAA,EAAEQ,aAAaC,OAAf,IACzH,O,QAGA,OADAzB,EAAU/iC,MAAsC,QAA9B,EAAkB,QAAlB,EAAAsY,KAAKqpB,qBAAa,eAAER,kBAAU,QAAsB,QAAlB,EAAA7oB,KAAKqpB,qBAAa,eAAE+C,WACxE,O,QAGA,OADA3B,EAAU/iC,MAA8B,QAAtB,EAAa,QAAb,EAAA6iC,aAAO,EAAPA,EAAS76B,YAAI,eAAEw4B,eAAO,QAAIsC,aAAe,EAAfA,EAAiBtC,QAC7D,O,QAGA,OADAuC,EAAU/iC,MAAQ,KAClB,O,gDAIZ,IAAAmZ,QAAO,EAAK,wC,eAIhB,OADA4pB,EAAUhiC,YAAcgiC,EAAU/iC,MAC3B,CAAP,EAAO+iC,G,QAGJ,EAAA4B,0BAA4B,SAAC/B,EAAsBgC,G,sBAClD7B,EAA0B,CAAE/iC,MAAO,KAAMe,KAAM,MAC/CiiC,EAAmB,GACvB,IAKI,IAJAA,EAEE,QAFiB,IAAKvB,uBAAuB5nB,MAAK,SAAAopB,GAChD,OAAOA,EAAaz5B,OAAO5G,MAAK,SAAAgL,GAAS,OAAAA,IAAUg1B,CAAV,GAC7C,WAAE,eAAEM,WAEoB0B,EACpB,OAAQ5B,EAAiBvuB,eACrB,IAAK,UACDsuB,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAapE,QAC/B,MACJ,IAAK,OACDuC,EAAU/iC,MAAyC,QAAjC,EAAmB,QAAnB,EAAA4kC,aAAW,EAAXA,EAAaC,cAAM,eAAEzB,oBAAY,eAAE0B,QACrD,MACJ,IAAK,OACD/B,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAaG,aAC/B,MACJ,IAAK,WACDhC,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAatB,iBAC/B,MACJ,IAAK,KACDP,EAAU/iC,MAAiC,QAAzB,EAAA4kC,aAAW,EAAXA,EAAaI,oBAAY,eAAE77B,KAAI,SAAA+R,GAAC,MAAI,OAAc,QAAd,EAAAA,EAAEkoB,oBAAY,eAAE0B,OAAO,IAC7E,MACJ,IAAK,MACD/B,EAAU/iC,MAAkC,QAA1B,EAAA4kC,aAAW,EAAXA,EAAaK,qBAAa,eAAE97B,KAAI,SAAAy3B,GAAG,MAAI,OAAgB,QAAhB,EAAAA,EAAIwC,oBAAY,eAAE0B,OAAO,IAClF,MACJ,IAAK,KACD/B,EAAU/iC,MAAiC,QAAzB,EAAA4kC,aAAW,EAAXA,EAAaM,oBAAY,eAAE/7B,KAAI,SAAA03B,GAAE,MAAI,OAAe,QAAf,EAAAA,EAAGuC,oBAAY,eAAE0B,OAAO,IAC/E,MACJ,IAAK,aACD/B,EAAU/iC,MAA+B,QAAvB,EAAA4kC,aAAW,EAAXA,EAAa9D,kBAAU,eAAE33B,KAAI,SAAAg8B,GAAO,OAAAA,CAAA,IACtD,MACJ,IAAK,oBACDpC,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAa7D,kBAC/B,MACJ,IAAK,oBACDgC,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAaV,eAC/B,MACJ,IAAK,cACDnB,EAAU/iC,MAAmC,QAA3B,EAAA4kC,aAAW,EAAXA,EAAaT,sBAAc,eAAEC,WAC/C,MACJ,IAAK,YACDrB,EAAU/iC,MAAQ,KAClB,MACJ,IAAK,YACD+iC,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAaN,kBAC/B,MACJ,IAAK,aACDvB,EAAU/iC,MAAQ,KAClB,MACJ,IAAK,UACD+iC,EAAU/iC,MAA4B,QAApB,EAAA4kC,aAAW,EAAXA,EAAa1D,eAAO,eAAE/3B,KAAI,SAAA46B,GAAC,MAAI,OAAc,QAAd,EAAAA,EAAEX,oBAAY,eAAE0B,OAAO,IACxE,MACJ,IAAK,aACD/B,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAazD,WAC/B,MACJ,IAAK,kBAAkB1sB,cACnBsuB,EAAU/iC,MAAQ4kC,aAAW,EAAXA,EAAapE,QAC/B,MACJ,QACIuC,EAAU/iC,MAAQ,KAIlC,CAAE,MAAOolC,IACL,IAAAjsB,QAAOisB,EAAK,6CAChB,CAIA,OAFArC,EAAUhiC,YAAcgiC,EAAU/iC,MAE3B,CACH+iC,UAAS,EAAEC,iBAAgB,EAEnC,EAEO,EAAAqC,oBAAsB,WACzB,OAAO,EAAK3D,oBAChB,EAEO,EAAA4D,iCAAmC,SAACtmC,EAAsBkD,G,wCACzDqjC,EACJ,OAAQrjC,GACJ,IAAK,cACDqjC,EAAyC,QAA3B,EAAAvmC,EAAgBwmC,mBAAW,QAAI,8BAC7C,MACJ,IAAK,UACDD,EAAqC,QAAvB,EAAAvmC,EAAgBymC,eAAO,QAAI,0BACzC,MACJ,IAAK,OACDF,EAAkC,QAApB,EAAAvmC,EAAgB0mC,YAAI,QAAI,uBACtC,MACJ,IAAK,OACDH,EAAkC,QAApB,EAAAvmC,EAAgB0e,YAAI,QAAI,uBACtC,MACJ,IAAK,WACD6nB,EAAsC,QAAxB,EAAAvmC,EAAgB2mC,gBAAQ,QAAI,2BAC1C,MACJ,IAAK,KACDJ,EAAgC,QAAlB,EAAAvmC,EAAgB4mC,UAAE,QAAI,qBACpC,MACJ,IAAK,MACDL,EAAiC,QAAnB,EAAAvmC,EAAgB6mC,WAAG,QAAI,sBACrC,MACJ,IAAK,KACDN,EAAgC,QAAlB,EAAAvmC,EAAgB8mC,UAAE,QAAI,qBACpC,MACJ,IAAK,aACDP,EAAwC,QAA1B,EAAAvmC,EAAgB+mC,kBAAU,QAAI,6BAC5C,MACJ,IAAK,oBACDR,EAA+C,QAAjC,EAAAvmC,EAAgBilC,yBAAiB,QAAI,oCACnD,MACJ,IAAK,oBACDsB,EAA+C,QAAjC,EAAAvmC,EAAgBgnC,yBAAiB,QAAI,oCACnD,MACJ,IAAK,cACDT,EAAyC,QAA3B,EAAAvmC,EAAgBinC,mBAAW,QAAI,8BAC7C,MACJ,IAAK,YACDV,EAAuC,QAAzB,EAAAvmC,EAAgBknC,iBAAS,QAAI,4BAC3C,MACJ,IAAK,YACDX,EAAuC,QAAzB,EAAAvmC,EAAgBmnC,iBAAS,QAAI,4BAC3C,MACJ,IAAK,aACDZ,EAAwC,QAA1B,EAAAvmC,EAAgBonC,kBAAU,QAAI,6BAC5C,MACJ,IAAK,UACDb,EAAqC,QAAvB,EAAAvmC,EAAgBylC,eAAO,QAAI,0BACzC,MACJ,IAAK,aACDc,EAAwC,QAA1B,EAAAvmC,EAAgB0lC,kBAAU,QAAI,6BAC5C,MACJ,IAAK,kBACDa,EAA6C,QAA/B,EAAAvmC,EAAgBqnC,uBAAe,QAAI,kCACjD,MACJ,QACId,EAAc,gBAGtB,OAAOA,EAAY,GAAGe,cAAgBf,EAAYgB,UAAU,EAChE,EAEO,EAAAC,0BAA4B,SAACxD,GAChC,OAAQA,EAAiBvuB,eACrB,IAAK,OAEL,IAAK,WACD,MAAO,WACX,IAAK,cACD,MAAO,oBACX,QACI,MAAO,YAEnB,EApUI,IAAMgyB,EAAOC,OAAOD,KAAK,EAAApF,mB,OACzB,EAAKG,eAAiBiF,EAAKt9B,KAAI,SAAAjH,GAC3B,MAAO,CACHiG,KAAMjG,EACNlC,MAAO,EAAKkC,GAEpB,IACA,EAAKsgC,qB,CACT,CA6TJ,OA9U0B,OAmBf,YAAAA,mBAAP,WACI,IAAImE,EAAkC,GAChCC,EAAuD,GAC7DtuB,KAAKkpB,eAAe79B,SAAQ,SAAAkjC,G,MAClBC,EAA6B,QAAjB,EAAAD,EAAY7mC,aAAK,eAAEm0B,MAAM,KAAKhrB,KAAI,SAAA66B,GAAK,OAAAA,EAAE12B,MAAF,IAAU5J,QAAO,SAAAsgC,GAAK,OAAAA,CAAA,IAE/E2C,EAAwBA,EAAsBztB,OAAO4tB,GACrDF,EAAyBziC,KAAK,CAC1B++B,SAAU2D,aAAW,EAAXA,EAAa1+B,KACvBqB,OAAQs9B,GAEhB,IACAxuB,KAAKopB,qBAAuBiF,EAC5BruB,KAAKmpB,uBAAyBmF,CAClC,EA6SJ,EA9UA,CAA0BtF,IAiV1B,UAAeC,E,wuEC7Xf,eACA,WACA,WAEA,WACA,WAEA,aACE,WAAoBnlB,EAAwB5V,GAA5C,WAAoB,KAAA4V,OAAAA,EAAwB,KAAA5V,YAAAA,EA0B5C,KAAA6V,8CAAgD,SAAOja,GAAwB,qC,wDAE5D,O,sBAAA,GAAM,EAAA2kC,GAAGC,IAAIC,MAAMC,QAAQ9kC,GAAkB+E,OAAO,uBAA9C,I,OACrB,MAAO,CAAP,EADe,SACDggC,sB,OAGd,O,YADA,IAAAhuB,QAAO,EAAK,2EACL,CAAP,GAAO,G,yBAIX,KAAAiuB,wBAA0B,gD,wDAEf,O,sBAAA,GAAM,EAAAL,GAAGC,IAAIK,iBAAiBC,O,OAArC,MAAO,CAAP,EAAO,U,OAGP,O,YADA,IAAAnuB,QAAO,EAAO,kDACP,CAAP,EAAO,M,yBAIX,KAAAouB,iCAAmC,SAAOhsB,GAAuB,qC,qEAExC,O,sBAAA,GAAM,EAAAwrB,GAAGC,IAAIC,MAAMC,QAAQ3rB,GAAiBisB,aAAargC,OAAO,MAAMmgC,O,OAC5E,OADTE,EAAe,SACN,GAAMtM,EAAQC,IAC3BqM,EAAar+B,KAAI,SAAOnB,GAAI,qC,wDAEhB,OADVsQ,KAAKmvB,QAAQnvB,KAAK9R,YAAa8R,KAAK8D,QAC1B,GAAM,EAAA2qB,GAAGC,IAAIC,MACpBC,QAAQ3rB,GACRisB,aAAaN,QAAQl/B,EAAKmI,GAAGu3B,aAC7Bl+B,OAAO9F,OAAO,EAAA8f,WAAWmkB,sBACzBxgC,OAAO,aACPmgC,O,OACH,OANIM,EAAM,UAMDloC,OAIF,CAAP,EAAOkoC,EAAIz+B,IAAImP,KAAKuvB,0BAHX,CAAC,EAAD,I,mBAQb,OAlBMriC,EAAS,SAiBTsiC,EAAyBtiC,EAAOkW,QAAO,SAACqsB,EAAYnsB,GAAY,cAAImsB,GAAY,GAAGnsB,GAAO,EAA1B,GAA6B,IAC5F,CAAP,GAAO,IAAAtB,kBAAiBwtB,EAAwB,gB,OAGhD,O,YADA,IAAA3uB,QAAO,EAAK,8DACL,CAAC,EAAD,I,yBAIH,KAAA0uB,wBAA0B,SAAC7/B,GACjC,IAAIggC,EAAU,CAAC,EAOf,OANA,IAAAC,aAAYjgC,EAAKkgC,WAAW,SAAC9C,EAAK5/B,GAC5BA,IACFwiC,EAAUxiC,EAAO2iC,MAAMC,EAE3B,IAEO,CACLn6B,KAAM+5B,EAAc,KACpBK,YAAaL,EAAc,KAE/B,EAEA,KAAAM,mBAAqB,SAAOC,EAA0BC,GAAoB,qC,wDAE/D,O,sBAAA,GAAM,EAAAzB,GAAGC,IAAIC,MACjBC,QAAQqB,GACR/+B,OAAOi/B,yBAAyBD,GAChCrhC,OAAO,sBACPmgC,O,OAJH,MAAO,CAAP,EAAO,U,OAOP,O,YADA,IAAAnuB,QAAO,EAAK,8CACL,CAAP,EAAO,M,yBAIX,KAAAuvB,kBAAoB,SAAOH,GAAwB,qC,kDACtB,SAAM,EAAAxB,GAAGC,IAAIC,MACrCC,QAAQqB,GACRI,MAAMxhC,OAAO,oCACbzD,OAAO,mBACP4jC,O,OACH,MAAO,CAAP,EAL2B,U,QApG3B,EAAAP,GAAG6B,MAAM,CACPC,MAAM,EACN9B,GAAI,CACFxhC,QAAS,CACPujC,OAAQ,iCACRC,cAAe,iBAAUviC,IAE3BnB,QAAS+W,IAGf,CAiGF,OA/FE,YAAAqrB,QAAA,SAAQjhC,EAAqB4V,GAC3B,EAAA2qB,GAAG6B,MAAM,CACPC,MAAM,EACN9B,GAAI,CACFxhC,QAAS,CACPujC,OAAQ,iCACRC,cAAe,iBAAUviC,IAE3BnB,QAAS+W,IAGf,EAoFF,EA7GA,GAAa,EAAAD,qBAAAA,E","sources":["webpack:///./contentManager/Body/MenuItems/useMenuItem_New.tsx?","webpack:///./src/taskpane/components/_v2/redux/api/graph/api-graph-interfaces.ts?","webpack:///./src/taskpane/components/_v2/redux/api/graph/api-graph-slice.ts?","webpack:///./src/taskpane/components/_v2/redux/api/local/api-pii-slice.ts?","webpack:///./src/taskpane/components/_v2/redux/api/nintex/api-nintex-slice.ts?","webpack:///./src/taskpane/components/_v2/redux/api/sharepoint/api-sharepoint-slice.ts?","webpack:///./src/taskpane/components/directoryComponents/myApprovals/ApprovalsService.ts?","webpack:///./src/taskpane/components/enums/ContentManagerCopyMoveModeEnum.ts?","webpack:///./src/taskpane/components/enums/ContentManagerDirectoryEnum.ts?","webpack:///./src/taskpane/components/enums/ContentManagerHomeEnum.ts?","webpack:///./src/taskpane/components/enums/fileTypeEnum.ts?","webpack:///./src/taskpane/components/enums/newTemplateFilterEnum.ts?","webpack:///./src/taskpane/components/enums/oneDriveOverWriteEnum.ts?","webpack:///./src/taskpane/components/helpers/arrayCombiner.ts?","webpack:///./src/taskpane/components/helpers/collectionHelpers.ts?","webpack:///./src/taskpane/components/helpers/folderView.ts?","webpack:///./src/taskpane/components/helpers/folderViewWrapper.ts?","webpack:///./src/taskpane/components/helpers/storeItemHelper.ts?","webpack:///./src/taskpane/components/mappers/recentFilesMapper.ts?","webpack:///./src/taskpane/config/controlStyles.ts?","webpack:///./src/taskpane/redux/helpers.ts?","webpack:///./src/taskpane/redux/models/constants/expanders.ts?","webpack:///./src/taskpane/redux/modules/actionTypes.ts?","webpack:///./src/taskpane/redux/modules/approvals.ts?","webpack:///./src/taskpane/redux/modules/contentManagerDirectory.ts?","webpack:///./src/taskpane/redux/modules/currentSharepointFolder.ts?","webpack:///./src/taskpane/redux/modules/datasource.ts?","webpack:///./src/taskpane/redux/modules/expanders.ts?","webpack:///./src/taskpane/redux/modules/file.ts?","webpack:///./src/taskpane/redux/modules/mode.ts?","webpack:///./src/taskpane/redux/modules/oneDrive.ts?","webpack:///./src/taskpane/redux/modules/pinnedItems.ts?","webpack:///./src/taskpane/redux/modules/recentItems.ts?","webpack:///./src/taskpane/redux/modules/regional.ts?","webpack:///./src/taskpane/redux/modules/reload.ts?","webpack:///./src/taskpane/redux/modules/savingInBackground.ts?","webpack:///./src/taskpane/redux/modules/savingLocation.ts?","webpack:///./src/taskpane/redux/modules/tenant.ts?","webpack:///./src/taskpane/redux/modules/workingDirectory.ts?","webpack:///./src/taskpane/services/EmailMapper.ts?","webpack:///./src/taskpane/services/SharepointSpServices.ts?"],"sourcesContent":["import { Icon, IContextualMenuItem, IIconStyles } from \"@fluentui/react\";\r\nimport { FileIconType, getFileTypeIconProps } from \"@fluentui/react-file-type-icons\";\r\nimport React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { newTemplateFilterEnum } from \"../../../src/taskpane/components/enums/newTemplateFilterEnum\";\r\nimport { FolderViewWrapper } from \"../../../src/taskpane/components/helpers/folderViewWrapper\";\r\nimport { ComponentTypes } from \"../../../src/taskpane/config/config\";\r\nimport { SharePointFolderContentTypeIds } from \"../../../src/taskpane/config/constants\";\r\nimport { RootState } from \"../../../src/taskpane/redux\";\r\nimport { LanguageContext } from \"../../../utilities/LocalizationModule\";\r\nimport { NewDocumentTemplate } from \"../../../src/taskpane/interfaces/IDocumentTemplate\";\r\nimport { linkIconStyles } from \"../../../src/taskpane/config/controlStyles\";\r\n\r\nconst iconStyles: IIconStyles = {\r\n root: {\r\n display: \"flex\",\r\n marginLeft: 4,\r\n marginRight: 4\r\n }\r\n}\r\n\r\nconst rootContentType: string = \"root\";\r\n\r\nexport enum DocumentTemplateTypes {\r\n 'docx' = 1,\r\n 'xlsx' = 5,\r\n 'pptx' = 3,\r\n 'one' = 4,\r\n 'vsdx' = 8\r\n}\r\n\r\nexport function useMenuItem_New(\r\n selectedItems: any[],\r\n waitFor: boolean,\r\n setIsCMCreateFolderPanelOpen: (isCMCreateFolderPanelOpen: boolean) => void,\r\n newDocumentTemplates: NewDocumentTemplate[],\r\n openCreateTemplateModal: (selectedTemplate: NewDocumentTemplate) => void\r\n) {\r\n const languageStrings = React.useContext(LanguageContext);\r\n\r\n const currentSharepointFolder = useSelector((state: RootState) => state.currentSharepointFolder);\r\n const isBusySaving = useSelector((state: RootState) => state.savingInBackground.isBusySaving);\r\n const workingDirectories = useSelector((state: RootState) => state.workingDirectories.workingDirectories);\r\n const currentDirectory = useSelector((state: RootState) => state.workingDirectories.workingDirectories.length > 0 ? state.workingDirectories.workingDirectories[state.workingDirectories.workingDirectories.length - 1] : null);\r\n const siteInfo = useSelector((state: RootState) => state.tenantInfo.sites);\r\n const searchValue = useSelector((state: RootState) => state.contentManagerDirectory?.searchValue?.value);\r\n const enableNewTemplateFilters = useSelector((state: RootState) => state.tenantInfo.enableNewTemplateFilters);\r\n const newTemplateDocumentSetFilters = useSelector((state: RootState) => state.tenantInfo.newTemplateDocumentSetFilters);\r\n const newTemplateFolderFilters = useSelector((state: RootState) => state.tenantInfo.newTemplateFolderFilters);\r\n const newTemplateLibraryFilters = useSelector((state: RootState) => state.tenantInfo.newTemplateLibraryFilters);\r\n const enforceStrictDocumentSetsOnly = useSelector((state: RootState) => state.tenantInfo.enforceStrictDocumentSetsOnly);\r\n\r\n const [menuItem_New, setMenuItem_New] = React.useState();\r\n\r\n const renderIcon = React.useCallback((template?: NewDocumentTemplate) => {\r\n if (newDocumentTemplates?.length > 0) {\r\n if (template?.templateId === \"NewFolder\" || !template) {\r\n return ;\r\n }\r\n if (template?.templateId === \"NewLink\" || !template) {\r\n return ;\r\n }\r\n if (template?.isContentType === true && template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)) {\r\n return ;\r\n }\r\n if (template?.isContentType === true && template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.folder)) {\r\n return ;\r\n }\r\n if (template?.extention) {\r\n return ;\r\n }\r\n }\r\n return ;\r\n }, [newDocumentTemplates, currentDirectory]);\r\n\r\n const newItem: IContextualMenuItem = {\r\n key: \"new\",\r\n disabled: !currentDirectory?.sharePointListId || waitFor === true || isBusySaving === true,\r\n text: languageStrings.NewOnly,\r\n iconProps: { iconName: \"Add\" },\r\n subMenuProps: {\r\n items: []\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n const hasListInWorkingDir = workingDirectories.some(x => x.type === ComponentTypes.SharePointList);\r\n\r\n if (selectedItems?.length === 0 && currentSharepointFolder?.userPermissions?.canAddListItem && currentSharepointFolder?.userPermissions?.canEditListItem && !searchValue) {\r\n const isInFolder = ((currentDirectory?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.folder) && currentDirectory.serverRelativePath) || (currentDirectory?.directory?.length > 0 && currentDirectory.parentId));\r\n\r\n let currentContentype: string;\r\n if (enforceStrictDocumentSetsOnly || enableNewTemplateFilters) {\r\n if (currentDirectory?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)) {\r\n currentContentype = SharePointFolderContentTypeIds.documentSet;\r\n } else if (isInFolder) {\r\n currentContentype = SharePointFolderContentTypeIds.folder;\r\n } else {\r\n currentContentype = rootContentType;\r\n }\r\n }\r\n\r\n var folderViewWrapper = new FolderViewWrapper(siteInfo, currentDirectory);\r\n const canViewFolder = folderViewWrapper.canViewFolder();\r\n\r\n if (canViewFolder || (!canViewFolder && !isInFolder)) {\r\n let newTemplates: NewDocumentTemplate[];\r\n if (enforceStrictDocumentSetsOnly\r\n && currentContentype === rootContentType\r\n && newDocumentTemplates?.some(template => template?.templateId?.startsWith(SharePointFolderContentTypeIds.documentSet))) {\r\n newTemplates = newDocumentTemplates?.filter(template => template?.templateId?.startsWith(SharePointFolderContentTypeIds.documentSet));\r\n }\r\n else {\r\n newTemplates = newDocumentTemplates;\r\n }\r\n\r\n newTemplates?.forEach(template => {\r\n if (template.templateId === \"NewFolder\") {\r\n if (currentSharepointFolder?.canCreateFolder && canViewFolder) {\r\n const originalCreateFolder = {\r\n key: \"createFolder\",\r\n text: languageStrings.Folder,\r\n iconProps: { iconName: \"FabricNewFolder\" },\r\n onRenderIcon: () => renderIcon(),\r\n onClick: () => {\r\n openCreateTemplateModal(template);\r\n }\r\n }\r\n if (enableNewTemplateFilters) {\r\n if (currentContentype === rootContentType && newTemplateLibraryFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(originalCreateFolder);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.folder && newTemplateFolderFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(originalCreateFolder);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.documentSet && newTemplateDocumentSetFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(originalCreateFolder);\r\n }\r\n } else {\r\n newItem.subMenuProps?.items?.push(originalCreateFolder);\r\n }\r\n }\r\n }\r\n else if (!hasListInWorkingDir) {\r\n const subMenuItem: IContextualMenuItem = {\r\n key: `new-${template.templateId}`,\r\n text: template.title,\r\n iconProps: {},\r\n onRenderIcon: () => renderIcon(template),\r\n onClick: () => {\r\n openCreateTemplateModal(template);\r\n }\r\n }\r\n\r\n if (template.isContentType === true) {\r\n if (template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.folder) && !template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)\r\n || (template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet) && !workingDirectories?.some(dir => dir?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)))) {\r\n if (enableNewTemplateFilters) {\r\n //folder template\r\n if ((template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.folder) && !template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet))) {\r\n if (currentContentype === rootContentType && newTemplateLibraryFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.folder && newTemplateFolderFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.documentSet && newTemplateDocumentSetFilters?.includes(newTemplateFilterEnum.folder)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n //document set template\r\n } else if (template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)) {\r\n if (currentContentype === rootContentType && newTemplateLibraryFilters?.includes(newTemplateFilterEnum.docset)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.folder && newTemplateFolderFilters?.includes(newTemplateFilterEnum.docset)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.documentSet && newTemplateDocumentSetFilters?.includes(newTemplateFilterEnum.docset)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n //not docset or folder template\r\n } else if (!(template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.folder) && !template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet)) && !(template?.contentTypeId?.startsWith(SharePointFolderContentTypeIds.documentSet))) {\r\n if (currentContentype === rootContentType && newTemplateLibraryFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.folder && newTemplateFolderFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.documentSet && newTemplateDocumentSetFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n }\r\n } else {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n }\r\n }\r\n else if (template.templateId !== 'NewXSLSurvey' && template.templateId !== 'NewXSLForm') {\r\n if (enableNewTemplateFilters) {\r\n if (currentContentype === rootContentType && newTemplateLibraryFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.folder && newTemplateFolderFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n else if (currentContentype === SharePointFolderContentTypeIds.documentSet && newTemplateDocumentSetFilters?.includes(newTemplateFilterEnum.file)) {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n } else {\r\n newItem.subMenuProps?.items?.push(subMenuItem);\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (hasListInWorkingDir && selectedItems?.length === 0 && currentSharepointFolder?.userPermissions?.canAddListItem && currentSharepointFolder?.userPermissions?.canEditListItem && !searchValue) {\r\n const originalCreateListItem = {\r\n key: \"createListItem\",\r\n text: languageStrings.ListItem,\r\n iconProps: { iconName: \"FabricNewFolder\" },\r\n onRenderIcon: () => ,\r\n onClick: () => {\r\n openCreateTemplateModal(null);\r\n }\r\n }\r\n\r\n newItem.subMenuProps?.items?.push(originalCreateListItem);\r\n setMenuItem_New(newItem);\r\n return;\r\n }\r\n\r\n if (newItem.subMenuProps?.items?.length > 0) {\r\n setMenuItem_New(newItem);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n setMenuItem_New(null);\r\n\r\n }, [selectedItems, waitFor, currentSharepointFolder, workingDirectories, currentDirectory, siteInfo, newDocumentTemplates, renderIcon, searchValue, enableNewTemplateFilters, newTemplateLibraryFilters, newTemplateFolderFilters, newTemplateDocumentSetFilters]);\r\n\r\n return {\r\n menuItem_New\r\n }\r\n}","import { IDocumentCardPreviewProps } from \"@fluentui/react\";\r\n\r\nexport interface IGraphGetUsersRequest {\r\n\tfilter?: string;\r\n\torderby: string;\r\n\tselect: string; //Comma seperated values\r\n}\r\n\r\nexport interface IGraphGetUsersResponse {\r\n\tid: string;\r\n\tdisplayName: string;\r\n\tmail: string;\r\n\tuserPrincipalName: string;\r\n\tuserType?: string;\r\n}\r\n\r\nexport enum ShareableLinkRequestType {\r\n\tView = 'view',\r\n\tEdit = 'edit',\r\n\tBlocksDownload = 'blocksDownload'\r\n}\r\n\r\nexport enum ShareableLinkRequestScope {\r\n\tAnonymous = \"anonymous\",\r\n Organization = \"organization\",\r\n Users = \"users\"\r\n}\r\n\r\nexport interface IGraphCreateShareableLinkRequest {\r\n\tdriveId: string;\r\n\titemId: string;\t\r\n\ttype: ShareableLinkRequestType;\r\n\tscope: ShareableLinkRequestScope;\r\n\trecipients?: string[]; //array of emails\r\n\tmessage?: string;\r\n}\r\n\r\nexport interface IGraphGetDriveInfoFromSharepointIdRequest {\r\n\tdriveId: string;\r\n\tsharepointId: string;\r\n}\r\n\r\nexport interface IGraphSearchSharePointResponse {\r\n\thits: any[];\r\n\tmoreResultsAvailable: boolean;\r\n\tmoreResulttotalsAvailable: number;\r\n}\r\n\r\nexport enum InsightType {\r\n\tRecent = 'Recent',\r\n\tShared = 'Shared',\r\n\tTrending = 'Trending'\r\n}\r\n\r\nexport enum InsightContainerTypes {\r\n\tSite = 'site',\r\n\tOneDriveBusiness = 'onedrivebusiness',\r\n\tMail = 'mail'\r\n}\r\n\r\nexport interface IGraphInsightsItem {\r\n\tid: string;\r\n\tresourceReference?: IGraphInsightsResourceReference;\r\n\tresourceVisualization?: IGraphInsightsResourceVisualization;\r\n\tlastShared?: IGraphInsightsLastShared;\r\n\tlastUsed?: IGraphInsightsLastUsed;\r\n\tinsightType: InsightType;\r\n\timagePreview?: IDocumentCardPreviewProps;\r\n\tgridDate?: Date;\r\n}\r\nexport interface IGraphInsightsResourceReference {\r\n\tid?: string;\r\n\ttype?: string;\r\n\twebUrl?: string;\r\n}\r\n\r\nexport interface IGraphInsightsResourceVisualization {\r\n\tcontainerDisplayName?: string;\r\n\tcontainerType?: string;\r\n\tcontainerWebUrl?: string;\r\n\tmediaType?: string;\r\n\tpreviewImageUrl?: string;\r\n\tpreviewText?: string;\r\n\ttitle?: string;\r\n\ttype?: string;\r\n\tthumbnailPreviewUrl?: string;\r\n}\r\n\r\nexport interface IGraphInsightsLastShared {\r\n\tid: string;\r\n\tresourceReference: IGraphInsightsResourceReference;\r\n\tresourceVisualization: IGraphInsightsResourceVisualization;\r\n\tsharedBy: IGraphInsightsLastSharedBy;\r\n\tsharedDateTime: string;\r\n\tsharingReference: IGraphInsightsLastSharedReference;\r\n\tsharingSubject: string;\r\n\tsharingType: string;\r\n}\r\n\r\nexport interface IGraphInsightsLastSharedBy {\r\n\taddress: string;\r\n\tdisplayName: IGraphInsightsResourceReference;\r\n\tid: IGraphInsightsResourceVisualization;\r\n}\r\n\r\nexport interface IGraphInsightsLastSharedReference {\r\n\tid: string;\r\n\ttype: IGraphInsightsResourceReference;\r\n\twebUrl: IGraphInsightsResourceVisualization;\r\n}\r\nexport interface IGraphInsightsLastUsed {\r\n\tlastAccessedDateTime: string;\r\n\tlastModifiedDateTime: string;\r\n}","import { FetchArgs, createApi, fetchBaseQuery, retry } from '@reduxjs/toolkit/query/react';\r\nimport { piiConfig, searchFields } from \"../../../../../config/constants\";\r\nimport { IGraphGetDriveInfoFromSharepointIdRequest, IGraphGetUsersRequest, IGraphSearchSharePointResponse } from \"./api-graph-interfaces\";\r\n\r\nconst GRAPH_API_URL = 'https://graph.microsoft.com/v1.0';\r\n\r\nconst staggeredBaseQueryWithBailOut = retry(\r\n async (args: string | FetchArgs, api, extraOptions) => {\r\n const result = await fetchBaseQuery({\r\n baseUrl: GRAPH_API_URL,\r\n prepareHeaders: async (headers) => {\r\n return headers;\r\n }\r\n })(args, api, extraOptions)\r\n const errorStatus = result?.error?.status;\r\n if (errorStatus === 401 || errorStatus === 403) {\r\n retry.fail(result.error);\r\n }\r\n return result;\r\n },\r\n {\r\n maxRetries: 3,\r\n }\r\n);\r\n\r\nexport const apiGraphSlice = createApi({\r\n reducerPath: 'api-graph',\r\n baseQuery: staggeredBaseQueryWithBailOut,\r\n endpoints: (builder) => ({\r\n getMetaDataFields: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { driveId, itemId } = args;\r\n return {\r\n url: `/drives/${driveId}/items/${itemId}/listItem?$select=sharepointIds&$expand=fields($select=${piiConfig.privacySentitiveColumnName},${piiConfig.privacySentitiveDataColumnName})`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getUsers: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('ConsistencyLevel', `eventual`);\r\n\r\n return {\r\n url: `/users?$count=true&$search=\"displayName:${args.request.filter}\" OR \"mail:${args.request.filter}\" OR \"userPrincipalName:${args.request.filter}\"&$orderBy=${args.request.orderby}&$select=${args.request.select}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getAllUsers: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('ConsistencyLevel', `eventual`);\r\n\r\n return {\r\n url: `/users?$top=${args.top ? args.top : 10}&$orderBy=${args.request.orderby}&$select=${args.request.select}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getPeople: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('ConsistencyLevel', `eventual`);\r\n\r\n //url: `/me/people?$top30&$search=${args.request.filter}&$select=displayName,scoredEmailAddresses,personType,department,jobTitle,userPrincipalName&$filter=personType/subclass eq 'OrganizationUser' or personType/subclass eq 'Guest' or personType/subclass eq 'UnifiedGroup'`,\r\n return {\r\n url: `/people?$count=true&$filter=startsWith(displayName,'${args.request.filter}') or startsWith(userPrincipalName,'${args.request.filter}') or startsWith(mail,'${args.request.filter}')&$orderBy=${args.request.orderby}&$select=${args.request.select}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getGroups: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('ConsistencyLevel', `eventual`);\r\n\r\n return {\r\n url: `/groups?$count=true&$filter=startsWith(displayName,'${args.request.filter}') or startsWith(mail,'${args.request.filter}')&$orderBy=${args.request.orderby}&$select=${args.request.select}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getDriveInfoFromSharepointId: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n return {\r\n url: `/drives/${args.request.driveId}/root/search(q='${args.request.sharepointId}')`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getItemWebUrl: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n return {\r\n url: `/drives/${args.driveId}/items/${args.itemId}?$select=id,webUrl&$expand=listItem($select=webUrl)`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getItem: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n return {\r\n url: `/drives/${args.driveId}/items/${args.itemId}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getRecentFiles: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n return {\r\n url: `/me/drive/recent?$select=remoteItem&$top=500`,\r\n method: 'GET',\r\n headers\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n const newResponse = [];\r\n\r\n response.value.forEach((item) => {\r\n newResponse.push({\r\n ...item.remoteItem,\r\n col_name: item.remoteItem.name,\r\n col_lastModifiedDateTime: item.remoteItem.lastModifiedDateTime,\r\n col_size: item.remoteItem.size,\r\n col_lastModifiedBy: item.remoteItem.lastModifiedBy.user.displayName,\r\n })\r\n\r\n });\r\n\r\n return newResponse;\r\n },\r\n }),\r\n searchSharePoint: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { searchValue, searchFilter, siteUrlList, from, size } = args;\r\n\r\n let queryString: string = searchFilter\r\n ? `(*${searchValue}*) ${searchFilter}`\r\n : `(*${searchValue}*)`;\r\n\r\n if (Array.isArray(siteUrlList) && siteUrlList.length > 0) {\r\n const siteUrls: string[] = siteUrlList.filter(siteUrl => siteUrl);\r\n if (siteUrls.length > 0) {\r\n queryString += ` (${siteUrlList\r\n .map(siteUrl => `site:\\\"${siteUrl}\\\"`)\r\n .join(\" OR \")})`;\r\n }\r\n }\r\n\r\n const body = {\r\n requests: [\r\n {\r\n entityTypes: [\r\n \"site\",\r\n \"driveItem\"\r\n ],\r\n query: {\r\n queryString\r\n },\r\n fields: searchFields.graph,\r\n from: from ?? 0,\r\n size: size ?? 250\r\n }\r\n ]\r\n }\r\n\r\n return {\r\n url: `/search/query`,\r\n method: 'POST',\r\n body,\r\n headers\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n return { ...response.value[0].hitsContainers[0] } as IGraphSearchSharePointResponse;\r\n },\r\n }),\r\n getSiteIdFromDriveId: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n return {\r\n url: `/drives/${args.driveId}?$select=list&$expand=list($select=parentReference)`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getDriveItemBySharingUrl: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { sharingUrl } = args;\r\n\r\n let base64Value = window.btoa(sharingUrl) as string;\r\n let encodedUrl = `u!${base64Value.replace(new RegExp(\"=\" + \"([^\" + \"=\" + \"]*)$\"), \"\" + \"$1\")}`; //Replace last = from base64 string\r\n encodedUrl = encodedUrl.replaceAll(\"/\", \"_\");\r\n encodedUrl = encodedUrl.replaceAll(\"+\", \"-\");\r\n\r\n return {\r\n url: `https://graph.microsoft.com/v1.0/shares/${encodedUrl}/driveItem?$select=name,sharepointIds,parentReference&$expand=listItem`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n sendMail: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { html, subject, toRecipients } = args;\r\n\r\n const body = {\r\n \"message\": {\r\n \"subject\": subject,\r\n \"body\": {\r\n \"contentType\": \"HTML\",\r\n \"content\": html\r\n },\r\n \"toRecipients\": toRecipients.map(recipient => {\r\n return {\r\n \"emailAddress\": {\r\n \"address\": recipient\r\n }\r\n }\r\n }),\r\n }\r\n }\r\n\r\n return {\r\n url: `https://graph.microsoft.com/v1.0/me/sendMail`,\r\n method: 'POST',\r\n body,\r\n headers\r\n }\r\n }\r\n })\r\n })\r\n});\r\n\r\nexport const {\r\n useLazyGetMetaDataFieldsQuery,\r\n useLazyGetUsersQuery,\r\n useLazyGetAllUsersQuery,\r\n useLazyGetPeopleQuery,\r\n useLazyGetGroupsQuery,\r\n useLazyGetDriveInfoFromSharepointIdQuery,\r\n useLazyGetRecentFilesQuery,\r\n useLazySearchSharePointQuery,\r\n useLazyGetItemWebUrlQuery,\r\n useLazyGetSiteIdFromDriveIdQuery,\r\n useLazyGetItemQuery,\r\n useLazyGetDriveItemBySharingUrlQuery,\r\n useLazySendMailQuery\r\n} = apiGraphSlice;","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';\r\nimport authModule from \"../../../../../../../utilities/AuthModule\";\r\nimport { GraphItemPIIRequest, PIIRequest, PIIResult } from \"./api-local-interfaces\";\r\n\r\nconst PII_API_URL = process.env.piiApiUri;\r\n\r\nexport const apiPiiSlice = createApi({\r\n reducerPath: 'api-pii',\r\n baseQuery: fetchBaseQuery({\r\n baseUrl: PII_API_URL,\r\n prepareHeaders: async (headers) => { \r\n headers.set('XPII-API-KEY', authModule.getTenantApiKey());\r\n\t\t\treturn headers;\r\n\t\t},\r\n }),\r\n endpoints: (builder) => ({\r\n\t\tcheckPii: builder.mutation({\r\n query: (data) => ({\r\n\t\t\t\turl: `/pii`,\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: data,\r\n\t\t\t})\r\n\t\t}),\r\n graphItemPii: builder.mutation({\r\n query: (data) => ({\r\n\t\t\t\turl: `/graphitempii`,\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: data,\r\n\t\t\t})\r\n\t\t})\r\n })\r\n});\r\n\r\nexport const {\r\n useCheckPiiMutation,\r\n useGraphItemPiiMutation\r\n} = apiPiiSlice;","import { createApi, fetchBaseQuery, retry } from '@reduxjs/toolkit/query/react';\r\nimport { IStopInstanceRequest, IStopInstanceResponse, ITaskRequest, ITaskResponse } from \"./api-nintex-interface\";\r\n\r\nconst API_URL = `https://eu.nintex.io`;\r\n\r\nexport const apiNintexSlice = createApi({\r\n reducerPath: 'api-nintex',\r\n baseQuery: retry(fetchBaseQuery({\r\n baseUrl: API_URL\r\n })),\r\n endpoints: (builder) => ({\r\n getTasks: builder.query({\r\n query: (args) => {\r\n const { assignee, accessToken } = args;\r\n\r\n const headers = new Headers();\r\n headers.set('Content-Type', `application/json`);\r\n headers.set('Authorization', `Bearer ${accessToken}`);\r\n\r\n return {\r\n url: `/workflows/v2/tasks?assignee=${assignee}`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n\r\n stopInstance: builder.query({\r\n query: (args) => {\r\n const { instanceId, reason, accessToken } = args;\r\n\r\n const headers = new Headers();\r\n headers.set('Content-Type', `application/json`);\r\n headers.set('Authorization', `Bearer ${accessToken}`);\r\n\r\n const body = {\r\n reason\r\n }\r\n\r\n return {\r\n url: `/workflows/v1/instances/${instanceId}/terminate`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n }\r\n }),\r\n })\r\n});\r\n\r\nexport const {\r\n useLazyGetTasksQuery,\r\n useLazyStopInstanceQuery\r\n} = apiNintexSlice;","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';\r\nimport { DocumentTemplateTypes } from \"../../../../../../../contentManager/Body/MenuItems/useMenuItem_New\";\r\nimport { GridProps, GridSortProps } from \"../../../../../../../contentManager/Body/useContentManagerBody\";\r\nimport { FilterSectionItemsExpandSearchParams } from \"../../../../../../../contentManager/Panels/CMFileFilterPanel/CMFileFilterPanelSection\";\r\nimport { PersonaUser } from \"../../../../../../../contentManager/Panels/CMPermissionsAddMembersPanel\";\r\nimport { tryDecodeUriComponent } from '../../../../../../../utilities/EncodeDecode';\r\nimport { piiConfig } from \"../../../../../config/constants\";\r\nimport { FilterSection, SearchValue } from \"../../../../../redux/models/reduxModels\";\r\nimport { getUserEffectivePermissionsFromMask } from '../../../../../services/SharePointRestServices';\r\nimport { CheckinTypes } from \"../local/api-local-interfaces\";\r\nimport { SearchFilterBuilderExtensions } from '../../../../../../../utilities/SearchFilterBuilder';\r\nimport { FilterTypeEnum } from '../../../../enums/FilterTypeEnum';\r\nimport { NewDocumentTemplate } from '../../../../../interfaces/IDocumentTemplate';\r\n\r\nconst Sharepoint_API_URL = '';\r\nconst effectiveBasePermissionsPropName: string = \"EffectiveBasePermissions\";\r\n\r\nexport const apiSharePointSlice = createApi({\r\n reducerPath: 'api-sharepoint',\r\n baseQuery: fetchBaseQuery({\r\n baseUrl: Sharepoint_API_URL,\r\n }),\r\n endpoints: (builder) => ({\r\n getListColumns: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId } = args;\r\n return {\r\n url: `${siteUrl}/_api/web/lists(guid'${sharePointListId}')/fields?$select=Title&$filter=(Title eq '${piiConfig.privacySentitiveColumnName}') or (Title eq '${piiConfig.privacySentitiveDataColumnName}')`,\r\n method: 'GET',\r\n headers\r\n }\r\n },\r\n }),\r\n getListColumnsSchema: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId } = args;\r\n return {\r\n url: `${siteUrl}/_api/web/lists(guid'${sharePointListId}')/fields?$filter=Hidden eq false`,\r\n method: 'GET',\r\n headers\r\n }\r\n },\r\n }),\r\n getListServerRelativeUrl: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId } = args;\r\n return {\r\n url: `${siteUrl}/_api/web/lists(guid'${sharePointListId}')/rootFolder?$select=ServerRelativeUrl`,\r\n method: 'GET',\r\n headers\r\n }\r\n },\r\n }),\r\n sendSharepointItemToRecyclebin: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, itemId } = args;\r\n return {\r\n url: `${siteUrl}/_api/web/lists(guid'${sharePointListId}')/GetItemById(${itemId})/recycle`,\r\n method: 'POST',\r\n headers\r\n }\r\n },\r\n }),\r\n renderListAsStream: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, viewXml, viewId, gridProps, serverRelativePath, filterSections, includeReplaceGroup, searchValue, filterSectionItemsExpandParams, nextPageUrl, isReport } = args;\r\n\r\n let searchValueStr = '';\r\n if (searchValue?.value?.trim()) {\r\n searchValueStr = `&InplaceSearchQuery=(*${searchValue.value.replaceAll(\"&\", \"%26\")}*)`;\r\n }\r\n\r\n let overrideViewXml = '';\r\n\r\n const filterStrings: string[] = [];\r\n\r\n const reportCondition: string = isReport\r\n ? \"30\"\r\n : \"\";\r\n\r\n let filterFieldCount = 1;\r\n if (filterSectionItemsExpandParams) {\r\n const condition: string = `${filterSectionItemsExpandParams.value}`;\r\n if (isReport) {\r\n overrideViewXml = `${reportCondition}${condition}`;\r\n }\r\n else {\r\n overrideViewXml = `${condition}`;\r\n }\r\n }\r\n else {\r\n if (filterSections.length > 0) {\r\n filterSections.forEach(section => {\r\n if (section.daysOffset || section.daysOffset === 0) {\r\n let condition: string;\r\n if (section.daysOffset < 0) {\r\n // If the offset is negative, return dates from the past up to today\r\n condition = ``;\r\n } else if (section.daysOffset === 0) {\r\n // If the offset is zero, return results for today\r\n condition = ``;\r\n } else if (section.daysOffset === 1) {\r\n // If the offset is 1, return results only for tomorrow\r\n condition = ``;\r\n } else if (section.daysOffset > 1 && section.daysOffset <= 92) {\r\n // If the offset is between 1 and 92 (inclusive), return results from tomorrow up to the specified offset\r\n condition = ``;\r\n } else {\r\n // If the offset is 93 or higher, return results from tomorrow onwards\r\n condition = ``;\r\n }\r\n\r\n if (isReport) {\r\n condition = `${reportCondition}${condition}`;\r\n }\r\n overrideViewXml = `${condition}`;\r\n }\r\n else if (section.items.some(x => x.selected)) {\r\n let selectedCount = section.items.filter(x => x.selected).length;\r\n let isWordSelected = section.items.some(x => x.selected && x.fileType === 'docx');\r\n let isExcelSelected = section.items.some(x => x.selected && x.fileType === 'xlsx');\r\n let isPowerPointSelected = section.items.some(x => x.selected && x.fileType === 'pptx');\r\n let isVisioSelected = section.items.some(x => x.selected && x.fileType === 'vsdx');\r\n\r\n let fieldValues = section.items.filter(x => x.selected).map(item => item.value).join('%3B%23');\r\n if (selectedCount > 1) {\r\n fieldValues = fieldValues.replaceAll(\";\", \"%3B%3B\");\r\n }\r\n \r\n const filterField = `FilterField${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${section.filterField.RealFieldName}`;\r\n const filterValue = `FilterValue${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${fieldValues}`;\r\n const filterType = `FilterType${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${section.filterField.Type}`;\r\n const filterOp = `FilterOp${filterFieldCount}=In`;\r\n filterStrings.push(`${filterField}&${filterValue.replaceAll(\"&\", \"%26\")}&${filterType}&${filterOp}`);\r\n filterFieldCount += 1;\r\n }\r\n });\r\n }\r\n }\r\n\r\n // if (searchValue?.filterType !== \"\") {\r\n // const filterField = `FilterField${searchValue?.filterType !== FilterTypeEnum.PDF ? \"s\" : \"\"}${filterFieldCount}=DocIcon`;\r\n // const filterValues = `FilterValue${searchValue?.filterType !== FilterTypeEnum.PDF ? \"s\" : \"\"}${filterFieldCount}=${SearchFilterBuilderExtensions(searchValue?.filterType).join('%3B%23')}`;\r\n // const filterType = `FilterType${searchValue?.filterType !== FilterTypeEnum.PDF ? \"s\" : \"\"}${filterFieldCount}=Computed`;\r\n // const filterOp = `FilterOp${filterFieldCount}=In`;\r\n // filterStrings.push(`${filterField}&${filterValues.replaceAll(\"&\", \"%26\")}&${filterType}&${filterOp}`);\r\n // }\r\n\r\n const filterFieldsString = `${filterStrings.length > 0 ? '&' : ''}${filterStrings.join('&')}`;\r\n\r\n let viewIdurl = viewId ? `View=${viewId}` : '';\r\n\r\n let sortFields = buildSortByUrl(gridProps.sort);\r\n\r\n let body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n ViewXml: '',\r\n OverrideViewXml: '',\r\n AddRequiredFields: true,\r\n AllowMultipleValueFilterForTaxonomyFields: true,\r\n RenderOptions: 1445895\r\n }\r\n }\r\n\r\n if (isReport && !overrideViewXml) {\r\n overrideViewXml = `${reportCondition}`;\r\n }\r\n\r\n if (overrideViewXml) {\r\n body.parameters.OverrideViewXml = overrideViewXml;\r\n delete body.parameters.ViewXml;\r\n } else {\r\n body.parameters.ViewXml = viewXml;\r\n delete body.parameters.OverrideViewXml;\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n //To bypass SP throttling - SPQueryThrottledException\r\n if (isReport || includeReplaceGroup === true) {\r\n body.parameters['ReplaceGroup'] = true;\r\n }\r\n\r\n let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}${sortFields}${filterFieldsString}${searchValueStr}`;\r\n if (nextPageUrl) {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextPageUrl}`;\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n\r\n renderListAsStreamTree: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, serverRelativePath, nextPageUrl } = args;\r\n\r\n let body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n OverrideViewXml: \"50\",\r\n RenderOptions: 1445895,\r\n ReplaceGroup: true\r\n }\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n let filterField = \"FSObjType\";\r\n let filterValue = 1;\r\n\r\n let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?SortField=ID&SortDir=Desc&FilterField1=${filterField}&FilterValue1=${filterValue}`;\r\n if (nextPageUrl) {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextPageUrl}`;\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n\r\n renderListAsStreamByID: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, viewId, Id, serverRelativePath } = args;\r\n\r\n let viewIdurl = viewId ? `View=${viewId}` : '';\r\n\r\n const body = {\r\n parameters: {\r\n AddRequiredFields: true,\r\n DatesInUtc: true,\r\n RenderOptions: 1445895,\r\n ReplaceGroup: true\r\n }\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}&SortDir=Desc&FilterField1=ID&FilterValue1=${Id}`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n\r\n renderListAsStreamGroupDrilldown: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, viewId, groupString, sortProps, serverRelativePath, nextHref, filterField, filterValue, filterSections, searchValue } = args;\r\n\r\n let viewIdurl = viewId ? `View=${viewId}` : '';\r\n let sortFields = buildSortByUrl(sortProps);\r\n\r\n let overrideViewXml = '';\r\n\r\n const filterStrings: string[] = [];\r\n let filterFieldCount = 1;\r\n if (filterSections.length > 0) {\r\n filterSections.forEach(section => {\r\n if (section.daysOffset || section.daysOffset === 0) {\r\n overrideViewXml = ``\r\n } else {\r\n if (section.items.some(x => x.selected)) {\r\n let selectedCount = section.items.filter(x => x.selected).length;\r\n let isWordSelected = section.items.some(x => x.selected && x.fileType === 'docx');\r\n let isExcelSelected = section.items.some(x => x.selected && x.fileType === 'xlsx');\r\n let isPowerPointSelected = section.items.some(x => x.selected && x.fileType === 'pptx');\r\n let isVisioSelected = section.items.some(x => x.selected && x.fileType === 'vsdx');\r\n\r\n const fieldValues = section.items.filter(x => x.selected).map(item => item.value).join('%3B%23');\r\n const filterField = `FilterField${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${section.filterField.RealFieldName}`;\r\n const filterValue = `FilterValue${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${fieldValues}`;\r\n const filterType = `FilterType${selectedCount > 1 ? 's' : (isWordSelected || isExcelSelected || isPowerPointSelected || isVisioSelected) ? 's' : ''}${filterFieldCount}=${section.filterField.Type}`;\r\n const filterOp = `FilterOp${filterFieldCount}=In`;\r\n filterStrings.push(`${filterField}&${filterValue.replaceAll(\"&\", \"%26\")}&${filterType}&${filterOp}`);\r\n filterFieldCount += 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n const filterFieldsString = `${filterStrings.length > 0 ? '&' : ''}${filterStrings.join('&')}`;\r\n\r\n const searchValueStr = searchValue?.value?.trim().length > 0 ? `&InplaceSearchQuery=(*${searchValue.value.replaceAll(\"&\", \"%26\")}*)` : \"\";\r\n\r\n // let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}&IsGroupRender=TRUE&DrillDown=1&GroupString=${groupString}${sortFields}${filterFieldsString}${searchValueStr}`;\r\n\r\n // if (nextHref) {\r\n // url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextHref}`;\r\n\r\n // let updatedURL = new URL(url);\r\n // let params = new URLSearchParams(updatedURL.search);\r\n // params.delete('GroupString');\r\n // params.delete('DrillDown');\r\n // params.append('FilterField1', decodeURI(filterField));\r\n // params.append('FilterValue1', decodeURI(filterValue));\r\n\r\n // url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${params.toString()}`;\r\n // }\r\n let url: string;\r\n if (!nextHref) {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}&IsGroupRender=TRUE&DrillDown=1&GroupString=${groupString}${sortFields}${filterFieldsString}${searchValueStr}`;\r\n }\r\n else {\r\n const groupPagedUrl = new URL(`${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextHref}`);\r\n groupPagedUrl.searchParams.append(\"IsGroupRender\", \"TRUE\");\r\n url = groupPagedUrl.href;\r\n }\r\n\r\n const body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n AddRequiredFields: true,\r\n AllowMultipleValueFilterForTaxonomyFields: true,\r\n RenderOptions: 4103\r\n }\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n\r\n renderListAsStreamGroupDrilldown2: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, viewId, sortProps, serverRelativePath, nextHref, filterField, filterValue, searchValue } = args;\r\n\r\n let viewIdurl = viewId ? `View=${viewId}` : '';\r\n let sortFields = buildSortByUrl(sortProps);\r\n\r\n const searchValueStr = searchValue?.value?.trim().length > 0 ? `&InplaceSearchQuery=(*${searchValue.value.replaceAll(\"&\", \"%26\")}*)` : \"\";\r\n\r\n let url = ``\r\n if (!nextHref) {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}&FilterField1=${filterField}&FilterValue1=${filterValue}${sortFields}${searchValueStr}`;\r\n } else {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextHref}`;\r\n }\r\n\r\n const body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n AddRequiredFields: true,\r\n AllowMultipleValueFilterForTaxonomyFields: true,\r\n RenderOptions: 4103\r\n }\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n renderListAsStreamNextPage: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, nextPageUrl, filterSections, searchValue } = args;\r\n\r\n let overrideViewXml = '';\r\n\r\n if (filterSections.length > 0) {\r\n filterSections.forEach(section => {\r\n\r\n if (section.daysOffset || section.daysOffset === 0) {\r\n if (section.daysOffset < 0) {\r\n // If the offset is negative, return dates from the past up to today\r\n overrideViewXml = ``;\r\n } else if (section.daysOffset === 0) {\r\n // If the offset is zero, return results for today\r\n overrideViewXml = ``;\r\n } else if (section.daysOffset === 1) {\r\n // If the offset is 1, return results only for tomorrow\r\n overrideViewXml = ``;\r\n } else if (section.daysOffset > 1 && section.daysOffset <= 92) {\r\n // If the offset is between 1 and 92 (inclusive), return results from tomorrow up to the specified offset\r\n overrideViewXml = ``;\r\n } else {\r\n // If the offset is 93 or higher, return results from tomorrow onwards\r\n overrideViewXml = ``;\r\n }\r\n }\r\n });\r\n }\r\n\r\n const body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n AddRequiredFields: true,\r\n OverrideViewXml: '',\r\n AllowMultipleValueFilterForTaxonomyFields: true,\r\n RenderOptions: 1445895\r\n }\r\n }\r\n\r\n if (overrideViewXml) {\r\n body.parameters.OverrideViewXml = overrideViewXml;\r\n } else {\r\n delete body.parameters.OverrideViewXml;\r\n }\r\n\r\n let url: string = `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream${nextPageUrl}`;\r\n if (searchValue?.value?.trim()) {\r\n url += `&InplaceSearchQuery=(*${searchValue.value.replaceAll(\"&\", \"%26\")}*)`;\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n renderListAsStreamSearch: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, viewId, searchValue, serverRelativePath, sortProps } = args;\r\n\r\n let viewIdurl = viewId ? `View=${viewId}` : '';\r\n\r\n const body = {\r\n parameters: {\r\n DatesInUtc: true,\r\n AddRequiredFields: true,\r\n AllowMultipleValueFilterForTaxonomyFields: true,\r\n FirstGroupOnly: true,\r\n OverrideViewXml: \"100\",\r\n RenderOptions: 4103\r\n }\r\n }\r\n\r\n if (serverRelativePath) {\r\n body.parameters['FolderServerRelativeUrl'] = tryDecodeUriComponent(serverRelativePath);\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/RenderListDataAsStream?${viewIdurl}&InplaceSearchQuery=(*${searchValue.replaceAll(\"&\", \"%26\")}*)${buildSortByUrl(sortProps)}`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n for (let i = 0, n = response.ListData.Row.length; i < n; ++i) {\r\n response.ListData.Row[i][effectiveBasePermissionsPropName] = getUserEffectivePermissionsFromMask(response.ListData.Row[i].PermMask);\r\n }\r\n return response;\r\n }\r\n }),\r\n getItemByUniqueID: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/GetItemByUniqueId('${uniqueId}')`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getFileByID: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getItemBySPItemURL: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n let { spItemUrl } = args;\r\n\r\n spItemUrl = spItemUrl.replace('v2.0', 'v2.1')\r\n\r\n return {\r\n url: spItemUrl,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n getItemByItemAndDriveID: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n let { siteUrl, driveId, itemId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/v2.1/drives/${driveId}/items/${itemId}?%24select=*`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n checkoutItem: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/checkout`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n checkinItem: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId, checkinType, comment } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/checkin(comment='${comment}',checkintype=${checkinType})`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n publishItem: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId, comment } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/publish(comment='${comment}')`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n unpublishItem: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/unpublish(comment='')`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n undoCheckout: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/undocheckout`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n getItemVersions: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json; odata=verbose`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/versions`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n getItemByUniqueIDVersions: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/GetItemByUniqueId('${uniqueId}')/versions`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n restoreVersionByLabel: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Accept', `application/json;odata=nometadata`);\r\n headers.set('Content-Type', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('IF-MATCH', `*`);\r\n headers.set('X-HTTP-Method', `PATCH`);\r\n\r\n const { siteUrl, uniqueId, versionLabel } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/versions/RestoreByLabel('${versionLabel}')`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n deleteVersionByLabel: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Accept', `application/json;odata=nometadata`);\r\n headers.set('Content-Type', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('IF-MATCH', `*`);\r\n headers.set('X-HTTP-Method', `DELETE`);\r\n\r\n const { siteUrl, uniqueId, versionLabel } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/versions/DeleteByLabel('${versionLabel}')`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n deleteAllVersions: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('Accept', `application/json;odata=nometadata`);\r\n headers.set('Content-Type', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n headers.set('IF-MATCH', `*`);\r\n headers.set('X-HTTP-Method', `DELETE`);\r\n\r\n const { siteUrl, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/GetFileById(guid'${uniqueId}')/versions/DeleteAll()`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n bulkValidateUpdateListItems: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, status, comments, itemId } = args;\r\n\r\n const body = {\r\n folderPath: '',\r\n formValues: [\r\n { FieldName: \"_ModerationStatus\", FieldValue: status },\r\n { FieldName: \"_ModerationComments\", FieldValue: comments }\r\n ],\r\n itemIds: [itemId]\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/BulkValidateUpdateListItems()`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n }\r\n }),\r\n createDocumentAndGetEditLink: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, folderPath, template, filename } = args;\r\n\r\n let fileWithExtention = filename.replaceAll(\"'\", \"''\");\r\n if (template.documentTemplateType !== DocumentTemplateTypes.one) {\r\n fileWithExtention = `${filename}.${template.extention}`\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/CreateDocumentAndGetEditLink(fileName='${fileWithExtention}',folderPath='${folderPath}',documentTemplateType=${template.documentTemplateType},templateUrl='${template.url ? template.url : ''}')`,\r\n method: 'POST',\r\n headers,\r\n }\r\n }\r\n }),\r\n getSiteExpandAuthor: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web?$expand=Author`,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n getSiteGroupUsers: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, groupId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/SiteGroups/GetById(id=${groupId})?$expand=Users`,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n getDocumentLibraryGroupUsers: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, groupId, sharePointListId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/RoleAssignments/GetByPrincipalId(${groupId})/Member?$expand=Users`,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n breakRoleInheritanceOfList: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/breakroleinheritance(true)`,\r\n method: 'POST',\r\n headers,\r\n }\r\n }\r\n }),\r\n deleteLibraryCurrentRoleForGroup: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, userId, roleDefId } = args;\r\n\r\n let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/roleassignments/removeroleassignment(principalid=${userId}, roledefid=${roleDefId})`;\r\n if (!sharePointListId) {\r\n url = `${siteUrl}/_api/web/roleassignments/removeroleassignment(principalid=${userId}, roledefid=${roleDefId})`;\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n }\r\n }\r\n }),\r\n addLibraryCurrentRoleForGroup: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, userId, roleDefId } = args;\r\n\r\n let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/roleassignments/addroleassignment(principalid=${userId}, roledefid=${roleDefId})`;\r\n if (!sharePointListId) {\r\n url = `${siteUrl}/_api/web/roleassignments/addroleassignment(principalid=${userId}, roledefid=${roleDefId})`;\r\n }\r\n\r\n return {\r\n url,\r\n method: 'POST',\r\n headers,\r\n }\r\n }\r\n }),\r\n getSiteRoleAssignments: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId } = args;\r\n\r\n let url = `${siteUrl}/_api/web/roleassignments?$expand=Member/users,RoleDefinitionBindings`;\r\n\r\n if (sharePointListId) {\r\n url = `${siteUrl}/_api/web/lists('${sharePointListId}')/roleassignments?$expand=Member/users,RoleDefinitionBindings`;\r\n }\r\n\r\n //let url = `${siteUrl}/_api/web/lists('${sharePointListId}')/roleassignments?$expand=Member/users,RoleDefinitionBindings`;\r\n\r\n return {\r\n url,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n getRoleDefinitions: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, } = args;\r\n\r\n let url = `${siteUrl}/_api/web/RoleDefinitions`;\r\n\r\n return {\r\n url,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n moveUsertoSiteGroup: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, groupId, loginName } = args;\r\n\r\n const body = {\r\n LoginName: loginName\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/sitegroups(id=${groupId})/users`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n }\r\n }),\r\n addUsersToGroup: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, roleValue, users, loginNameTypeOveride, sharePointListId } = args;\r\n\r\n let spListObjStr = '';\r\n if (sharePointListId && roleValue.includes('role')) {\r\n spListObjStr = `?obj={${sharePointListId}},DOCLIB&List=%7B${sharePointListId}%7D`\r\n }\r\n\r\n let peoplePickerInputStr = '';\r\n if (users[0].isGroup) {\r\n peoplePickerInputStr = `[{\\\"Key\\\":\\\"${loginNameTypeOveride ? loginNameTypeOveride : 'i:0#.f|tenant'}|${users[0].userGuid}\\\",\\\"IsResolved\\\":true}]`\r\n } else {\r\n peoplePickerInputStr = `[{\\\"Key\\\":\\\"i:0#.f|membership|${users[0].email.toLowerCase()}\\\",\\\"IsResolved\\\":true}]`\r\n }\r\n\r\n\r\n const body = {\r\n propagateAcl: false,\r\n emailBody: \"\",\r\n emailSubject: \"\",\r\n groupId: 0,\r\n includeAnonymousLinkInEmail: false,\r\n peoplePickerInput: peoplePickerInputStr,\r\n roleValue,\r\n sendEmail: false,\r\n url: `${siteUrl}${spListObjStr}`\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/SP.Web.ShareObject?$expand=UsersWithAccessRequests,GroupsSharedWith`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n }\r\n }),\r\n removeUserFromSiteGroup: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, groupId, userId } = args;\r\n\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/sitegroups(id=${groupId})/users/removebyid(id=${userId})`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n getSecurityGroupMembersOwners: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, groupGuid, userType } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/SP.Directory.DirectorySession/Group('${groupGuid}')/${userType}?$skip=0&$top=20&$inlinecount=allpages&$select=PrincipalName,Id,DisplayName,PictureUrl,UserType,Mail`,\r\n method: 'GET',\r\n headers,\r\n }\r\n }\r\n }),\r\n getCopyJobProgress: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json;odata=nometadata`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, copyJobInfo } = args;\r\n\r\n const body = {\r\n copyJobInfo\r\n }\r\n\r\n return {\r\n url: `${siteUrl}/_api/site/GetCopyJobProgress`,\r\n method: 'POST',\r\n headers,\r\n body\r\n }\r\n }\r\n }),\r\n getSharingInformation: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl, sharePointListId, uniqueId } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/web/lists('${sharePointListId}')/GetItemByUniqueId('${uniqueId}')/GetSharingInformation?$select=permissionsInformation&$Expand=permissionsInformation`,\r\n method: 'POST',\r\n headers\r\n }\r\n }\r\n }),\r\n getFollowedSites: builder.query({\r\n query: (args) => {\r\n const headers = new Headers();\r\n headers.set('accept', `application/json`);\r\n headers.set('Authorization', `Bearer ${args.accessToken}`);\r\n\r\n const { siteUrl } = args;\r\n\r\n return {\r\n url: `${siteUrl}/_api/social.following/my/followed(types=4)`,\r\n method: 'GET',\r\n headers\r\n }\r\n }\r\n }),\r\n })\r\n\r\n});\r\n\r\nconst buildSortByUrl = (sortProps: GridSortProps[]) => {\r\n if (sortProps?.length === 1) {\r\n const direction = sortProps[0].decending ? 'Desc' : 'Asc'\r\n\r\n return `&SortField=${sortProps[0].field}&SortDir=${direction}`;\r\n }\r\n else if (sortProps?.length === 1) {\r\n const directionField1 = sortProps[0].decending ? 'Desc' : 'Asc'\r\n const directionField2 = sortProps[1].decending ? 'Desc' : 'Asc'\r\n\r\n return `&SortField=${sortProps[0].field}&SortDir=${directionField1}&SortField=${sortProps[1].field}&SortDir=${directionField2}`;\r\n }\r\n\r\n return '';\r\n}\r\n\r\nexport const {\r\n useLazyGetListColumnsQuery,\r\n useLazyGetListColumnsSchemaQuery,\r\n useLazyRenderListAsStreamQuery,\r\n useLazyRenderListAsStreamGroupDrilldownQuery,\r\n useLazyRenderListAsStreamGroupDrilldown2Query,\r\n useLazyRenderListAsStreamNextPageQuery,\r\n useLazyRenderListAsStreamSearchQuery,\r\n useLazyGetItemByUniqueIDQuery,\r\n useLazyGetListServerRelativeUrlQuery,\r\n useLazyRenderListAsStreamByIDQuery,\r\n useLazySendSharepointItemToRecyclebinQuery,\r\n useLazyGetItemBySPItemURLQuery,\r\n useLazyGetItemByItemAndDriveIDQuery,\r\n useLazyGetFileByIDQuery,\r\n useLazyCheckoutItemQuery,\r\n useLazyCheckinItemQuery,\r\n useLazyUnpublishItemQuery,\r\n useLazyPublishItemQuery,\r\n useLazyUndoCheckoutQuery,\r\n useLazyGetItemVersionsQuery,\r\n useLazyGetItemByUniqueIDVersionsQuery,\r\n useLazyRestoreVersionByLabelQuery,\r\n useLazyDeleteVersionByLabelQuery,\r\n useLazyDeleteAllVersionsQuery,\r\n useLazyBulkValidateUpdateListItemsQuery,\r\n useLazyCreateDocumentAndGetEditLinkQuery,\r\n useLazyGetSiteExpandAuthorQuery,\r\n useLazyGetSiteGroupUsersQuery,\r\n useLazyGetSiteRoleAssignmentsQuery,\r\n useLazyMoveUsertoSiteGroupQuery,\r\n useLazyAddUsersToGroupQuery,\r\n useLazyRemoveUserFromSiteGroupQuery,\r\n useLazyGetDocumentLibraryGroupUsersQuery,\r\n useLazyAddLibraryCurrentRoleForGroupQuery,\r\n useLazyDeleteLibraryCurrentRoleForGroupQuery,\r\n useLazyBreakRoleInheritanceOfListQuery,\r\n useLazyGetRoleDefinitionsQuery,\r\n useLazyGetSecurityGroupMembersOwnersQuery,\r\n useLazyGetCopyJobProgressQuery,\r\n useLazyGetSharingInformationQuery,\r\n useLazyGetFollowedSitesQuery,\r\n useLazyRenderListAsStreamTreeQuery\r\n} = apiSharePointSlice;","import authModule from \"../../../../../utilities/AuthModule\";\r\nimport { axiosRetryGet, axiosRetryPost } from \"../../../../../utilities/AxiosRetryUtil\";\r\nimport { logger } from \"../../../../../utilities/logger\";\r\nimport { IApproval, IApprovalResponse, IReassignResponse } from \"./ApprovalsModels\";\r\n\r\nexport class ApprovalsService {\r\n private tenantId: string;\r\n constructor(tenantId: string) {\r\n this.tenantId = tenantId;\r\n }\r\n\r\n public async getMyApprovals(): Promise {\r\n // return (\r\n // await this.getData(\r\n // \"/approvalViews?$top=100&$filter=properties/userRole+eq+'Approver'+and+properties/isActive+eq+'true'+and+properties/isDescending+eq+'false'&api-version=2016-11-01\"\r\n // )\r\n // );\r\n try {\r\n let approvalResponse: any = await this.getData(\r\n \"/approvalViews?$filter=properties/userRole+eq+'Approver'+and+properties/isActive+eq+'true'+and+properties/isDescending+eq+'false'&api-version=2016-11-01\"\r\n );\r\n \r\n let approvals: IApproval[] = approvalResponse?.value;\r\n if (approvals?.length > 0) {\r\n let nextLink: string = approvalResponse?.nextLink;\r\n while (nextLink) {\r\n approvalResponse = await this.getData(nextLink, true);\r\n approvals = approvals.concat(approvalResponse?.value ?? []);\r\n nextLink = approvalResponse?.nextLink;\r\n }\r\n }\r\n return approvals ?? []; \r\n } catch (error) {\r\n logger(error, \"ApprovalsService.ts (getMyApprovals)\");\r\n }\r\n return [];\r\n }\r\n\r\n public async respond(approvalName: string, comment: string, response: string): Promise {\r\n try {\r\n return this.postData(`/approvals/${approvalName}/approvalResponses?api-version=2016-11-01`, {\r\n properties: { response: response, comments: comment },\r\n }); \r\n } catch (error) {\r\n logger(error, \"ApprovalsService.ts (respond)\");\r\n }\r\n return null;\r\n }\r\n\r\n public async reassign(approvalName: string, assignedToEmail: string, userUniqueId: string): Promise {\r\n\r\n const accessToken = await authModule.getFlowAccessToken();\r\n const responses: IReassignResponse[] = (await axiosRetryGet(`${this.getBaseUrl()}/approvals/${approvalName}/approvalRequests?api-version=2016-11-01`, {\r\n headers: {\r\n authorization: `Bearer ${accessToken}`,\r\n accept: \"application/json\",\r\n },\r\n }))?.data;\r\n if (responses) {\r\n //now find the NAME attribute of the object where properties.assignTo.id === currentUser.id\r\n const userName = responses.find(response => response.properties.assignedTo.id === userUniqueId)?.name;\r\n try {\r\n const response = await this.postData(`/approvals/${approvalName}/approvalRequests/${userName}/reassign?api-version=2016-11-01`, { assignedTo: assignedToEmail });\r\n return response; \r\n } catch (error) {\r\n logger(error, \"ApprovalsService.ts (reassign - postData)\");\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n protected getBaseUrl(): string {\r\n return `https://emea.api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments/Default-${this.tenantId}`;\r\n }\r\n\r\n protected getData = async (url: string, isNextPageRequest: boolean = false) => {\r\n try {\r\n const accessToken = await authModule.getFlowAccessToken();\r\n const response = await axiosRetryGet(\r\n !isNextPageRequest ? `${this.getBaseUrl()}${url}` : url,\r\n {\r\n headers: {\r\n authorization: `Bearer ${accessToken}`,\r\n accept: \"application/json\",\r\n },\r\n }\r\n );\r\n if (response.status === 200) {\r\n return response.data;\r\n } else {\r\n throw new Error(response.statusText);\r\n }\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n protected postData = async (url: string, body: any) => {\r\n try {\r\n const accessToken = await authModule.getFlowAccessToken();\r\n const response = await axiosRetryPost(\r\n `${this.getBaseUrl()}${url}`,\r\n body,\r\n {\r\n headers: {\r\n authorization: `Bearer ${accessToken}`,\r\n accept: \"application/json\",\r\n \"content-type\": \"application/json;charset=UTF-8\",\r\n },\r\n }\r\n );\r\n\r\n if (response && response.status === 200) {\r\n return response.data;\r\n } else {\r\n throw new Error(response.statusText);\r\n }\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n}","export enum ContentManagerCopyMoveModeEnum {\r\n Move,\r\n Copy,\r\n MoveAll,\r\n CopyAll,\r\n CopySelectedEmails,\r\n CopyEntireFolderEmails\r\n}","export enum ContentManagerDirectoryEnum {\r\n Home,\r\n SharePoint,\r\n Teams,\r\n Libraries,\r\n FilesAndFolders,\r\n Exchange,\r\n Tess\r\n }","export enum ContentManagerHomeEnum {\r\n Pinned,\r\n Recent,\r\n Shared,\r\n None\r\n }","export enum FileTypeEnum {\r\n folder,\r\n file\r\n}","export enum newTemplateFilterEnum {\r\n folder = \"folder\",\r\n docset = \"docset\",\r\n file = \"file\",\r\n}","export enum OneDriveOverWriteEnum {\r\n rename = 1,\r\n replace = 2,\r\n notSelected = 3\r\n}","export class ArrayIdCombiner {\r\n static removeDuplicates(arr: any[], idsPresent: string[]) {\r\n const seen = new Set(idsPresent);\r\n const result = arr.filter(item => {\r\n const duplicate = seen.has(item.itemId);\r\n return !duplicate;\r\n });\r\n \r\n return result;\r\n }\r\n}","export const filterDuplicatesStrings = (collection: any[]) => {\r\n return collection.filter((siteAndLibrary, index, arr) => {\r\n return arr.indexOf(arr.find(t => t === siteAndLibrary)) === index;\r\n });\r\n}\r\n\r\nexport const removeDuplicates = (originalArray, prop) => {\r\n var newArray = [];\r\n var lookupObject = {};\r\n\r\n for (var i in originalArray) {\r\n lookupObject[originalArray[i][prop]] = originalArray[i];\r\n }\r\n\r\n for (i in lookupObject) {\r\n newArray.push(lookupObject[i]);\r\n }\r\n\r\n return newArray;\r\n}\r\n","import { SiteItem, documentLibraryItem } from \"../../redux/models/reduxModels\";\r\nimport { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\n\r\nexport class FolderView {\r\n constructor(private siteInfo: SiteItem[], private currentDirectory: IPageSettings) { }\r\n\r\n canViewFolder(): boolean {\r\n if (this.siteInfo && this.siteInfo.length > 0) {\r\n try {\r\n const sites: SiteItem[] = this.siteInfo.filter(site => site.displayName?.trim().toLowerCase() === this.currentDirectory?.siteDisplayName?.trim().toLowerCase());\r\n const documentLibraries: documentLibraryItem[] = sites.reduce((acc, current) => [...acc, ...current.documentLibraries], []);\r\n let documentLibrary: documentLibraryItem = documentLibraries.find(item => item.title?.trim().toLowerCase() === this.currentDirectory?.DocumentLibrary?.trim().toLowerCase());\r\n return this.documentLibraryIsViewable(documentLibrary);\r\n } catch (error) {\r\n logger(error, \"folderView.ts (canViewFolder)\");\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n private documentLibraryIsViewable(documentLibrary: documentLibraryItem) {\r\n return documentLibrary?.autoFolderCreationEnabled ? false : true;\r\n }\r\n}","import { SiteItem } from \"../../redux/models/reduxModels\";\r\nimport { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { FolderView } from \"./folderView\";\r\nimport authModule from \"../../../../utilities/AuthModule\";\r\nimport { SharepointSpServices } from \"../../services/SharepointSpServices\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\n\r\nexport class FolderViewWrapper {\r\n constructor(private siteInfo: SiteItem[], private currentDirectory: IPageSettings) { }\r\n\r\n async canCreateFolder(canViewFolder: boolean): Promise {\r\n if (canViewFolder) {\r\n const accessToken = await authModule.getSharePointAccessToken();\r\n const sharepointSpService = new SharepointSpServices(this.currentDirectory.webUrl, accessToken);\r\n return await sharepointSpService.getDocumentLibraryEnableFolderCreationSetting(this.currentDirectory.sharePointListId);\r\n }\r\n return false;\r\n }\r\n\r\n canViewFolder(): boolean {\r\n try {\r\n const view = new FolderView(this.siteInfo, this.currentDirectory);\r\n return view.canViewFolder();\r\n } catch (error) {\r\n logger(error, \"folderViewWrapper.ts (canViewFolder)\");\r\n return true;\r\n }\r\n };\r\n}","import { ComponentTypes } from \"../../config/config\";\r\nimport { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { FileTypeEnum } from \"../enums/fileTypeEnum\";\r\n\r\nexport class StoreItemHelper {\r\n static removeSaveLocation = (locations: IPageSettings[]) => {\r\n // if (locations.length && locations.length > 1) {\r\n // const lastItem: IPageSettings = locations[locations.length - 1];\r\n // const secondLastItem: IPageSettings = locations[locations.length - 2];\r\n // const popLastItem: boolean = lastItem.id === secondLastItem.id && lastItem.fileTitle === secondLastItem.fileTitle && lastItem.type === ComponentTypes.Saving;\r\n\r\n // if (popLastItem) {\r\n // locations.pop();\r\n // }\r\n // }\r\n \r\n // if (locations.length && locations.length > 0) {\r\n // const lastItem: IPageSettings = locations[locations.length - 1];\r\n // let popLastItem: boolean;\r\n // if (locations.length > 1) {\r\n // const secondLastItem: IPageSettings = locations[locations.length - 2];\r\n // popLastItem = lastItem.id === secondLastItem.id && lastItem.fileTitle === secondLastItem.fileTitle && lastItem.type === ComponentTypes.Saving; \r\n // }\r\n // else {\r\n // popLastItem = lastItem.type === ComponentTypes.Saving;\r\n // }\r\n\r\n // if (popLastItem) {\r\n // locations.pop();\r\n // }\r\n // }\r\n\r\n if (locations.length && locations.length > 0) {\r\n const lastItem: IPageSettings = locations[locations.length - 1];\r\n const popLastItem: boolean = lastItem.type === ComponentTypes.Saving;\r\n\r\n if (popLastItem) {\r\n locations.pop();\r\n }\r\n }\r\n };\r\n\r\n static itemExists = (existingItem: IStoreItem, newItems: IStoreItem[]): boolean => {\r\n if (!newItems) return false;\r\n return existingItem.fileType === FileTypeEnum.file\r\n ? newItems.some(newItem => newItem.itemId === existingItem.itemId)\r\n : StoreItemHelper.folderExists(existingItem, newItems);\r\n };\r\n\r\n static folderExists = (existingItem: IStoreItem, newItems: IStoreItem[]): boolean => {\r\n const isRoot = !existingItem?.itemId;\r\n const result = isRoot \r\n ? newItems.some(newItem => newItem.driveId === existingItem.driveId && newItem.name === existingItem.name)\r\n : newItems.some(newItem => newItem.driveId === existingItem.driveId && newItem.itemId === existingItem.itemId);\r\n\r\n return result;\r\n };\r\n\r\n static getExistingItem = (existingItems: IStoreItem[], newItem: IStoreItem): IStoreItem => {\r\n if (!existingItems) return null;\r\n return newItem.fileType === FileTypeEnum.file ? existingItems.find(item => item.itemId === newItem.itemId) : StoreItemHelper.getExistingFolder(existingItems, newItem);\r\n };\r\n\r\n private static getExistingFolder = (existingItems: IStoreItem[], newItem: IStoreItem): IStoreItem => {\r\n const isRoot = !newItem?.itemId;\r\n const result = isRoot\r\n ? existingItems.find(item => item.driveId === newItem.driveId && item.name === newItem.name)\r\n : existingItems.find(item => item.driveId === newItem.driveId && item.itemId === newItem.itemId);\r\n\r\n return result;\r\n };\r\n}","import { FileTypeEnum } from \"../enums/fileTypeEnum\";\r\nimport { getLastSplittedStringItem } from \"../helpers/stringHelper\";\r\nimport { IMapper } from \"../../interfaces/IMapper\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { tryDecodeUriComponent } from \"../../../../utilities/EncodeDecode\";\r\nimport dayjs from 'dayjs';\r\n\r\nexport class RecentFilesMapper implements IMapper {\r\n constructor(private languageStrings: any, private cannotBeRemoved: boolean = false) { }\r\n\r\n map(data: any, isCustomEntry?: boolean): IStoreItem[] {\r\n return data.filter(item => item).map(item => ({\r\n driveId: item?.parentReference?.driveId,\r\n name: item?.name,\r\n extension: getLastSplittedStringItem(item?.name, /[.]+/),\r\n folderId: item?.parentReference?.id,\r\n itemId: item?.id,\r\n fileType: FileTypeEnum.file,\r\n filePath: `[${this.languageStrings.Files}] ${tryDecodeUriComponent(item.webUrl)}`,\r\n // datePinned: item?.lastModifiedDateTime?.length && dayjs(item.lastModifiedDateTime).toDate(),\r\n datePinned: isCustomEntry ? new Date() : (item?.lastModifiedDateTime?.length && dayjs(item.lastModifiedDateTime).toDate()),\r\n lastModifiedDateTime: item?.lastModifiedDateTime,\r\n modifiedBy: item?.lastModifiedBy?.user?.displayName,\r\n cannotBeRemoved: this.cannotBeRemoved,\r\n sharedByName: item?.shared?.sharedBy?.user?.displayName,\r\n sharedByEmail: item?.shared?.sharedBy?.user?.email,\r\n sharedDateTime: item?.shared?.sharedDateTime,\r\n }));\r\n }\r\n}\r\n","import {\r\n IPanelStyles,\r\n getTheme,\r\n mergeStyles,\r\n IDetailsListStyles,\r\n IDetailsRowStyles,\r\n getRTL,\r\n ILinkStyles,\r\n IButtonStyles,\r\n mergeStyleSets,\r\n IBreadcrumbStyles,\r\n IIconStyles\r\n} from \"@fluentui/react\";\r\n\r\nconst theme = getTheme();\r\nexport const panelStyles: Partial = {\r\n // headerText: {\r\n // fontWeight: FontWeights.regular,\r\n // color: theme.palette.themeDarkAlt\r\n // }\r\n};\r\n\r\nexport const linkIconStyles: IIconStyles = {\r\n root: {\r\n display: \"flex\",\r\n marginLeft: 6,\r\n marginRight: 6,\r\n fontSize: 16,\r\n color: theme.palette.themeDarkAlt\r\n }\r\n}\r\n\r\nexport const profilePanelStyles: Partial = {\r\n // headerText: panelStyles.headerText,\r\n header: { paddingLeft: 15, paddingRight: 15 },\r\n content: { paddingLeft: 15, paddingRight: 15 }\r\n}\r\n\r\nexport const uploadPanelStyles: Partial = {\r\n // ...panelStyles,\r\n content: { paddingTop: 10 },\r\n footer: {\r\n backgroundColor: \"#fff\"\r\n },\r\n};\r\n\r\nexport const settingsIconClass = mergeStyles({\r\n color: theme.palette.themeDarkAlt,\r\n cursor: \"pointer\",\r\n paddingRight: 5,\r\n fontSize: 16\r\n});\r\n\r\nexport const detailListStyles: Partial = {\r\n root: {\r\n margin: \"0 0 0 0\",\r\n padding: \"0px\",\r\n MsOverflowStyle: \"scrollbar\"\r\n },\r\n headerWrapper: {\r\n paddingTop: 0\r\n }\r\n};\r\n\r\nexport const detailRowStyles: Partial = {\r\n root: {\r\n fontSize: \"14px\",\r\n selectors: {\r\n \":hover\": { fontSize: \"14px\" }\r\n }\r\n }\r\n};\r\n\r\nexport const detailRowLinkStyles: ILinkStyles = {\r\n root: {\r\n color: theme.palette.neutralPrimary,\r\n \":hover\": {\r\n color: theme.palette.neutralPrimary,\r\n textDecoration: \"underline\"\r\n },\r\n maxWidth: \"100%\"\r\n }\r\n};\r\n\r\nexport const detailRowPiiDetectedStyles: Partial = {\r\n root: {\r\n fontSize: \"14px\",\r\n backgroundColor: '#ffebe5',\r\n borderBottom: '1px solid rgb(255, 255, 255)',\r\n selectors: {\r\n \":hover\": { backgroundColor: '#ffded4' }\r\n }\r\n }\r\n};\r\n\r\nexport const detailRowPiiNotDetectedStyles: Partial = {\r\n root: {\r\n fontSize: \"14px\",\r\n backgroundColor: '#e7f9e6',\r\n borderBottom: '1px solid rgb(255, 255, 255)',\r\n selectors: {\r\n \":hover\": { backgroundColor: '#dff6dd' }\r\n }\r\n }\r\n};\r\n\r\nexport const detailRowPiiDetectedStylesCM: Partial = {\r\n root: {\r\n backgroundColor: '#ffebe5',\r\n borderBottom: '1px solid rgb(255, 255, 255)',\r\n selectors: {\r\n \":hover\": { backgroundColor: '#ffded4' }\r\n }\r\n }\r\n};\r\n\r\nexport const detailRowPiiNotDetectedStylesCM: Partial = {\r\n root: {\r\n backgroundColor: '#e7f9e6',\r\n borderBottom: '1px solid rgb(255, 255, 255)',\r\n selectors: {\r\n \":hover\": { backgroundColor: '#dff6dd' }\r\n }\r\n }\r\n};\r\n\r\nexport const clearButtonClass: string = mergeStyles({\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'stretch',\r\n cursor: 'pointer',\r\n flexBasis: '32px',\r\n flexShrink: 0,\r\n padding: 0,\r\n margin: '-1px 0px',\r\n selectors: {\r\n '&:hover .ms-Button': {\r\n backgroundColor: theme.palette.neutralLighter,\r\n },\r\n '&:hover .ms-Button-icon': {\r\n color: theme.palette.neutralPrimary,\r\n },\r\n '.ms-Button': {\r\n borderRadius: getRTL(theme) ? '1px 0 0 1px' : '0 1px 1px 0',\r\n },\r\n '.ms-Button-icon': {\r\n color: theme.palette.neutralSecondary,\r\n },\r\n },\r\n});\r\n\r\nexport const confirmDeleteButtonStyles: IButtonStyles = {\r\n root: {\r\n cursor: \"unset\",\r\n },\r\n rootHovered: {\r\n color: theme.palette.neutralPrimary,\r\n }\r\n};\r\n\r\nexport const editFilePropertiesButtonStyles: IButtonStyles = {\r\n root: {\r\n paddingTop: 5,\r\n paddingRight: 0,\r\n paddingBottom: 0,\r\n paddingLeft: 0\r\n }\r\n};\r\n\r\nexport const dropZoneStyles: React.CSSProperties = {\r\n borderWidth: 2,\r\n borderStyle: \"dashed\",\r\n borderColor: theme.palette.themeDarkAlt,\r\n boxSizing: \"border-box\"\r\n}\r\n\r\nexport const dropZoneStyleSets = mergeStyleSets({\r\n dropzoneActive: {\r\n position: \"relative\",\r\n \"*\": {\r\n pointerEvents: \"none\"\r\n },\r\n \":after\": {\r\n borderWidth: 2,\r\n borderStyle: \"dashed\",\r\n borderColor: theme.palette.themeDarkAlt,\r\n boxSizing: \"border-box\",\r\n content: '\" \"',\r\n display: \"block\",\r\n pointerEvents: \"none\",\r\n position: \"absolute\",\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n zIndex: 999\r\n }\r\n }\r\n});\r\n\r\nexport const dragZoneStyleSets = mergeStyleSets({\r\n dragzoneActive: {\r\n position: \"relative\",\r\n \"*\": {\r\n pointerEvents: \"none\"\r\n },\r\n \":after\": {\r\n borderWidth: 2,\r\n borderStyle: \"dashed\",\r\n borderColor: theme.palette.neutralSecondary,\r\n boxSizing: \"border-box\",\r\n content: '\" \"',\r\n display: \"block\",\r\n pointerEvents: \"none\",\r\n position: \"absolute\",\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n zIndex: 999\r\n }\r\n }\r\n});\r\n\r\nexport const fileIconHeaderIcon: string = mergeStyles({\r\n padding: 0,\r\n fontSize: '16px'\r\n});\r\n\r\nexport const brandedCommandbarIconStyles: string = mergeStyles({\r\n marginLeft: 4,\r\n marginRight: 4,\r\n maxWidth: 20\r\n});\r\n\r\nexport const breadCrumbContainerStyles: React.CSSProperties = {\r\n height: 25\r\n}\r\n\r\nexport const breadCrumbStyles: Partial = {\r\n root: {\r\n marginTop: 0,\r\n marginBottom: 0\r\n },\r\n chevron: {\r\n fontSize: 10,\r\n },\r\n item: {\r\n fontSize: 12,\r\n lineHeight: 20,\r\n paddingLeft: 2,\r\n paddingRight: 2\r\n },\r\n overflowButton: {\r\n selectors: {\r\n \"@media only screen and (max-width: 479px) and (min-width: 0px)\": { paddingLeft: 0, paddingRight: 0 },\r\n \":hover\": { color: \"#106ebe\" }\r\n },\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n }\r\n};\r\n\r\nexport const previewWebPanelStyles: Partial = {\r\n main: {\r\n overflow: \"unset\"\r\n },\r\n commands: {\r\n \"@media all\": {\r\n position: \"relative\",\r\n zIndex: 10\r\n }\r\n }\r\n}","export function typedAction(type: T): { type: T };\r\nexport function typedAction(\r\n type: T,\r\n payload: P\r\n): { type: T; payload: P };\r\nexport function typedAction(type: string, payload?: any) {\r\n return { type, payload };\r\n}","export const expanderConstants = {\r\n home: {\r\n pinned: \"homePinned\",\r\n recent: \"homeRecent\",\r\n suggestions: \"homeSeggestions\",\r\n locations: \"locations\",\r\n shared: \"shared\",\r\n approvalCenter: \"approvalCenter\",\r\n },\r\n sharepoint: {\r\n sites: \"sharepointSites\",\r\n folders: \"sharepointFolders\",\r\n files: \"sharepointFiles\"\r\n },\r\n sharepointDocument: {\r\n libraries: \"sharepointDocumentLibraries\",\r\n subsites: \"sharepointDocumentSubsites\"\r\n },\r\n oneDrive: {\r\n folders: \"oneDriveFolders\",\r\n files: \"oneDriveFiles\"\r\n },\r\n teams: {\r\n joinedTeams: \"teams\",\r\n channels: \"teamChannels\"\r\n },\r\n tess: {\r\n activeProjects: \"activeProjects\",\r\n draftProjects: \"draftProjects\",\r\n finishedProjects: \"finishedProjects\"\r\n }\r\n}","export const SET_SAVING_LOCATION = \"SET_SAVING_LOCATION\";\r\nexport const RESET_SAVING_LOCATION = \"RESET_SAVING_LOCATION\";\r\nexport const ADD_WORKING_DIRECTORY = \"ADD_WORKING_DIRECTORY\";\r\nexport const ADD_WORKING_DIRECTORIES = \"ADD_WORKING_DIRECTORIES\";\r\nexport const SET_WORKING_DIRECTORIES = \"SET_WORKING_DIRECTORIES\";\r\nexport const SET_ONE_DRIVE_DETAILS = \"SET_ONE_DRIVE_DETAILS\";\r\nexport const REMOVE_WORKING_DIRECTORY = \"REMOVE_WORKING_DIRECTORY\";\r\nexport const RESET_WORKING_DIRECTORY = \"RESET_WORKING_DIRECTORY\";\r\nexport const REMOVE_WORKING_DIRECTORIES_BY_INDEX = \"REMOVE_WORKING_DIRECTORIES_BY_INDEX\";\r\nexport const REMOVE_WORKING_DIRECTORIES_BY_INDEX_INDEX_AND_ADD_ITEM = \"REMOVE_WORKING_DIRECTORIES_BY_INDEX_AND_ADD_ITEM\";\r\nexport const SET_TENANT_INFO = \"SET_TENANT_INFO\";\r\nexport const SET_DATASOURCE = \"SET_DATASOURCE\";\r\nexport const TOGGLE_LOADING = \"TOGGLE_LOADING\";\r\nexport const RESET_FILES = \"RESET_FILES\";\r\nexport const SET_FILES = \"SET_FILES\";\r\nexport const SET_COMPOSE_FILES = \"SET_COMPOSE_FILES\";\r\nexport const SET_COMPOSE_VISIBILITY = \"SET_COMPOSE_VISIBILITY\";\r\nexport const RESET_COMPOSE = \"RESET_COMPOSE\";\r\nexport const SET_FILE = \"SET_FILE\";\r\nexport const ADD_UPLOADED_FILE = \"ADD_UPLOADED_FILE\";\r\nexport const ADD_UPLOADED_FILES = \"ADD_UPLOADED_FILES\";\r\nexport const SET_DUPLICATE_EMAILS = \"SET_DUPLICATE_EMAILS\";\r\nexport const SET_FILES_EXPANDER = \"SET_FILES_EXPANDER\";\r\nexport const SET_FILES_CAN_OVERWRITE = \"SET_FILES_CAN_OVERWRITE\";\r\nexport const SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED = \"SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED\";\r\nexport const SET_FILE_SELECTED = \"SET_FILE_SELECTED\";\r\nexport const REMOVE_FILE = \"REMOVE_FILE\";\r\nexport const DELETE_FILES_BY_ORIGINALNAME = \"DELETE_FILES_BY_ORIGINALNAME\";\r\nexport const UPDATE_FILE_NAME = \"UPDATE_FILE_NAME\";\r\nexport const SET_IS_SAVING_IN_BACKGROUND = \"SET_IS_SAVING_IN_BACKGROUND\";\r\nexport const SET_NEEDS_REDIRECT_TO_HOME = \"SET_NEEDS_REDIRECT_TO_HOME\";\r\nexport const SET_IS_BUSY_SAVING = \"SET_IS_BUSY_SAVING\";\r\nexport const SET_IS_CHECKING_DUPLICATES = \"SET_IS_CHECKING_DUPLICATES\";\r\nexport const SET_IS_LOADING_METADATA = \"SET_IS_LOADING_METADATA\";\r\nexport const SET_OVERLAY_VISIBILITY = \"SET_OVERLAY_VISIBILITY\";\r\nexport const TOGGLE_RELOAD = \"TOGGLE_RELOAD\";\r\nexport const REFRESH_RELOAD = \"REFRESH_RELOAD\";\r\nexport const RESET_REFRESH = \"RESET_REFRESH\";\r\nexport const SET_LOADING = \"SET_LOADING\";\r\nexport const INCREMENT_AMOUNT_LOADING = \"INCREMENT_AMOUNT_LOADING\";\r\nexport const DECREMENT_AMOUNT_LOADING = \"DECREMENT_AMOUNT_LOADING\";\r\nexport const ADD_FOLDER = \"ADD_FOLDER\";\r\nexport const GET_FOLDERS = \"GET_FOLDERS\";\r\nexport const SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW = \"SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW\";\r\nexport const SET_SHAREPOINT_INFO = \"SET_SHAREPOINT_INFO\";\r\nexport const SET_IS_SITES_LOADING = \"SET_IS_SITES_LOADING\";\r\nexport const SET_SITES_LAST_CACHE_REFRESH = \"SET_SITES_LAST_CACHE_REFRESH\";\r\nexport const RESET_SHAREPOINT_INFO = \"RESET_SHAREPOINT_INFO\";\r\nexport const SET_MODE = \"SET_MODE\";\r\nexport const SET_EXPANDED_ITEM = \"SET_EXPANDED_ITEM\";\r\nexport const SET_USER_LICENSE_TYPE = \"SET_USER_LICENSE_TYPE\";\r\nexport const SET_USER_FULL_PROFILE = \"SET_USER_FULL_PROFILE\";\r\n\r\nexport const SET_SHOW_FOLDER_DELETE_DIALOG = \"SET_SHOW_FOLDER_DELETE_DIALOG\";\r\n\r\nexport const SET_USER_RECENT_ITEMS = \"SET_USER_RECENT_ITEMS\";\r\nexport const SET_USER_PINNED_ITEMS = \"SET_USER_PINNED_ITEMS\";\r\nexport const SET_USER_SUGGESTED_ITEMS = \"SET_USER_SUGGESTED_ITEMS\";\r\nexport const SET_USER_SHARED_ITEMS = \"SET_USER_SHARED_ITEMS\";\r\nexport const SET_PINNED_IS_LOADING = \"SET_PINNED_IS_LOADING\";\r\nexport const SET_SUGGESTED_IS_LOADING = \"SET_SUGGESTED_IS_LOADING\";\r\nexport const SET_RECENT_IS_LOADING = \"SET_RECENT_IS_LOADING\";\r\nexport const SET_SHARED_IS_LOADING = \"SET_SHARED_IS_LOADING\";\r\nexport const ADD_USER_RECENT_ITEM = \"ADD_USER_RECENT_ITEM\";\r\nexport const ADD_USER_PINNED_ITEM = \"ADD_USER_PINNED_ITEM\";\r\nexport const ADD_USER_SUGGESTED_ITEM = \"ADD_USER_SUGGESTED_ITEM\";\r\nexport const ADD_USER_SHARED_ITEM = \"ADD_USER_SHARED_ITEM\";\r\nexport const GET_USER_RECENT_ITEMS = \"GET_USER_RECENT_ITEMS\";\r\nexport const GET_USER_PINNED_ITEMS = \"GET_USER_PINNED_ITEMS\";\r\nexport const GET_USER_SUGGESTED_ITEMS = \"GET_USER_SUGGESTED_ITEMS\";\r\nexport const GET_USER_SHARED_ITEMS = \"GET_USER_SHARED_ITEMS\";\r\nexport const DELETE_USER_RECENT_ITEM = \"DELETE_USER_RECENT_ITEM\";\r\nexport const DELETE_USER_PINNED_ITEM = \"DELETE_USER_PINNED_ITEM\";\r\nexport const DELETE_USER_SUGGESTED_ITEM = \"DELETE_USER_SUGGESTED_ITEM\";\r\nexport const DELETE_USER_SHARED_ITEM = \"DELETE_USER_SHARED_ITEM\";\r\n\r\nexport const RESET_USER_RECENT_ITEMS = \"RESET_USER_RECENT_ITEMS\";\r\nexport const RESET_USER_PINNED_ITEMS = \"RESET_USER_PINNED_ITEMS\";\r\nexport const RESET_USER_SUGGESTED_ITEMS = \"RESET_USER_SUGGESTED_ITEMS\";\r\nexport const RESET_USER_SHARED_ITEMS = \"RESET_USER_SHARED_ITEMS\";\r\nexport const RESET_HOME_ITEMS = \"RESET_HOME_ITEMS\";\r\n\r\nexport const SET_USER_ONE_DRIVE_URL = \"SET_USER_ONE_DRIVE_URL\";\r\n\r\nexport const SET_USER_ACCOUNT = \"SET_USER_ACCOUNT\";\r\nexport const RESET_USER_ACCOUNT = \"RESET_USER_ACCOUNT\";\r\nexport const SET_SEARCH = \"SET_SEARCH\";\r\nexport const SET_IS_IN_SEARCH_MODE = \"SET_IS_IN_SEARCH_MODE\";\r\nexport const SET_SEARCH_FILTER_TYPE = \"SET_SEARCH_FILTER_TYPE\";\r\nexport const SET_IS_TEAMS_LOADING = \"SET_IS_TEAMS_LOADING\";\r\nexport const SET_TEAMS_LAST_SERVER_REFRESH = \"SET_TEAMS_LAST_SERVER_REFRESH\";\r\nexport const SET_TEAMS_LAST_CACHE_REFRESH = \"SET_TEAMS_LAST_CACHE_REFRESH\";\r\nexport const SET_TEAMS = \"SET_TEAMS\";\r\nexport const SET_TEAM_CHANNELS = \"SET_TEAM_CHANNELS\";\r\nexport const RESET_TEAMS = \"RESET_TEAMS\";\r\nexport const SET_ONE_DRIVE_LOCATION_BEFORE_SAVING = \"SET_ONE_DRIVE_LOCATION_BEFORE_SAVING\";\r\nexport const RESET_DRIVE_LOCATION_BEFORE_SAVING = \"RESET_DRIVE_LOCATION_BEFORE_SAVING\";\r\nexport const ADD_REGIONAL_SETTINGS = \"ADD_REGIONAL_SETTINGS\";\r\n\r\nexport const SET_USER_PROFILE = \"SET_USER_PROFILE\";\r\nexport const SET_USER_SETTINGS = \"SET_USER_SETTINGS\";\r\n\r\nexport const CLEAR_ALL_STATE = \"CLEAR_ALL_STATE\";\r\nexport const RESET_APPROVALS = \"RESET_APPROVALS\";\r\nexport const SET_IS_APPROVALS_LOADING = \"SET_IS_APPROVALS_LOADING\";\r\nexport const SET_APPROVALS = \"SET_APPROVALS\";\r\nexport const SET_APPROVALSCOUNT = \"SET_APPROVALSCOUNT\";\r\nexport const SET_LAST_APPROVAL_LOAD = \"SET_LAST_APPROVAL_LOAD\";\r\nexport const REMOVE_APPROVAL = \"REMOVE_APPROVAL\";\r\n\r\nexport const SET_CONTENT_MANAGER_DIRECTORY = \"SET_CONTENT_MANAGER_DIRECTORY\";\r\nexport const RESET_CONTENT_MANAGER_DIRECTORY = \"RESET_CONTENT_MANAGER_DIRECTORY\";\r\nexport const SET_IS_CONTENT_MANAGER_CONTENT_LOADING = \"SET_IS_CONTENT_MANAGER_CONTENT_LOADING\";\r\nexport const SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED = \"SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED\";\r\nexport const TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED = \"TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED\";\r\nexport const SET_CONTENT_MANAGER_FILTER_VALUE = \"SET_CONTENT_MANAGER_FILTER_VALUE\";\r\nexport const SET_CONTENT_MANAGER_SEARCH_VALUE = \"SET_CONTENT_MANAGER_SEARCH_VALUE\";\r\nexport const SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE = \"SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE\";\r\nexport const TOGGLE_CONTENT_MANAGER_RELOAD = \"TOGGLE_CONTENT_MANAGER_RELOAD\";\r\nexport const SET_CONTENT_MANAGER_FILTER_FIELDS = \"SET_CONTENT_MANAGER_FILTER_FIELDS\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTIONS = \"SET_CONTENT_MANAGER_FILTER_SECTIONS\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET = \"SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTION_ITEM = \"SET_CONTENT_MANAGER_FILTER_SECTION_ITEM\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS = \"SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE = \"SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE = \"SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE\";\r\nexport const SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER = \"SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED = \"SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES = \"SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES = \"SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_SITEURL = \"SET_CONTENT_MANAGER_MOVETO_SITEURL\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH = \"SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_BUSYMOVINGFILES = \"SET_CONTENT_MANAGER_MOVETO_SOURCE_BUSYMOVINGFILES\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS = \"SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS = \"SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS = \"SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE = \"SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE\";\r\nexport const SET_CONTENT_MANAGER_MOVETO = \"SET_CONTENT_MANAGER_MOVETO\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_ERROR = \"SET_CONTENT_MANAGER_MOVETO_ERROR\";\r\nexport const SET_CONTENT_MANAGER_MOVETO_COMPLETED_ITEM_COUNT = \"SET_CONTENT_MANAGER_MOVETO_COMPLETED_JOB_COUNT\";\r\nexport const SET_CONTENT_MANAGER_EXCHANGE = \"SET_CONTENT_MANAGER_EXCHANGE\";\r\nexport const SET_CONTENT_MANAGER_EXCHANGE_PROGRESS = \"SET_CONTENT_MANAGER_EXCHANGE_PROGRESS\";\r\nexport const SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES = \"SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES\";\r\nexport const SET_CONTENT_MANAGER_SELECTED_HOME_SECTION = \"SET_CONTENT_MANAGER_SELECTED_HOME_SECTION\";\r\nexport const RESET_CONTENT_MANAGER_MOVETO = \"RESET_CONTENT_MANAGER_MOVETO\";","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { IApproval } from \"../../components/directoryComponents/myApprovals/ApprovalsModels\";\r\nimport { ApprovalsService } from \"../../components/directoryComponents/myApprovals/ApprovalsService\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { IApprovalState } from \"../models/reduxModels\";\r\nimport { RESET_APPROVALS, SET_IS_APPROVALS_LOADING, SET_APPROVALS, REMOVE_APPROVAL, SET_APPROVALSCOUNT, SET_LAST_APPROVAL_LOAD } from \"./actionTypes\";\r\n\r\nconst initialState: IApprovalState = { isApprovalsLoading: false, approvals: null, approvalCount: 0, lastApprovalLoad: \"\" };\r\n\r\nconst setIsApprovalsLoading = (isApprovalsLoading: boolean) => {\r\n return typedAction(SET_IS_APPROVALS_LOADING, isApprovalsLoading);\r\n}\r\n\r\nexport const setApprovals = (approvals: IApproval[]) => {\r\n return typedAction(SET_APPROVALS, approvals);\r\n}\r\n\r\nexport const setLastApprovalLoad = () => {\r\n return typedAction(SET_LAST_APPROVAL_LOAD);\r\n}\r\n\r\nexport const setApprovalsCount = (approvalsCount: number) => {\r\n return typedAction(SET_APPROVALSCOUNT, approvalsCount);\r\n}\r\n\r\nexport const removeApproval = (approval: IApproval) => {\r\n return typedAction(REMOVE_APPROVAL, approval);\r\n}\r\n\r\nexport const resetApprovals = () => {\r\n return typedAction(RESET_APPROVALS);\r\n}\r\n\r\nexport const getApprovals = (tenantId: string, shouldUpdateSilently: boolean = false, completedCallback: () => void = undefined): ThunkAction> => async (dispatch, getState) => {\r\n const state = getState();\r\n if (!state.approvals.isApprovalsLoading) {\r\n if (!shouldUpdateSilently) dispatch(setIsApprovalsLoading(true));\r\n let approvals: IApproval[];\r\n try {\r\n const approvalsService = new ApprovalsService(tenantId);\r\n approvals = await approvalsService.getMyApprovals();\r\n } catch (error) {\r\n logger(error, \"approvals.ts (getApprovals)\");\r\n }\r\n dispatch(setApprovals(approvals));\r\n if (!shouldUpdateSilently) dispatch(setApprovalsCount(approvals?.length ?? 0));\r\n if (completedCallback) completedCallback();\r\n }\r\n};\r\n\r\ntype ApprovalsAction = ReturnType;\r\n\r\nexport function approvalsReducer(\r\n state = initialState,\r\n action: ApprovalsAction\r\n): IApprovalState {\r\n switch (action.type) {\r\n case SET_IS_APPROVALS_LOADING:\r\n return { ...state, isApprovalsLoading: action.payload };\r\n case SET_APPROVALS:\r\n return { ...state, approvals: action.payload, isApprovalsLoading: false };\r\n case SET_LAST_APPROVAL_LOAD:\r\n return { ...state, lastApprovalLoad: new Date().toUTCString() };\r\n case SET_APPROVALSCOUNT:\r\n return { ...state, approvalCount: action.payload };\r\n case RESET_APPROVALS:\r\n return initialState;\r\n case REMOVE_APPROVAL:\r\n const newApprovals = [...state.approvals].filter(approval => approval.name != action.payload.name);\r\n return { ...state, approvals: newApprovals, approvalCount: state.approvalCount - 1 }\r\n default:\r\n return state;\r\n }\r\n}","import { CacheHelper } from \"../../../../utilities/CacheHelper\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { ContentManagerCopyMoveModeEnum } from \"../../components/enums/ContentManagerCopyMoveModeEnum\";\r\nimport { ContentManagerDirectoryEnum } from \"../../components/enums/ContentManagerDirectoryEnum\";\r\nimport { ContentManagerHomeEnum } from \"../../components/enums/ContentManagerHomeEnum\";\r\nimport { FilterTypeEnum } from \"../../components/enums/FilterTypeEnum\";\r\nimport { DocubirdCache } from \"../../config/constants\";\r\nimport { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { FilterItem, FilterSection, IContentManagerDirectoryState, IContentManagerExchange, IContentManagerExchangeProgress, IContentManagerMoveTo } from \"../models/reduxModels\";\r\nimport {\r\n SET_CONTENT_MANAGER_DIRECTORY,\r\n RESET_CONTENT_MANAGER_DIRECTORY,\r\n SET_IS_CONTENT_MANAGER_CONTENT_LOADING,\r\n SET_CONTENT_MANAGER_FILTER_VALUE,\r\n SET_CONTENT_MANAGER_SEARCH_VALUE,\r\n SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE,\r\n TOGGLE_CONTENT_MANAGER_RELOAD,\r\n SET_CONTENT_MANAGER_FILTER_FIELDS,\r\n SET_CONTENT_MANAGER_FILTER_SECTIONS,\r\n SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET,\r\n SET_CONTENT_MANAGER_FILTER_SECTION_ITEM,\r\n SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS,\r\n SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE,\r\n SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE,\r\n SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER,\r\n SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED,\r\n SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES,\r\n SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES,\r\n SET_CONTENT_MANAGER_MOVETO_SITEURL,\r\n SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH,\r\n SET_CONTENT_MANAGER_MOVETO_BUSYMOVINGFILES,\r\n SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS,\r\n SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS,\r\n SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS,\r\n SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE,\r\n SET_CONTENT_MANAGER_MOVETO_COMPLETED_ITEM_COUNT,\r\n SET_CONTENT_MANAGER_MOVETO,\r\n SET_CONTENT_MANAGER_MOVETO_ERROR,\r\n SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED,\r\n TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED,\r\n SET_CONTENT_MANAGER_EXCHANGE,\r\n SET_CONTENT_MANAGER_EXCHANGE_PROGRESS,\r\n SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES,\r\n SET_CONTENT_MANAGER_SELECTED_HOME_SECTION,\r\n RESET_CONTENT_MANAGER_MOVETO\r\n} from \"./actionTypes\";\r\n\r\nconst initialState: IContentManagerDirectoryState = {\r\n selectedHomeSection: ContentManagerHomeEnum.Pinned,\r\n isContentLoading: false,\r\n isSideMenuCollapsed: false,\r\n filterValue: \"\",\r\n searchValue: {\r\n value: \"\",\r\n filterType: \"\"\r\n },\r\n toggleReload: false,\r\n directory: ContentManagerDirectoryEnum.Home,\r\n filterFields: [],\r\n filterSections: [],\r\n moveTo: {\r\n mode: null,\r\n moveToEnabled: false,\r\n workingDirectories: [],\r\n selectedFiles: [],\r\n siteUrl: \"\",\r\n sourceSiteUrl: \"\",\r\n sourceServerRelPath: \"\",\r\n destinationServerRelPath: \"\",\r\n busyFetchingFiles: false,\r\n busyMovingFiles: false,\r\n copyJobResults: [],\r\n isMoveComplete: false,\r\n isMoveCancelled: false,\r\n isMoveInProgress: false,\r\n isPreparingJobs: false,\r\n destinationDirectory: null,\r\n sourceDirectory: null,\r\n progressCountTotal: 0,\r\n progressCountCompleted: 0\r\n },\r\n exchange: {\r\n selectedFolderId: \"\",\r\n selectedFolderName: \"\",\r\n selectedAccount: \"\",\r\n additionalMailboxes: undefined\r\n }\r\n};\r\n\r\nexport const setContentManagerDirectory = (directory: ContentManagerDirectoryEnum, registerHistory: boolean = true) => {\r\n return typedAction(SET_CONTENT_MANAGER_DIRECTORY, { directory, registerHistory });\r\n}\r\n\r\nexport const resetContentManagerDirectory = (registerHistory: boolean = true) => {\r\n return typedAction(RESET_CONTENT_MANAGER_DIRECTORY, registerHistory);\r\n}\r\n\r\nexport const setIsContentManagerContentLoading = (isContentLoading: boolean) => {\r\n return typedAction(SET_IS_CONTENT_MANAGER_CONTENT_LOADING, isContentLoading);\r\n}\r\n\r\nexport const setIsContentManagerSideMenuCollapsed = (isSideMenuCollapsed: boolean) => {\r\n return typedAction(SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED, isSideMenuCollapsed);\r\n}\r\n\r\nexport const toggleIsContentManagerSideMenuCollapsed = () => {\r\n return typedAction(TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED);\r\n}\r\n\r\nexport const setContentManagerFilterValue = (filterValue: string) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_VALUE, filterValue);\r\n}\r\n\r\nexport const setContentManagerSearchValue = (searchValue: string) => {\r\n return typedAction(SET_CONTENT_MANAGER_SEARCH_VALUE, searchValue);\r\n}\r\n\r\nexport const setContentManagerSearchFilterType = (filterValue: FilterTypeEnum | \"\") => {\r\n return typedAction(SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE, filterValue);\r\n}\r\n\r\nexport const toggleContentManagerReload = () => {\r\n return typedAction(TOGGLE_CONTENT_MANAGER_RELOAD);\r\n}\r\n\r\nexport const setContentManagerFilterFields = (filterFields: any[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_FIELDS, filterFields);\r\n}\r\n\r\nexport const setContentManagerFilterSections = (filterSections: FilterSection[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTIONS, filterSections);\r\n}\r\n\r\nexport const setContentManagerFilterSectionsReset = () => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET);\r\n}\r\n\r\nexport const setContentManagerFilterSectionItem = (filterSection: FilterSection, sectionItem: FilterItem, isChecked: boolean) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTION_ITEM, { filterSection, sectionItem, isChecked });\r\n}\r\n\r\nexport const setContentManagerFilterSectionItems = (filterSection: FilterSection, sectionItems: FilterItem[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS, { filterSection, sectionItems });\r\n}\r\n\r\nexport const setContentManagerFilterSectionItemsFromRange = (filterSection: FilterSection, daysOffset: number) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE, { filterSection, daysOffset });\r\n}\r\n\r\nexport const setContentManagerFilterSectionToggleShowMOre = (filterSection: FilterSection) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE, { filterSection });\r\n}\r\n\r\nexport const setContentManagerFilterSectionToggleSlider = (filterSection: FilterSection) => {\r\n return typedAction(SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER, { filterSection });\r\n}\r\n\r\nexport const setContentManagerMoveToMoveToEnabled = (moveToEnabled: boolean) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED, { moveToEnabled });\r\n}\r\n\r\nexport const setContentManagerMoveToWorkingDirectory = (locations: IPageSettings[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES, { locations });\r\n}\r\n\r\nexport const setContentManagerMoveToSelectedFiles = (selectedFiles: any[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES, { selectedFiles });\r\n}\r\n\r\nexport const setContentManagerMoveToSiteUrl = (siteUrl: string) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_SITEURL, { siteUrl });\r\n}\r\n\r\nexport const setContentManagerMoveToSourceServerRelPath = (sourceServerRelPath: string) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH, { sourceServerRelPath });\r\n}\r\n\r\nexport const setContentManagerMoveToBusyMovingFiles = (busyMovingFiles: boolean) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_BUSYMOVINGFILES, { busyMovingFiles });\r\n}\r\n\r\nexport const setContentManagerMoveToSelectedFilesIsBusyProgress = (selectedIds: string[], isBusy: boolean) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS, { selectedIds, isBusy });\r\n}\r\n\r\nexport const setContentManagerMoveToCopyJobResults = (copyJobResults: any[]) => {\r\n CacheHelper.set(DocubirdCache.copyJobResults, copyJobResults);\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS, { copyJobResults });\r\n}\r\n\r\nexport const setContentManagerMoveToCopyJobResultsIdsToRemove = (idsToRemove: string[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE, { idsToRemove });\r\n}\r\n\r\nexport const setContentManagerMoveToAddToCopyJobResults = (copyJobResults: any[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS, { copyJobResults });\r\n}\r\n\r\nexport const setContentManagerMoveTo = (moveTo: IContentManagerMoveTo) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO, { moveTo });\r\n}\r\n\r\nexport const setContentManagerMoveToError = (error?: string) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_ERROR, { error });\r\n}\r\n\r\nexport const setContentManagerExchange = (exchange: IContentManagerExchange) => {\r\n return typedAction(SET_CONTENT_MANAGER_EXCHANGE, { exchange });\r\n}\r\n\r\nexport const setContentManagerExchangeProgress = (progress: IContentManagerExchangeProgress) => {\r\n return typedAction(SET_CONTENT_MANAGER_EXCHANGE_PROGRESS, { progress });\r\n}\r\n\r\nexport const setContentManagerSelectedHomeSection = (section: ContentManagerHomeEnum) => {\r\n return typedAction(SET_CONTENT_MANAGER_SELECTED_HOME_SECTION, section);\r\n}\r\n\r\nexport const setContentManagerExchangeAdditionalMailboxes = (additionalMailboxes: string[]) => {\r\n return typedAction(SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES, { additionalMailboxes });\r\n}\r\n\r\nexport const resetContentManagerMoveTo = () => {\r\n return typedAction(RESET_CONTENT_MANAGER_MOVETO);\r\n}\r\n\r\nexport const incrementContentManagerMoveToCompletedItemCount = (completedItemCount: number) => {\r\n return typedAction(SET_CONTENT_MANAGER_MOVETO_COMPLETED_ITEM_COUNT, { completedItemCount });\r\n}\r\n\r\ntype ContentManagerDirectoryAction = ReturnType<\r\n typeof setContentManagerDirectory |\r\n typeof resetContentManagerDirectory |\r\n typeof setIsContentManagerContentLoading |\r\n typeof setIsContentManagerSideMenuCollapsed |\r\n typeof toggleIsContentManagerSideMenuCollapsed |\r\n typeof setContentManagerFilterValue |\r\n typeof setContentManagerSearchValue |\r\n typeof setContentManagerSearchFilterType |\r\n typeof toggleContentManagerReload |\r\n typeof setContentManagerFilterFields |\r\n typeof setContentManagerFilterSections |\r\n typeof setContentManagerFilterSectionsReset |\r\n typeof setContentManagerFilterSectionItem |\r\n typeof setContentManagerFilterSectionItems |\r\n typeof setContentManagerFilterSectionItemsFromRange |\r\n typeof setContentManagerFilterSectionToggleShowMOre |\r\n typeof setContentManagerFilterSectionToggleSlider |\r\n typeof setContentManagerMoveToMoveToEnabled |\r\n typeof setContentManagerMoveToWorkingDirectory |\r\n typeof setContentManagerMoveToSelectedFiles |\r\n typeof setContentManagerMoveToSiteUrl |\r\n typeof setContentManagerMoveToSourceServerRelPath |\r\n typeof setContentManagerMoveToBusyMovingFiles |\r\n typeof setContentManagerMoveToSelectedFilesIsBusyProgress |\r\n typeof setContentManagerMoveToCopyJobResults |\r\n typeof setContentManagerMoveToCopyJobResultsIdsToRemove |\r\n typeof setContentManagerMoveToAddToCopyJobResults |\r\n typeof setContentManagerMoveTo |\r\n typeof setContentManagerMoveToError |\r\n typeof setContentManagerExchange |\r\n typeof setContentManagerExchangeProgress |\r\n typeof setContentManagerExchangeAdditionalMailboxes |\r\n typeof setContentManagerSelectedHomeSection |\r\n typeof resetContentManagerMoveTo |\r\n typeof incrementContentManagerMoveToCompletedItemCount |\r\n typeof setContentManagerFilterValue\r\n>;\r\n\r\nexport function contentManagerDirectoryReducer(\r\n state = initialState,\r\n action: ContentManagerDirectoryAction\r\n): IContentManagerDirectoryState {\r\n switch (action.type) {\r\n case SET_CONTENT_MANAGER_DIRECTORY:\r\n if (action.payload.registerHistory === true) {\r\n registerHistoryEntry(action.payload.directory);\r\n }\r\n return { ...state, directory: action.payload.directory };\r\n case RESET_CONTENT_MANAGER_DIRECTORY:\r\n if (action.payload === true) {\r\n registerHistoryEntry(ContentManagerDirectoryEnum.Home);\r\n }\r\n return {\r\n ...initialState,\r\n searchValue: state.searchValue,\r\n toggleReload: state.toggleReload,\r\n moveTo: state.moveTo,\r\n exchange: state.exchange\r\n };\r\n case SET_IS_CONTENT_MANAGER_CONTENT_LOADING:\r\n return { ...state, isContentLoading: action.payload };\r\n case SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED:\r\n return { ...state, isSideMenuCollapsed: action.payload };\r\n case TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED:\r\n return { ...state, isSideMenuCollapsed: !state.isSideMenuCollapsed };\r\n case SET_CONTENT_MANAGER_FILTER_VALUE:\r\n return { ...state, filterValue: action.payload };\r\n case SET_CONTENT_MANAGER_SEARCH_VALUE:\r\n return { ...state, searchValue: { ...state.searchValue, value: action.payload } };\r\n case SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE:\r\n return { ...state, searchValue: { ...state.searchValue, filterType: action.payload } };\r\n case TOGGLE_CONTENT_MANAGER_RELOAD:\r\n return { ...state, toggleReload: !state.toggleReload };\r\n case SET_CONTENT_MANAGER_FILTER_FIELDS:\r\n return { ...state, filterFields: action.payload };\r\n case SET_CONTENT_MANAGER_FILTER_SECTIONS:\r\n return { ...state, filterSections: action.payload };\r\n case SET_CONTENT_MANAGER_SELECTED_HOME_SECTION:\r\n return { ...state, selectedHomeSection: action.payload };\r\n case SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET: {\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n return {\r\n ...section,\r\n showMoreExpanded: false,\r\n daysOffset: null,\r\n items: section.items.map(item => {\r\n return {\r\n ...item,\r\n selected: false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return newState;\r\n }\r\n case SET_CONTENT_MANAGER_FILTER_SECTION_ITEM: {\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n if (section.filterField.RealFieldName === action.payload.filterSection.filterField.RealFieldName) {\r\n return {\r\n ...section,\r\n daysOffset: null,\r\n items: section.items.map(item => {\r\n if (item.title === action.payload.sectionItem.title) {\r\n return {\r\n ...item,\r\n selected: action.payload.isChecked\r\n }\r\n }\r\n else {\r\n return item\r\n }\r\n })\r\n }\r\n }\r\n else {\r\n return section\r\n }\r\n })\r\n }\r\n return newState;\r\n }\r\n case SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS: {\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n if (section.filterField.RealFieldName === action.payload.filterSection.filterField.RealFieldName) {\r\n return {\r\n ...section,\r\n items: [...action.payload.sectionItems]\r\n }\r\n }\r\n else {\r\n return section\r\n }\r\n })\r\n }\r\n return newState;\r\n }\r\n case SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE: {\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n if (section.filterField.RealFieldName === action.payload.filterSection.filterField.RealFieldName) {\r\n return {\r\n ...section,\r\n daysOffset: action.payload.daysOffset\r\n }\r\n }\r\n else {\r\n return section\r\n }\r\n })\r\n }\r\n return newState;\r\n }\r\n case SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE:\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n if (section.filterField.RealFieldName === action.payload.filterSection.filterField.RealFieldName) {\r\n return {\r\n ...section,\r\n showMoreExpanded: !action.payload.filterSection.showMoreExpanded\r\n }\r\n }\r\n else {\r\n return section\r\n }\r\n\r\n })\r\n }\r\n return newState;\r\n case SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER: {\r\n const newState = {\r\n ...state,\r\n filterSections: state.filterSections.map(section => {\r\n if (section.filterField.RealFieldName === action.payload.filterSection.filterField.RealFieldName) {\r\n return {\r\n ...section,\r\n showSlider: !action.payload.filterSection.showSlider,\r\n items: section.items.map(item => {\r\n return {\r\n ...item,\r\n selected: false\r\n }\r\n })\r\n }\r\n }\r\n else {\r\n return section\r\n }\r\n\r\n })\r\n }\r\n return newState;\r\n }\r\n case SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n moveToEnabled: action.payload.moveToEnabled\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n workingDirectories: [...action.payload.locations]\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n selectedFiles: [...action.payload.selectedFiles]\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_SITEURL:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n siteUrl: action.payload.siteUrl\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n sourceServerRelPath: action.payload.sourceServerRelPath\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_BUSYMOVINGFILES:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n busyMovingFiles: action.payload.busyMovingFiles\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n copyJobResultsCompletedIds: [...action.payload.selectedIds],\r\n selectedFiles: state.moveTo.selectedFiles.map(selectedFile => {\r\n if (action.payload.selectedIds.length === 0) {\r\n return {\r\n ...selectedFile,\r\n isBusy: action.payload.isBusy\r\n }\r\n }\r\n else {\r\n const uniqueId = selectedFile.UniqueId.toLowerCase().replace('{', '').replace('}', '')\r\n if (action.payload.selectedIds.includes(uniqueId)) {\r\n return {\r\n ...selectedFile,\r\n isBusy: action.payload.isBusy\r\n }\r\n } else {\r\n return { ...selectedFile }\r\n }\r\n }\r\n })\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n copyJobResults: [...action.payload.copyJobResults]\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n copyJobResultsCompletedIds: [...action.payload.idsToRemove]\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n copyJobResults: [...state.moveTo.copyJobResults, ...action.payload.copyJobResults]\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_COMPLETED_ITEM_COUNT:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n progressCountCompleted: (state.moveTo.progressCountCompleted ?? 0) + action.payload.completedItemCount\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO:\r\n if (action.payload.moveTo.moveToEnabled === false\r\n && (state.moveTo.mode === ContentManagerCopyMoveModeEnum.CopySelectedEmails\r\n || state.moveTo.mode === ContentManagerCopyMoveModeEnum.CopyEntireFolderEmails)) {\r\n CacheHelper.remove(DocubirdCache.selectedExchangeItems);\r\n CacheHelper.remove(DocubirdCache.spEmailPropertyMappings);\r\n }\r\n\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n mode: action.payload.moveTo.mode != undefined ? action.payload.moveTo.mode : state.moveTo.mode,\r\n moveToEnabled: action.payload.moveTo.moveToEnabled != undefined ? action.payload.moveTo.moveToEnabled : state.moveTo.moveToEnabled,\r\n workingDirectories: action.payload.moveTo.workingDirectories ? [...action.payload.moveTo.workingDirectories] : [...state.moveTo.workingDirectories],\r\n selectedFiles: action.payload.moveTo.selectedFiles ? [...action.payload.moveTo.selectedFiles] : [...state.moveTo.selectedFiles],\r\n siteUrl: action.payload.moveTo.siteUrl ? action.payload.moveTo.siteUrl : state.moveTo.siteUrl,\r\n sourceSiteUrl: action.payload.moveTo.sourceSiteUrl ? action.payload.moveTo.sourceSiteUrl : state.moveTo.sourceSiteUrl,\r\n sourceServerRelPath: action.payload.moveTo.sourceServerRelPath ? action.payload.moveTo.sourceServerRelPath : state.moveTo.sourceServerRelPath,\r\n destinationServerRelPath: action.payload.moveTo.destinationServerRelPath ? action.payload.moveTo.destinationServerRelPath : state.moveTo.destinationServerRelPath,\r\n busyFetchingFiles: action.payload.moveTo.busyFetchingFiles != undefined ? action.payload.moveTo.busyFetchingFiles : state.moveTo.busyFetchingFiles,\r\n busyMovingFiles: action.payload.moveTo.busyMovingFiles != undefined ? action.payload.moveTo.busyMovingFiles : state.moveTo.busyMovingFiles,\r\n isMoveComplete: action.payload.moveTo.isMoveComplete != undefined ? action.payload.moveTo.isMoveComplete : state.moveTo.isMoveComplete,\r\n isMoveCancelled: action.payload.moveTo.isMoveCancelled != undefined ? action.payload.moveTo.isMoveCancelled : state.moveTo.isMoveCancelled,\r\n isMoveInProgress: action.payload.moveTo.isMoveInProgress != undefined ? action.payload.moveTo.isMoveInProgress : state.moveTo.isMoveInProgress,\r\n isPreparingJobs: action.payload.moveTo.isPreparingJobs != undefined ? action.payload.moveTo.isPreparingJobs : state.moveTo.isPreparingJobs,\r\n destinationDirectory: action.payload.moveTo.destinationDirectory ? action.payload.moveTo.destinationDirectory : state.moveTo.destinationDirectory,\r\n sourceDirectory: action.payload.moveTo.sourceDirectory ? action.payload.moveTo.sourceDirectory : state.moveTo.sourceDirectory,\r\n progressCountCompleted: action.payload.moveTo.progressCountCompleted != undefined ? action.payload.moveTo.progressCountCompleted : state.moveTo.progressCountCompleted,\r\n progressCountTotal: action.payload.moveTo.progressCountTotal != undefined ? action.payload.moveTo.progressCountTotal : state.moveTo.progressCountTotal,\r\n error: action.payload.moveTo.error != undefined ? action.payload.moveTo.error : state.moveTo.error,\r\n copyJobResults: action.payload.moveTo.copyJobResults != undefined ? [...action.payload.moveTo.copyJobResults] : state.moveTo.copyJobResults,\r\n copyJobResultsCompletedIds: action.payload.moveTo.copyJobResultsCompletedIds != undefined ? [...action.payload.moveTo.copyJobResultsCompletedIds] : state.moveTo.copyJobResultsCompletedIds\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_MOVETO_ERROR:\r\n return {\r\n ...state,\r\n moveTo: {\r\n ...state.moveTo,\r\n error: action.payload.error,\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_EXCHANGE:\r\n return {\r\n ...state,\r\n exchange: {\r\n ...state.exchange,\r\n selectedFolderId: action.payload.exchange.selectedFolderId,\r\n selectedFolderName: action.payload.exchange.selectedFolderName,\r\n selectedAccount: action.payload.exchange.selectedAccount\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_EXCHANGE_PROGRESS:\r\n return {\r\n ...state,\r\n exchange: {\r\n ...state.exchange,\r\n progress: {\r\n taskId: action.payload.progress?.taskId ? action.payload.progress.taskId : \"\",\r\n status: action.payload.progress?.status ? action.payload.progress.status : undefined,\r\n message: action.payload.progress?.message ? action.payload.progress.message : \"\",\r\n logs: action.payload.progress?.logs ? action.payload.progress.logs : [],\r\n }\r\n }\r\n };\r\n case SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES:\r\n return {\r\n ...state,\r\n exchange: {\r\n ...state.exchange,\r\n additionalMailboxes: action.payload.additionalMailboxes?.length > 0 ? [...action.payload.additionalMailboxes] : []\r\n }\r\n };\r\n case RESET_CONTENT_MANAGER_MOVETO:\r\n return {\r\n ...state,\r\n moveTo: { ...initialState.moveTo }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const registerHistoryEntry = (contentManagerDirectory: ContentManagerDirectoryEnum, replace: boolean = false) => {\r\n if (history?.pushState) {\r\n try {\r\n const cleanUrl = window.location.href\r\n .split(\"?\")[0]\r\n .split(\"#\")[0];\r\n\r\n let locationName: string;\r\n switch (contentManagerDirectory) {\r\n case ContentManagerDirectoryEnum.Home:\r\n locationName = \"Home\";\r\n break;\r\n case ContentManagerDirectoryEnum.SharePoint:\r\n locationName = \"SharePoint\";\r\n break;\r\n case ContentManagerDirectoryEnum.Teams:\r\n locationName = \"Teams\";\r\n break;\r\n case ContentManagerDirectoryEnum.Exchange:\r\n locationName = \"Exchange\";\r\n break;\r\n default:\r\n locationName = \"Home\";\r\n break;\r\n }\r\n if (!replace) {\r\n history.pushState(contentManagerDirectory, \"\", cleanUrl + \"#\" + locationName);\r\n }\r\n else {\r\n history.replaceState(contentManagerDirectory, \"\", cleanUrl + \"#\" + locationName);\r\n }\r\n document.title = locationName + \" | Docubird\";\r\n } catch (error) {\r\n logger(error, \"contentManagerDirectory.ts (registerHistoryEntry)\");\r\n }\r\n }\r\n}","import { typedAction } from \"../helpers\";\r\nimport { currentSharepointFolderState } from \"../models/reduxModels\";\r\nimport { SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW } from \"./actionTypes\";\r\n\r\nconst initialState: currentSharepointFolderState = { canView: true, canCreateFolder: true };\r\n\r\nexport const setCanViewFolder = (folderState: currentSharepointFolderState) => {\r\n return typedAction(SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW, folderState);\r\n};\r\n\r\ntype CurrentSharepointFolderAction = ReturnType;\r\n\r\nexport function currentSharepointFolderReducer(\r\n state = initialState,\r\n action: CurrentSharepointFolderAction\r\n): currentSharepointFolderState {\r\n switch (action.type) {\r\n case SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW:\r\n return { ...action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { typedAction } from \"../helpers\";\r\nimport { dataSourceState } from \"../models/reduxModels\"\r\nimport { SET_DATASOURCE } from \"./actionTypes\";\r\n\r\nconst initialState: dataSourceState = { values: {}, initialLoad: false };\r\n\r\nexport const setDatasourceValues = (values: any, initialLoad?: boolean, callerId?: number) => {\r\n return typedAction(SET_DATASOURCE, { values, initialLoad, callerId });\r\n};\r\n\r\ntype DataSourceAction = ReturnType;\r\n\r\nexport function datasourceReducer(\r\n state = initialState,\r\n action: DataSourceAction\r\n): dataSourceState {\r\n switch (action.type) {\r\n case SET_DATASOURCE:\r\n return { ...state, values: action.payload.values, initialLoad: action.payload.initialLoad === true, callerId: action.payload.callerId };\r\n default:\r\n return state;\r\n }\r\n}","import { typedAction } from \"../helpers\";\r\nimport { SET_EXPANDED_ITEM } from \"./actionTypes\";\r\nimport { IExpander } from \"../models/IExpander\";\r\nimport { expanderConstants } from \"../models/constants/expanders\";\r\n\r\nconst initialState = { //true here means collapsed. \r\n [expanderConstants.home.pinned]: true,\r\n [expanderConstants.home.recent]: true,\r\n [expanderConstants.home.locations]: false,\r\n [expanderConstants.home.shared]: true,\r\n [expanderConstants.home.approvalCenter]: true,\r\n [expanderConstants.teams.joinedTeams]: false,\r\n [expanderConstants.teams.channels]: false,\r\n [expanderConstants.sharepoint.sites]: false,\r\n [expanderConstants.sharepoint.folders]: false,\r\n [expanderConstants.sharepoint.files]: false,\r\n [expanderConstants.sharepointDocument.libraries]: false,\r\n [expanderConstants.sharepointDocument.subsites]: false,\r\n [expanderConstants.tess.activeProjects]: false,\r\n [expanderConstants.tess.draftProjects]: false,\r\n [expanderConstants.tess.finishedProjects]: false,\r\n};\r\n\r\nexport const setExpandedItem = (expanderItem: IExpander) => {\r\n return typedAction(SET_EXPANDED_ITEM, expanderItem);\r\n};\r\n\r\ntype ExpandersAction = ReturnType;\r\n\r\nexport function expandersReducer(\r\n state = initialState,\r\n action: ExpandersAction\r\n) {\r\n switch (action.type) {\r\n case SET_EXPANDED_ITEM:\r\n return { ...state, [action.payload.property]: action.payload.toggle };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","import { typedAction } from \"../helpers\";\r\nimport {\r\n SET_FILES,\r\n UPDATE_FILE_NAME,\r\n SET_FILES_CAN_OVERWRITE,\r\n SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED,\r\n SET_FILES_EXPANDER,\r\n RESET_FILES,\r\n ADD_UPLOADED_FILE,\r\n ADD_UPLOADED_FILES,\r\n DELETE_FILES_BY_ORIGINALNAME,\r\n SET_FILE,\r\n SET_COMPOSE_FILES,\r\n SET_COMPOSE_VISIBILITY,\r\n RESET_COMPOSE\r\n} from \"./actionTypes\";\r\nimport { ComposeFiles, FileState } from \"../models/reduxModels\";\r\nimport { IFileToUpload } from \"../../interfaces/IFileToUpload\";\r\nimport { OneDriveOverWriteEnum } from \"../../components/enums/oneDriveOverWriteEnum\";\r\nimport { validSaveAsPdfExtentions } from \"../../config/constants\";\r\n\r\nconst initialState: FileState = { files: [], canOverwrite: true, expanderIsOpen: true, oneDriveOverwriteOption: OneDriveOverWriteEnum.notSelected, compose: { selectedFiles: [], isGraphQuery: false, isVisible: false } };\r\n\r\nexport const setFiles = (files: IFileToUpload[]) => {\r\n return typedAction(SET_FILES, files);\r\n};\r\n\r\nexport const setFile = (file: IFileToUpload) => {\r\n return typedAction(SET_FILE, file);\r\n};\r\n\r\nexport const setComposeFiles = (data: ComposeFiles) => {\r\n return typedAction(SET_COMPOSE_FILES, data);\r\n};\r\n\r\nexport const setComposeVisibility = (isVisible: boolean) => {\r\n return typedAction(SET_COMPOSE_VISIBILITY, isVisible);\r\n};\r\n\r\nexport const resetCompose = () => {\r\n return typedAction(RESET_COMPOSE);\r\n};\r\n\r\nexport const addUploadedFile = (file: IFileToUpload) => {\r\n return typedAction(ADD_UPLOADED_FILE, file);\r\n};\r\n\r\nexport const addUploadedFiles = (files: IFileToUpload[]) => {\r\n return typedAction(ADD_UPLOADED_FILES, files);\r\n};\r\n\r\nexport const resetFiles = (files: IFileToUpload[]) => {\r\n return typedAction(RESET_FILES, files);\r\n};\r\n\r\nexport const setFilesCanOverwrite = (canOverWrite: boolean) => {\r\n return typedAction(SET_FILES_CAN_OVERWRITE, canOverWrite);\r\n};\r\n\r\nexport const setFileExpander = (expanderIsOpen: boolean) => {\r\n return typedAction(SET_FILES_EXPANDER, expanderIsOpen);\r\n};\r\n\r\nexport const setOneDriveOverwriteOptionSelected = (oneDriveOverWriteOptionSelected: OneDriveOverWriteEnum) => {\r\n return typedAction(SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED, oneDriveOverWriteOptionSelected);\r\n};\r\n\r\nexport const resetDuplicateFilesAndOverWriteSettings = (files: IFileToUpload[]) => {\r\n if (files.some(item => item.isDuplicate)) {\r\n const updatedFiles: IFileToUpload[] = files.map(item => ({ ...item, isDuplicate: false, filePreCommitResult: null }));\r\n return typedAction(RESET_FILES, updatedFiles);\r\n }\r\n\r\n return typedAction(RESET_FILES, files);\r\n};\r\n\r\nexport const deleteFilesByOriginalName = (originalFileNames: string[]) => {\r\n return typedAction(DELETE_FILES_BY_ORIGINALNAME, originalFileNames);\r\n};\r\n\r\nexport const updateFileName = (nameInfo: { name: string; id: string }) => {\r\n return typedAction(UPDATE_FILE_NAME, nameInfo);\r\n};\r\n\r\ntype FileAction = ReturnType<\r\n | typeof setFiles\r\n | typeof setComposeFiles\r\n | typeof setComposeVisibility\r\n | typeof resetCompose\r\n | typeof setFile\r\n | typeof addUploadedFile\r\n | typeof addUploadedFiles\r\n | typeof deleteFilesByOriginalName\r\n | typeof updateFileName\r\n | typeof setFilesCanOverwrite\r\n | typeof setOneDriveOverwriteOptionSelected\r\n | typeof setFileExpander\r\n | typeof resetFiles\r\n>;\r\n\r\nexport function fileReducer(state = initialState, action: FileAction): FileState {\r\n switch (action.type) {\r\n case SET_FILES:\r\n return {\r\n ...state,\r\n files: setFileIndex(action.payload),\r\n };\r\n case SET_FILE:\r\n return {\r\n ...state,\r\n files: state.files.map(\r\n (file) => file.id === action.payload.id ? { ...action.payload, canSaveAsPDF: validSaveAsPdfExtentions.some(ext => ext === file.extension) } : { ...file }\r\n )\r\n };\r\n case SET_COMPOSE_FILES:\r\n return {\r\n ...state,\r\n compose: {\r\n ...state.compose,\r\n selectedFiles: action.payload.selectedFiles.map(file => {\r\n return {\r\n ...file\r\n }\r\n }),\r\n isGraphQuery: action.payload.isGraphQuery\r\n }\r\n };\r\n case SET_COMPOSE_VISIBILITY:\r\n return {\r\n ...state,\r\n compose: {\r\n ...state.compose,\r\n isVisible: action.payload\r\n }\r\n };\r\n case RESET_COMPOSE:\r\n return {\r\n ...state,\r\n compose: {\r\n selectedFiles: [],\r\n isGraphQuery: false,\r\n isVisible: false\r\n }\r\n };\r\n case ADD_UPLOADED_FILE:\r\n return { ...state, files: [...state.files, action.payload] };\r\n case ADD_UPLOADED_FILES:\r\n return { ...state, files: state.files.concat(action.payload) };\r\n case RESET_FILES:\r\n return {\r\n ...state,\r\n files: setFileIndex(action.payload),\r\n canOverwrite: true,\r\n oneDriveOverwriteOption: OneDriveOverWriteEnum.notSelected,\r\n expanderIsOpen: action.payload.some(item => item.isDuplicate) || state.expanderIsOpen\r\n };\r\n case SET_FILES_CAN_OVERWRITE: {\r\n return { ...state, canOverwrite: action.payload };\r\n }\r\n case SET_FILES_EXPANDER: {\r\n return { ...state, expanderIsOpen: action.payload };\r\n }\r\n case SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED: {\r\n return { ...state, canOverwrite: true, oneDriveOverwriteOption: action.payload };\r\n }\r\n case DELETE_FILES_BY_ORIGINALNAME:\r\n return {\r\n ...state,\r\n files: state.files.filter(item => !action.payload.some(originalName => (item.originalName + \".\" + item.extension) == originalName))\r\n }\r\n case UPDATE_FILE_NAME:\r\n return {\r\n ...state,\r\n files: state.files.map((item) => {\r\n return mapUpdateFileEntry(item, action.payload.name, \"name\", action.payload.id, item.id);\r\n })\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst setFileIndex = (files: IFileToUpload[]): IFileToUpload[] => {\r\n return files.map((file, index) => ({\r\n ...file,\r\n index,\r\n canSaveAsPDF: validSaveAsPdfExtentions.some(ext => ext === file.extension)\r\n }));\r\n}\r\n\r\nconst mapUpdateFileEntry = (\r\n item: IFileToUpload,\r\n value: any,\r\n propertyName: string,\r\n idToUpdate: string,\r\n currentId: string\r\n) => {\r\n return currentId !== idToUpdate ? item : { ...item, [propertyName]: value };\r\n};\r\n","import { typedAction } from \"../helpers\";\r\nimport { ModeState } from \"../models/reduxModels\";\r\nimport { SET_MODE } from \"./actionTypes\";\r\nimport { ModeEnum } from \"../../components/enums/modeEnum\";\r\n\r\nconst initialState: ModeState = { mode: ModeEnum.mailCompose };\r\n\r\nexport const setMode = (mode: ModeEnum) => {\r\n return typedAction(SET_MODE, mode);\r\n};\r\n\r\ntype ModeAction = ReturnType;\r\n\r\nexport function modeReducer(state = initialState, action: ModeAction): ModeState {\r\n switch (action.type) {\r\n case SET_MODE:\r\n return { mode: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { OneDriveState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { RESET_DRIVE_LOCATION_BEFORE_SAVING, SET_ONE_DRIVE_LOCATION_BEFORE_SAVING } from \"./actionTypes\";\r\n\r\nconst initialState: OneDriveState = { locationBeforeSaving: [] };\r\n\r\nexport const setLocationBeforeSaving = (locationBeforeSaving: IPageSettings[]) => {\r\n return typedAction(SET_ONE_DRIVE_LOCATION_BEFORE_SAVING, locationBeforeSaving);\r\n};\r\n\r\nexport const resetLocationBeforeSaving = () => {\r\n return typedAction(RESET_DRIVE_LOCATION_BEFORE_SAVING);\r\n};\r\n\r\ntype OneDriveAction = ReturnType;\r\n\r\nexport function oneDriveReducer(\r\n state = initialState,\r\n action: OneDriveAction\r\n): OneDriveState {\r\n switch (action.type) {\r\n case SET_ONE_DRIVE_LOCATION_BEFORE_SAVING:\r\n return { locationBeforeSaving: action.payload };\r\n case RESET_DRIVE_LOCATION_BEFORE_SAVING:\r\n return { locationBeforeSaving: [] };\r\n default:\r\n return state;\r\n }\r\n}","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { IPinnedItems } from \"../models/reduxModels\";\r\nimport {\r\n RESET_USER_PINNED_ITEMS,\r\n SET_USER_PINNED_ITEMS,\r\n SET_PINNED_IS_LOADING,\r\n} from \"./actionTypes\";\r\nimport { FileTypeEnum } from \"../../components/enums/fileTypeEnum\";\r\nimport { StoreItemHelper } from \"../../components/helpers/storeItemHelper\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport LZString = require(\"lz-string\");\r\nimport { apiGetCompressedPinnedData, apiGetOldPinnedItems, apiSetPinnedItems } from \"../../services/ApiService\";\r\n\r\nconst initialState: IPinnedItems = {\r\n isPinnedItemsLoading: false,\r\n pinnedItems: null\r\n};\r\n//PINNED ITEMS\r\n//Get, Set, Add, Reset, Delete\r\nconst setIsPinnedItemsLoading = (isPinnedItemsLoading: boolean) => {\r\n return typedAction(SET_PINNED_IS_LOADING, isPinnedItemsLoading);\r\n};\r\n\r\nexport const setPinnedItems = (pinnedItems: IStoreItem[]) => {\r\n return typedAction(SET_USER_PINNED_ITEMS, pinnedItems);\r\n};\r\n\r\nexport const resetPinnedItems = () => {\r\n return typedAction(RESET_USER_PINNED_ITEMS);\r\n};\r\n\r\nexport const getPinnedItems = (accountId: string): ThunkAction, RootState, unknown, Action> => async (dispatch, getState) => {\r\n if (getState().pinned?.isPinnedItemsLoading) {\r\n return -1;\r\n }\r\n\r\n dispatch(setIsPinnedItemsLoading(true));\r\n let pinnedItems: IStoreItem[];\r\n try {\r\n let compressedPinnedData: string = await apiGetCompressedPinnedData(accountId);\r\n if (compressedPinnedData) {\r\n let fallback: boolean = false;\r\n try {\r\n const decompressedPinned = LZString.decompressFromBase64(compressedPinnedData);\r\n if (decompressedPinned) {\r\n pinnedItems = JSON.parse(decompressedPinned);\r\n }\r\n else {\r\n fallback = true;\r\n }\r\n } catch (error) {\r\n fallback = true;\r\n }\r\n if (fallback) {\r\n // Fallback for old structured data\r\n pinnedItems = await apiGetOldPinnedItems(accountId);\r\n }\r\n }\r\n } catch (error) {\r\n logger(error, \"pinnedItems.ts (getPinnedItems)\");\r\n pinnedItems = null;\r\n }\r\n if (pinnedItems?.length > 25) {\r\n pinnedItems = pinnedItems.slice(0, 25);\r\n }\r\n dispatch(setPinnedItems(pinnedItems ?? []));\r\n return pinnedItems ? pinnedItems.length : 0;\r\n};\r\n\r\nexport const addPinnedItem = (accountId: string, itemToPin: IStoreItem): ThunkAction> => async (dispatch, getState) => {\r\n if (itemToPin) {\r\n let updatedPinnedItems: IStoreItem[];\r\n try {\r\n const itemToPinArray: IStoreItem[] = [itemToPin];\r\n const existingPinnedItems: IStoreItem[] = (getState().pinned?.pinnedItems ?? []).filter(existingPinnedItem => !StoreItemHelper.itemExists(existingPinnedItem, itemToPinArray));\r\n\r\n updatedPinnedItems = existingPinnedItems\r\n ? itemToPinArray.concat(existingPinnedItems)\r\n : itemToPinArray;\r\n\r\n apiSetPinnedItems(accountId, updatedPinnedItems);\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (addPinnedItems)\");\r\n }\r\n dispatch(setPinnedItems(updatedPinnedItems));\r\n }\r\n};\r\n\r\nexport const updatePinnedItems = (accountId: string, pinnedItems: IStoreItem[]): ThunkAction> => async (dispatch) => {\r\n if (pinnedItems) {\r\n try {\r\n apiSetPinnedItems(accountId, pinnedItems);\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (updatePinnedItems)\");\r\n }\r\n dispatch(setPinnedItems(pinnedItems));\r\n }\r\n};\r\n\r\nexport const removePinnedItem = (accountId: string, item: { itemId: string; driveId: string }, fileType: FileTypeEnum): ThunkAction> => async (dispatch, getState) => {\r\n const existingSavedItems: IStoreItem[] = getState().pinned.pinnedItems ?? [];\r\n let updatedItems: IStoreItem[];\r\n try {\r\n if (fileType === FileTypeEnum.folder) {\r\n updatedItems = !item.itemId\r\n ? existingSavedItems.filter(x => x.driveId !== item.driveId || x.itemId != item.itemId)\r\n : existingSavedItems.filter(x => x.itemId !== item.itemId);\r\n }\r\n else {\r\n updatedItems = existingSavedItems.filter(x => x.itemId !== item.itemId);\r\n }\r\n\r\n apiSetPinnedItems(accountId, updatedItems);\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (removePinnedItems)\");\r\n }\r\n\r\n dispatch(setPinnedItems(updatedItems));\r\n};\r\n\r\nexport const MovePinnedItemUp = (accountId: string, itemToMoveIndex: number): ThunkAction> => async (dispatch, getState) => {\r\n const existingPinnedItems: IStoreItem[] = getState().pinned.pinnedItems ?? [];\r\n if (itemToMoveIndex > 0 && existingPinnedItems.length > 0) {\r\n try {\r\n const updatedItems: IStoreItem[] = [...existingPinnedItems];\r\n [updatedItems[itemToMoveIndex], updatedItems[itemToMoveIndex - 1]] = [updatedItems[itemToMoveIndex - 1], updatedItems[itemToMoveIndex]];\r\n dispatch(updatePinnedItems(accountId, updatedItems));\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (MovePinnedItemUp)\");\r\n }\r\n }\r\n};\r\n\r\nexport const MovePinnedItemDown = (accountId: string, itemToMoveIndex: number): ThunkAction> => async (dispatch, getState) => {\r\n const existingPinnedItems: IStoreItem[] = getState().pinned.pinnedItems ?? [];\r\n if (itemToMoveIndex < existingPinnedItems.length - 1 && existingPinnedItems.length > 0) {\r\n try {\r\n const updatedItems: IStoreItem[] = [...existingPinnedItems];\r\n [updatedItems[itemToMoveIndex], updatedItems[itemToMoveIndex + 1]] = [updatedItems[itemToMoveIndex + 1], updatedItems[itemToMoveIndex]];\r\n dispatch(updatePinnedItems(accountId, updatedItems));\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (MovePinnedItemDown)\");\r\n }\r\n }\r\n};\r\n\r\n//Non Redux-based functions. They just live here because it is grouped nicely\r\nexport const getPinnedFolderIndex = (driveId: string, itemId: string, pinnedItems: IStoreItem[]): number => {\r\n let pinnedIndex: number = -1;\r\n if (pinnedItems && pinnedItems.length > 0) {\r\n try {\r\n pinnedIndex = !itemId\r\n ? pinnedItems.findIndex(item => item.fileType == FileTypeEnum.folder && item.driveId && item.driveId === driveId && !item.itemId)\r\n : pinnedItems.findIndex(item => item.fileType == FileTypeEnum.folder && item.itemId && item.itemId === itemId);\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (getPinnedFolderIndex)\");\r\n }\r\n }\r\n return pinnedIndex;\r\n}\r\n\r\nexport const isFolderPinned = (driveId: string, itemId: string, pinnedItems: IStoreItem[]) => {\r\n return getPinnedFolderIndex(driveId, itemId, pinnedItems) > -1;\r\n}\r\n\r\nexport const getPinnedFileIndex = (itemId: string, pinnedItems: IStoreItem[]): number => {\r\n let pinnedIndex: number = -1;\r\n if (pinnedItems && pinnedItems.length > 0) {\r\n try {\r\n pinnedIndex = pinnedItems.findIndex(item => item.fileType == FileTypeEnum.file && item.itemId && item.itemId === itemId);\r\n } catch (e) {\r\n logger(e, \"pinnedItems.ts (getPinnedFileIndex)\");\r\n }\r\n }\r\n return pinnedIndex;\r\n}\r\n\r\nexport const isFilePinned = (itemId: string, pinnedItems: IStoreItem[]): boolean => {\r\n return getPinnedFileIndex(itemId, pinnedItems) > -1;\r\n}\r\n\r\n// const itemExist = (existingSavedItems: IStoreItem[], newItem: IStoreItem) => {\r\n// if (!existingSavedItems) return false;\r\n// return newItem.fileType === FileTypeEnum.file ? existingSavedItems.some(item => item.itemId === newItem.itemId) : folderExists(existingSavedItems, newItem);\r\n// }\r\n\r\n// const folderExists = (existingSavedItems: IStoreItem[], newItem: IStoreItem): boolean => {\r\n// const isRoot = !newItem?.itemId;\r\n// const result = isRoot ? existingSavedItems.some(item => item.driveId === newItem.driveId && item.name === newItem.name) :\r\n// existingSavedItems.some(item => item.driveId === newItem.driveId && item.itemId === newItem.itemId);\r\n\r\n// return result;\r\n// }\r\n\r\ntype HomeAction = ReturnType<\r\n | typeof setPinnedItems\r\n | typeof resetPinnedItems\r\n | typeof setIsPinnedItemsLoading\r\n>;\r\n\r\nexport function pinnedReducer(state = initialState, action: HomeAction): IPinnedItems {\r\n switch (action.type) {\r\n case SET_PINNED_IS_LOADING:\r\n return { ...state, isPinnedItemsLoading: action.payload };\r\n case SET_USER_PINNED_ITEMS:\r\n return { isPinnedItemsLoading: false, pinnedItems: action.payload };\r\n case RESET_USER_PINNED_ITEMS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { IRecentItems } from \"../models/reduxModels\";\r\nimport { getRecentFiles } from \"../../services/GraphService\";\r\nimport {\r\n RESET_USER_RECENT_ITEMS,\r\n SET_USER_RECENT_ITEMS,\r\n SET_RECENT_IS_LOADING\r\n} from \"./actionTypes\";\r\nimport { FileTypeEnum } from \"../../components/enums/fileTypeEnum\";\r\nimport { ArrayIdCombiner } from \"../../components/helpers/arrayCombiner\";\r\nimport { RecentFilesMapper } from \"../../components/mappers/recentFilesMapper\";\r\nimport { StoreItemHelper } from \"../../components/helpers/storeItemHelper\";\r\nimport dayjs from 'dayjs';\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport LZString = require(\"lz-string\");\r\nimport { apiGetCompressedRecentData, apiGetOldRecentItems, apiSetRecentItems } from \"../../services/ApiService\";\r\n\r\nconst initialState: IRecentItems = {\r\n isRecentItemsLoading: false,\r\n recentItems: null\r\n};\r\n\r\nconst setIsRecentItemsLoading = (isRecentItemsLoading: boolean) => {\r\n return typedAction(SET_RECENT_IS_LOADING, isRecentItemsLoading);\r\n};\r\n\r\nexport const setRecentItems = (recentItems: IStoreItem[]) => {\r\n return typedAction(SET_USER_RECENT_ITEMS, recentItems);\r\n};\r\n\r\nexport const resetRecentItems = () => {\r\n return typedAction(RESET_USER_RECENT_ITEMS);\r\n};\r\n\r\nexport const getRecentItems = (accountId: string, languageStrings: any): ThunkAction, RootState, unknown, Action> => async (dispatch, getState) => {\r\n if (getState().recent?.isRecentItemsLoading) {\r\n return -1;\r\n }\r\n\r\n dispatch(setIsRecentItemsLoading(true));\r\n\r\n const getLocalRecentItems = async () => {\r\n let localRecentItems: IStoreItem[];\r\n try {\r\n let compressedRecentData: string = await apiGetCompressedRecentData(accountId);\r\n if (compressedRecentData) {\r\n let fallback: boolean = false;\r\n try {\r\n const decompressedData = LZString.decompressFromBase64(compressedRecentData);\r\n if (decompressedData) {\r\n localRecentItems = JSON.parse(decompressedData);\r\n } else {\r\n fallback = true;\r\n }\r\n } catch (error) {\r\n // Fallback for old structured data\r\n fallback = true;\r\n }\r\n if (fallback) {\r\n try {\r\n localRecentItems = await apiGetOldRecentItems(accountId)\r\n } catch (e) {\r\n localRecentItems = null;\r\n }\r\n }\r\n }\r\n \r\n if (localRecentItems && Array.isArray(localRecentItems)) {\r\n localRecentItems = localRecentItems\r\n .map(recentItem => {\r\n return {\r\n ...recentItem,\r\n datePinned: recentItem.datePinned && dayjs(recentItem.datePinned).toDate()\r\n }\r\n })\r\n .sort((a, b) => a?.datePinned && b?.datePinned && +a.datePinned < +b.datePinned ? 1 : -1)\r\n .slice(0, 25);\r\n }\r\n } catch (error) {\r\n logger(error, \"recentItems.ts (getLocalRecentItems)\");\r\n }\r\n return localRecentItems;\r\n }\r\n\r\n let recentItems: IStoreItem[];\r\n let graphRecentFiles: any;\r\n\r\n [recentItems, graphRecentFiles] = await Promise.all([getLocalRecentItems(), getRecentFiles(true)]);\r\n\r\n let graphRemovedDuplicates: IStoreItem[];\r\n try {\r\n if (graphRecentFiles) {\r\n const graphRecentStoreItems = new RecentFilesMapper(languageStrings, true).map(graphRecentFiles);\r\n graphRemovedDuplicates = recentItems ? ArrayIdCombiner.removeDuplicates(graphRecentStoreItems, recentItems.map(x => x.itemId)) : graphRecentStoreItems;\r\n }\r\n } catch (error) {\r\n logger(error, \"recentItems.ts (Remove duplicates)\");\r\n }\r\n\r\n const combined: IStoreItem[] = [...(recentItems ?? []), ...(graphRemovedDuplicates ?? [])].sort((a, b) => {\r\n // return a?.lastModifiedDateTime?.length && b?.lastModifiedDateTime?.length && dayjs(a.lastModifiedDateTime).unix() < dayjs(b.lastModifiedDateTime).unix() ? 1 : -1;\r\n return a?.datePinned && b?.datePinned && +a.datePinned < +b.datePinned ? 1 : -1;\r\n });\r\n\r\n dispatch(setRecentItems(combined));\r\n return combined.length;\r\n};\r\n\r\nexport const addRecentItem = (accountId: string, newRecentItems: IStoreItem[]): ThunkAction> => (dispatch, getState) => {\r\n if (newRecentItems && newRecentItems?.length > 0) {\r\n let updatedRecentItems: IStoreItem[];\r\n try {\r\n const existingRecentItems: IStoreItem[] = getState().recent.recentItems?.filter(existingRecentItem => !StoreItemHelper.itemExists(existingRecentItem, newRecentItems));\r\n\r\n updatedRecentItems = existingRecentItems\r\n ? newRecentItems.concat(existingRecentItems)\r\n : newRecentItems;\r\n\r\n apiSetRecentItems(accountId, updatedRecentItems);\r\n } catch (e) {\r\n logger(e, \"recentItems.ts (addRecentItems)\");\r\n }\r\n dispatch(setRecentItems(updatedRecentItems));\r\n }\r\n};\r\n\r\nexport const removeRecentItem = (accountId: string, item: { itemId: string; driveId: string }, fileType: FileTypeEnum): ThunkAction> => async (dispatch, getState) => {\r\n const existingItems: IStoreItem[] = getState().recent.recentItems ?? [];\r\n let updatedItems: IStoreItem[];\r\n try {\r\n if (fileType === FileTypeEnum.folder) {\r\n updatedItems = !item.itemId\r\n ? existingItems.filter(x => x.driveId !== item.driveId || x.itemId !== item.itemId)\r\n : existingItems.filter(x => x.itemId !== item.itemId);\r\n }\r\n else {\r\n updatedItems = existingItems.filter(x => x.itemId !== item.itemId);\r\n }\r\n\r\n apiSetRecentItems(accountId, updatedItems);\r\n } catch (e) {\r\n logger(e, \"recentItems.ts (removeRecentItems)\");\r\n }\r\n\r\n dispatch(setRecentItems(updatedItems));\r\n};\r\n\r\n\r\ntype HomeAction = ReturnType<\r\n | typeof setRecentItems\r\n | typeof resetRecentItems\r\n | typeof setIsRecentItemsLoading\r\n>;\r\n\r\nexport function recentReducer(state = initialState, action: HomeAction): IRecentItems {\r\n switch (action.type) {\r\n case SET_RECENT_IS_LOADING:\r\n return { ...state, isRecentItemsLoading: action.payload };\r\n case SET_USER_RECENT_ITEMS:\r\n return { isRecentItemsLoading: false, recentItems: action.payload };\r\n case RESET_USER_RECENT_ITEMS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { ISiteRegionalSettings } from \"../../interfaces/ISiteRegionalSettings\";\r\nimport { RegionalSettingsState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { ADD_REGIONAL_SETTINGS } from \"./actionTypes\";\r\n\r\nconst initialState: RegionalSettingsState = {};\r\n\r\nexport const addRegionalSettings = (regionalSetting: ISiteRegionalSettings) => {\r\n return typedAction(ADD_REGIONAL_SETTINGS, regionalSetting);\r\n};\r\n\r\ntype RegionalSettingsAction = ReturnType;\r\n\r\nexport const regionalSettingsReducer = (\r\n state = initialState,\r\n action: RegionalSettingsAction\r\n): RegionalSettingsState => {\r\n switch (action.type) {\r\n case ADD_REGIONAL_SETTINGS:\r\n return { ...state, [action.payload.webUrl]: action.payload };\r\n default:\r\n return state;\r\n }\r\n}","import { ReloadState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { TOGGLE_RELOAD } from \"./actionTypes\";\r\n\r\nconst initialState: ReloadState = { toggle: false };\r\n\r\nexport const toggleReload = () => {\r\n return typedAction(TOGGLE_RELOAD);\r\n}\r\n\r\ntype ReloadAction = ReturnType;\r\n\r\nexport function reloadReducer(\r\n state = initialState,\r\n action: ReloadAction\r\n): ReloadState {\r\n switch (action.type) {\r\n case TOGGLE_RELOAD:\r\n const currentToggle: boolean = state.toggle;\r\n return { toggle: !currentToggle };\r\n default:\r\n return state;\r\n }\r\n}","import { typedAction } from \"../helpers\";\r\nimport { SET_IS_SAVING_IN_BACKGROUND, SET_IS_BUSY_SAVING, SET_IS_CHECKING_DUPLICATES, SET_NEEDS_REDIRECT_TO_HOME, SET_IS_LOADING_METADATA } from \"./actionTypes\";\r\nimport { savingInBackgroundState, ISavingInBackgroundInfo } from \"../models/reduxModels\";\r\n\r\nconst initialState: savingInBackgroundState = {\r\n type: null,\r\n isSavingInBackground: false,\r\n isBusySaving: false,\r\n isSuccess: true,\r\n isCheckingForDuplicates: false,\r\n needsRedirectToHome: false,\r\n errorMessages: [],\r\n isLoadingMetadata: false\r\n};\r\n\r\nexport const setIsSavingInBackground = (isSavingInBackground: boolean, type?: string) => {\r\n return typedAction(SET_IS_SAVING_IN_BACKGROUND, { isSavingInBackground: isSavingInBackground, type: type });\r\n};\r\n\r\nexport const setIsBusySaving = (isBusySaving: ISavingInBackgroundInfo) => {\r\n return typedAction(SET_IS_BUSY_SAVING, isBusySaving);\r\n};\r\n\r\nexport const setIsCheckingForDuplicates = (isCheckingForDuplicates: boolean) => {\r\n return typedAction(SET_IS_CHECKING_DUPLICATES, isCheckingForDuplicates);\r\n};\r\n\r\nexport const setIsBusyLoadingMetadata = (isLoadingMetadata: boolean) => {\r\n return typedAction(SET_IS_LOADING_METADATA, isLoadingMetadata);\r\n};\r\n\r\nexport const setNeedsRedirectToHome = (needsRedirectToHome: boolean) => {\r\n return typedAction(SET_NEEDS_REDIRECT_TO_HOME, needsRedirectToHome);\r\n};\r\n\r\ntype SavingInBackgroundAction = ReturnType<\r\n typeof setIsSavingInBackground\r\n | typeof setIsBusySaving\r\n | typeof setIsCheckingForDuplicates\r\n | typeof setIsBusyLoadingMetadata\r\n | typeof setNeedsRedirectToHome>;\r\n\r\nexport function savingInBackgroundReducer(\r\n state = initialState,\r\n action: SavingInBackgroundAction\r\n): savingInBackgroundState {\r\n switch (action.type) {\r\n case SET_IS_SAVING_IN_BACKGROUND:\r\n return { ...state, type: action.payload.type, isSavingInBackground: action.payload.isSavingInBackground, isCheckingForDuplicates: false, errorMessages: [] };\r\n case SET_IS_BUSY_SAVING:\r\n return { ...state, isBusySaving: action.payload.isBusySaving, isSuccess: action.payload.isSuccess, isCheckingForDuplicates: false, errorMessages: action.payload.errorMessages };\r\n case SET_IS_CHECKING_DUPLICATES:\r\n return { ...state, isCheckingForDuplicates: action.payload };\r\n case SET_IS_LOADING_METADATA:\r\n return { ...state, isLoadingMetadata: action.payload };\r\n case SET_NEEDS_REDIRECT_TO_HOME:\r\n return { ...state, needsRedirectToHome: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { SavingLocationState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { SET_SAVING_LOCATION, RESET_SAVING_LOCATION } from \"./actionTypes\";\r\n\r\nconst initialState: SavingLocationState = { directory: \"\", display: \"\", webUrl: \"\", documentLibrary: \"\", isOneDriveFolder: false, sharePointListId: null };\r\n\r\nexport const setSavingLocation = (location: SavingLocationState, isOneDriveFolder: boolean = false) => {\r\n return typedAction(SET_SAVING_LOCATION, { ...location, isOneDriveFolder: isOneDriveFolder });\r\n};\r\n\r\nexport const resetSavingLocation = () => {\r\n return typedAction(RESET_SAVING_LOCATION);\r\n}\r\n\r\ntype SavingLocationAction = ReturnType;\r\n\r\nexport function savingLocationReducer(\r\n state = initialState,\r\n action: SavingLocationAction\r\n): SavingLocationState {\r\n switch (action.type) {\r\n case SET_SAVING_LOCATION:\r\n return action.payload;\r\n case RESET_SAVING_LOCATION:\r\n return initialState\r\n default:\r\n return state;\r\n }\r\n}","import { typedAction } from \"../helpers\";\r\nimport { SET_TENANT_INFO } from \"./actionTypes\";\r\nimport { TenantState } from \"../models/reduxModels\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { ITenantInfo } from \"../../interfaces/ITenantInfo\";\r\nimport { apiGetTenantInfo } from \"../../services/ApiService\";\r\n\r\nconst initialState: TenantState = {\r\n tenantId: \"\",\r\n friendlyName: \"\",\r\n appTitle: \"\",\r\n appLogo: \"\",\r\n appColor: \"\",\r\n allowedAdvancedSearchFields: [],\r\n allowedSiteCollections: [],\r\n allowedTeams: [],\r\n hiddenMetadataFields: [],\r\n datasources: [],\r\n sites: [],\r\n metadataTextColors: []\r\n};\r\n\r\nexport const getTenantInfo = async (tenantId: string) => {\r\n try {\r\n const tenantInfo: ITenantInfo = await apiGetTenantInfo(tenantId);\r\n if (tenantInfo) {\r\n const allowedAdvancedSearchFields = tenantInfo.allowedAdvancedSearchFields?.toLowerCase()\r\n .split(\";\")\r\n .map(allowedField => allowedField.trim())\r\n .filter(allowedField => allowedField.length > 0);\r\n\r\n const allowedSiteCollections = tenantInfo.allowedSiteCollections?.toLowerCase()\r\n .split(\";\")\r\n .map(allowedSite => allowedSite.trim())\r\n .filter(allowedSite => allowedSite.length > 0);\r\n\r\n const allowedTeams = tenantInfo.allowedTeams?.toLowerCase()\r\n .split(\";\")\r\n .map(allowedTeam => allowedTeam.trim())\r\n .filter(allowedTeam => allowedTeam.length > 0);\r\n\r\n const hiddenMetadataFields = tenantInfo.hiddenMetadataFields?.toLowerCase()\r\n .split(\";\")\r\n .map(hiddenField => hiddenField.trim())\r\n .filter(hiddenField => hiddenField.length > 0);\r\n\r\n const tenantState: TenantState = {\r\n tenantId: tenantInfo.tenantId,\r\n friendlyName: tenantInfo.friendlyName,\r\n appColor: tenantInfo.appColor,\r\n appLogo: tenantInfo.appLogo,\r\n appTitle: tenantInfo.appTitle,\r\n allowedAdvancedSearchFields: allowedAdvancedSearchFields,\r\n allowedSiteCollections: allowedSiteCollections,\r\n allowedTeams: allowedTeams,\r\n hiddenMetadataFields: hiddenMetadataFields,\r\n datasources: tenantInfo.datasources,\r\n sites: tenantInfo.sites,\r\n enablePII: tenantInfo.enablePII,\r\n tenantEnableApprovalHooks: tenantInfo.tenantEnableApprovalHooks,\r\n apiKey: tenantInfo.apiKey,\r\n enableRedaction: tenantInfo.enableRedaction,\r\n replaceFileNameWithGUID: tenantInfo.replaceFileNameWithGUID,\r\n disableFileRename: tenantInfo.disableFileRename,\r\n enablePermissionManagement: tenantInfo.enablePermissionManagement,\r\n openDocumentsInClientApp: tenantInfo.openDocumentsInClientApp,\r\n enableCopyMoveTo: tenantInfo.enableCopyMoveTo,\r\n enableSharing: tenantInfo.enableSharing,\r\n enableNewTemplateFilters: tenantInfo.enableNewTemplateFilters,\r\n newTemplateLibraryFilters: tenantInfo.newTemplateLibraryFilters,\r\n newTemplateFolderFilters: tenantInfo.newTemplateFolderFilters,\r\n newTemplateDocumentSetFilters: tenantInfo.newTemplateDocumentSetFilters,\r\n nintexClientId: tenantInfo.nintexClientId,\r\n nintexClientSecret: tenantInfo.nintexClientSecret,\r\n minVersionLimit: tenantInfo.minVersionLimit,\r\n autoDeleteMinorVersionsOnPublish: tenantInfo.autoDeleteMinorVersionsOnPublish,\r\n requiredMetadataOnPublish: tenantInfo.requiredMetadataOnPublish,\r\n enableExchange: tenantInfo.enableExchange,\r\n emailToMetadataMapping: tenantInfo.emailToMetadataMapping,\r\n hideAutoPreview: tenantInfo.hideAutoPreview,\r\n hideDocumentLibrariesInTeams: tenantInfo.hideDocumentLibrariesInTeams,\r\n hideTeamsSitesInSharePoint: tenantInfo.hideTeamsSitesInSharePoint,\r\n metadataTextColors: tenantInfo.metadataTextColors,\r\n isTessEnabled: tenantInfo?.isTessEnabled,\r\n disableMailCategorization: tenantInfo.disableMailCategorization,\r\n enableAdvSearchMultiSites: tenantInfo.enableAdvSearchMultiSites,\r\n disableAdvSearchContentTypes: tenantInfo.disableAdvSearchContentTypes,\r\n enforceStrictDocumentSetsOnly: tenantInfo.enforceStrictDocumentSetsOnly,\r\n disableAutoOpenAfterNewFileFromTemplate: tenantInfo.disableAutoOpenAfterNewFileFromTemplate\r\n };\r\n\r\n return tenantState;\r\n }\r\n } catch (error) {\r\n logger(error, \"tenant.ts (getTenantInfo)\");\r\n }\r\n\r\n return initialState;\r\n};\r\n\r\nexport const setTenantInfo = (tenantInfo: TenantState) => {\r\n return typedAction(SET_TENANT_INFO, tenantInfo);\r\n};\r\n\r\ntype TenantAction = ReturnType;\r\n\r\nexport function tenantReducer(state = initialState, action: TenantAction): TenantState {\r\n switch (action.type) {\r\n case SET_TENANT_INFO:\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { typedAction } from \"../helpers\";\r\nimport { ADD_WORKING_DIRECTORY, REMOVE_WORKING_DIRECTORY, RESET_WORKING_DIRECTORY, REMOVE_WORKING_DIRECTORIES_BY_INDEX, REMOVE_WORKING_DIRECTORIES_BY_INDEX_INDEX_AND_ADD_ITEM, SET_ONE_DRIVE_DETAILS, ADD_WORKING_DIRECTORIES, SET_WORKING_DIRECTORIES } from \"./actionTypes\";\r\nimport { WorkingDirectoryState } from \"../models/reduxModels\";\r\nimport { IPageSettings } from \"../../interfaces/IPageSettings\";\r\nimport { IBreadcrumbItem } from \"@fluentui/react\";\r\nimport { IOneDriveRootDetails } from \"../../interfaces/IOneDriveRootDetails\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\n\r\nconst initialState: WorkingDirectoryState = { workingDirectories: [] };\r\n\r\nexport const addWorkingDirectory = (location: IPageSettings) => {\r\n return typedAction(ADD_WORKING_DIRECTORY, location);\r\n};\r\n\r\nexport const addWorkingDirectories = (locations: IPageSettings[]) => {\r\n return typedAction(ADD_WORKING_DIRECTORIES, locations);\r\n};\r\n\r\nexport const setWorkingDirectories = (locations: IPageSettings[]) => {\r\n return typedAction(SET_WORKING_DIRECTORIES, locations);\r\n}\r\n\r\nexport const setOneDriveDetails = (oneDriveDetails: IOneDriveRootDetails) => {\r\n return typedAction(SET_ONE_DRIVE_DETAILS, oneDriveDetails);\r\n}\r\n\r\nexport const removeTopWorkingDirectory = () => {\r\n return typedAction(REMOVE_WORKING_DIRECTORY);\r\n}\r\n\r\nexport const resetWorkingDirectories = (locations?: IPageSettings[], registerHistory: boolean = true) => {\r\n return typedAction(RESET_WORKING_DIRECTORY, { locations, registerHistory });\r\n}\r\n\r\nexport const removeDirectoriesByIndex = (item: IBreadcrumbItem) => {\r\n return typedAction(REMOVE_WORKING_DIRECTORIES_BY_INDEX, item)\r\n}\r\n\r\nexport const removeDirectoriesByIndexAndAddItem = (index: number, location: IPageSettings) => {\r\n return typedAction(REMOVE_WORKING_DIRECTORIES_BY_INDEX_INDEX_AND_ADD_ITEM, { index, location })\r\n}\r\n\r\ntype WorkingDirectoryAction = ReturnType;\r\n\r\nexport function workingDirectoryReducer(\r\n state = initialState,\r\n action: WorkingDirectoryAction\r\n): WorkingDirectoryState {\r\n switch (action.type) {\r\n case SET_ONE_DRIVE_DETAILS:\r\n return { ...state, oneDriveRootDetails: action.payload };\r\n case ADD_WORKING_DIRECTORY: {\r\n const updatedWorkingDirectories: IPageSettings[] = [...state.workingDirectories, action.payload];\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories };\r\n }\r\n case ADD_WORKING_DIRECTORIES: {\r\n const updatedWorkingDirectories: IPageSettings[] = [...state.workingDirectories, ...action.payload];\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories };\r\n }\r\n case SET_WORKING_DIRECTORIES: {\r\n const updatedWorkingDirectories: IPageSettings[] = [...action.payload];\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories };\r\n }\r\n case REMOVE_WORKING_DIRECTORY: {\r\n const updatedWorkingDirectories: IPageSettings[] = [...state.workingDirectories.slice(0, state.workingDirectories.length - 1)];\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories };\r\n }\r\n case RESET_WORKING_DIRECTORY: {\r\n const updatedWorkingDirectories: IPageSettings[] = !action.payload.locations\r\n ? []\r\n : [...action.payload.locations];\r\n if (action.payload.registerHistory === true) {\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n }\r\n return { workingDirectories: updatedWorkingDirectories, oneDriveRootDetails: state.oneDriveRootDetails }\r\n }\r\n case REMOVE_WORKING_DIRECTORIES_BY_INDEX: {\r\n // const index = state.workingDirectories.findIndex(directory => directory.id === action.payload.key);\r\n // return { ...state, workingDirectories: [...state.workingDirectories.slice(0, index + 1)] }\r\n const updatedWorkingDirectories: IPageSettings[] = [...state.workingDirectories.slice(0, parseInt(action.payload.key) + 1)];\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories }\r\n }\r\n case REMOVE_WORKING_DIRECTORIES_BY_INDEX_INDEX_AND_ADD_ITEM: {\r\n const updatedWorkingDirectories = [...state.workingDirectories.slice(0, action.payload.index)];\r\n updatedWorkingDirectories.push(action.payload.location);\r\n registerHistoryEntry(updatedWorkingDirectories);\r\n return { ...state, workingDirectories: updatedWorkingDirectories }\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst registerHistoryEntry = (updatedWorkingDirectories: IPageSettings[]) => {\r\n if (history?.pushState) {\r\n try {\r\n const cleanUrl = window.location.href\r\n .split(\"?\")[0]\r\n .split(\"#\")[0];\r\n\r\n history.pushState(updatedWorkingDirectories, \"\", cleanUrl + \"#\" + (updatedWorkingDirectories?.map(x => x.displayName?.trim())?.join(\"/\")?.replace(/ /g, \"-\")?.replace(/[^a-zA-Z0-9-_./:?&=]+/g, \"\")?.replace(/-+/g, \"-\") || \"Home\"));\r\n\r\n if (updatedWorkingDirectories?.length) {\r\n let locationTitle: string;\r\n for (let i = updatedWorkingDirectories.length - 1; i > -1; i--) {\r\n if (updatedWorkingDirectories[i]?.siteDisplayName) {\r\n locationTitle = updatedWorkingDirectories[i].siteDisplayName;\r\n break;\r\n }\r\n }\r\n\r\n if (!locationTitle) {\r\n locationTitle = updatedWorkingDirectories[updatedWorkingDirectories.length - 1].displayName?.trim();\r\n }\r\n\r\n document.title = (locationTitle || \"Home\") + \" | Docubird\";\r\n }\r\n else {\r\n document.title = \"Home | Docubird\";\r\n }\r\n } catch (error) {\r\n logger(error, \"workingDirectory.ts (registerHistoryEntry)\");\r\n document.title = \"Docubird\";\r\n }\r\n }\r\n}","// we make this a class so that we can get object.keys without actually creating a object of that interface.\r\n// we can do object.keys on an uninstantiated class\r\n\r\nimport { logger } from \"../../../utilities/logger\";\r\nimport { IMailSendHeaders } from \"../interfaces/IMailSendPayload\";\r\n\r\nclass IEmailMapper {\r\n public contentType: string = \"Email, E-mail\";\r\n public subject: string = \"Subject, EmailSubject\";\r\n public from: string = \"EmailFrom, From, EmailSender\";\r\n public date: string = \"Date, EmailDate\";\r\n public received: string = \"EmailReceived, Received\";\r\n public to: string = \"To, EmailTo\";\r\n public bcc: string = \"\";\r\n public cc: string = \"EmailCc, Cc\";\r\n public categories: string = \"Categories\";\r\n public conversationIndex: string = \"ConversationIndex, ConversationID\";\r\n //public conversationTopic: string = \"ConversationTopic\";\r\n public attachments: string = \"Attachments, HasAttachments, WithAttachments\";\r\n //public inReplyTo: string = \"InReplyTo, EmailInReplyTo, In-Reply-To\";\r\n public messageId: string = \"MessageID\";\r\n //public references: string = \"References, EmailReferences\";\r\n public replyTo: string = \"ReplyTo, EmailReplyTo, Reply-To\";\r\n public importance: string = \"Importance\";\r\n public originalSubject: string = \"OriginalSubject\";\r\n}\r\n\r\nexport const emailMappingTypes = new IEmailMapper();\r\n\r\ninterface IEmailColumn {\r\n name: string, //name is the email property attribute name obtained from the mailbox item\r\n value: string, //value is the corresponding mapping to a sharepoint column\r\n}\r\n\r\nexport interface IMappedValue {\r\n value: any,\r\n type: string,\r\n}\r\n\r\ninterface ISpFieldsPerMailCategory {\r\n category: string,\r\n fields: string[],\r\n}\r\n\r\nclass EmailMapper extends IEmailMapper {\r\n\r\n private fieldColumnMap: IEmailColumn[] = []; // the column names we will search for when mapping email contents to meta data fields\r\n private fieldSharePointColumns: ISpFieldsPerMailCategory[] = [];\r\n private allSharePointColumns: string[] = []; // \"column1, column2\" -> [\"column1\", \"column2\"]\r\n private exchangeEmail: any = null;\r\n\r\n constructor() {\r\n super();\r\n const keys = Object.keys(emailMappingTypes);\r\n this.fieldColumnMap = keys.map(key => {\r\n return ({\r\n name: key,\r\n value: this[key],\r\n })\r\n });\r\n this.updateMappingLists();\r\n }\r\n\r\n public updateMappingLists() {\r\n let sharePointColumnNames: string[] = [];\r\n const fieldSharePointColumnMap: ISpFieldsPerMailCategory[] = [];\r\n this.fieldColumnMap.forEach(emailColumn => {\r\n const spColumns = emailColumn.value?.split(\",\").map(c => c.trim()).filter(c => c);\r\n\r\n sharePointColumnNames = sharePointColumnNames.concat(spColumns);\r\n fieldSharePointColumnMap.push({\r\n category: emailColumn?.name,\r\n fields: spColumns\r\n });\r\n });\r\n this.allSharePointColumns = sharePointColumnNames;\r\n this.fieldSharePointColumns = fieldSharePointColumnMap;\r\n }\r\n\r\n public getColumnValue = (columnName: string): string => {\r\n if (this.fieldColumnMap) {\r\n const index = this.fieldColumnMap.findIndex(f => f.name.toLowerCase() === columnName.toLowerCase());\r\n //returns -1 if no value has been saved.\r\n return index >= 0 ? this.fieldColumnMap[index].value : null;\r\n }\r\n return null;\r\n }\r\n\r\n public setColumnNameValue = (columnName: string, value: string) => {\r\n this.fieldColumnMap[this.fieldColumnMap.findIndex(f => f.name === columnName)].value = value;\r\n }\r\n\r\n public updateValuesFromExchange = (exchangeData: any) => {\r\n if (exchangeData) {\r\n this.exchangeEmail = exchangeData;\r\n }\r\n }\r\n\r\n public findMappedColumnNames = (fieldName: string): string[] => {\r\n return this.fieldColumnMap.find(f => f.name.toLowerCase() === fieldName.toLowerCase())?.value?.split(\",\").map(s => s.trim());\r\n }\r\n\r\n public setMapping = (jsonMappingString: string) => {\r\n if (jsonMappingString) {\r\n try {\r\n const mappingObject = JSON.parse(jsonMappingString);\r\n this.fieldColumnMap = mappingObject;\r\n this.updateMappingLists();\r\n } catch (error) {\r\n logger(error, \"EmailMapper.ts (setMapping)\");\r\n }\r\n }\r\n }\r\n\r\n public getEmailMappingString = () => {\r\n return JSON.stringify(this.fieldColumnMap);\r\n }\r\n\r\n public getSpToEmailMapping = async (spColumnName: string, mailbox: Office.Mailbox, mailSendHeaders?: IMailSendHeaders): Promise => {\r\n let mappedVal: IMappedValue = { value: null, type: null };\r\n try {\r\n const mailPropertyName = this.fieldSharePointColumns.find(fieldsPerCat => {\r\n return fieldsPerCat.fields.some(field => field === spColumnName);\r\n })?.category;\r\n\r\n if (mailPropertyName && (mailbox || mailSendHeaders)) {\r\n switch (mailPropertyName.toLowerCase()) {\r\n case \"subject\":\r\n mappedVal.value = mailbox?.item?.normalizedSubject ?? mailSendHeaders?.subject;\r\n break;\r\n case \"from\":\r\n mappedVal.value = mailbox?.item?.from.emailAddress ?? mailSendHeaders?.from; //email address? display name\r\n break;\r\n case \"date\":\r\n mappedVal.value = mailbox?.item?.dateTimeCreated ?? mailSendHeaders?.date;\r\n break;\r\n case \"received\":\r\n mappedVal.value = this.exchangeEmail?.receivedDateTime ?? this.exchangeEmail?.ReceivedDateTime;\r\n break;\r\n case \"to\":\r\n mappedVal.value = mailbox?.item?.to.map(t => t.emailAddress) ?? mailSendHeaders.to;\r\n break;\r\n case \"bcc\":\r\n try {\r\n mappedVal.value = mailbox?.item?.bcc\r\n ? await new Promise((resolve, reject) => {\r\n mailbox.item?.bcc.getAsync((result) => {\r\n if (result.status === Office.AsyncResultStatus.Succeeded) {\r\n const bccEmailAddress = result.value?.map(v => v.emailAddress);\r\n resolve(bccEmailAddress);\r\n } else {\r\n reject(result.error);\r\n }\r\n });\r\n })\r\n : mailSendHeaders?.bcc;\r\n } catch (bccError) {\r\n logger(bccError, \"EmailMapper.ts (bcc)\");\r\n }\r\n break;\r\n case \"cc\":\r\n mappedVal.value = mailbox?.item?.cc.map(cc => cc.emailAddress) ?? mailSendHeaders.cc;\r\n break;\r\n case \"categories\":\r\n try {\r\n mappedVal.value = mailbox?.item?.categories\r\n ? await new Promise((resolve, reject) => {\r\n mailbox.item?.categories.getAsync((result) => {\r\n if (result.status === Office.AsyncResultStatus.Succeeded) {\r\n const categories = result.value?.map(c => c.displayName);\r\n resolve(categories);\r\n } else {\r\n reject(result.error)\r\n }\r\n });\r\n })\r\n : mailSendHeaders?.categories;\r\n } catch (catError) {\r\n logger(catError, \"EmailMapper.ts (categories)\");\r\n }\r\n break;\r\n case \"conversationIndex\".toLowerCase():\r\n mappedVal.value = this.exchangeEmail?.conversationIndex ?? this.exchangeEmail?.ConversationIndex;\r\n break;\r\n case \"conversationTopic\".toLowerCase():\r\n mappedVal.value = mailbox?.item?.conversationId;\r\n break;\r\n case \"attachments\":\r\n mappedVal.value = this.exchangeEmail?.hasAttachments?.toString() ?? this.exchangeEmail?.HasAttachments?.toString();\r\n break;\r\n case \"inReplyTo\".toLowerCase():\r\n mappedVal.value = null; //??\r\n break;\r\n case \"messageId\".toLowerCase():\r\n mappedVal.value = mailbox?.item?.internetMessageId;\r\n break;\r\n case \"references\":\r\n mappedVal.value = null; //??\r\n break;\r\n case \"replyTo\".toLowerCase():\r\n mappedVal.value = this.exchangeEmail?.replyTo?.map(v => v.EmailAddress.Address) ?? this.exchangeEmail?.ReplyTo?.map(v => v.EmailAddress.Address);\r\n break;\r\n case \"importance\":\r\n mappedVal.value = this.exchangeEmail?.importance ?? this.exchangeEmail?.Importance;\r\n break;\r\n case \"originalSubject\".toLowerCase():\r\n mappedVal.value = mailbox?.item?.subject ?? mailSendHeaders?.subject;\r\n break;\r\n default:\r\n mappedVal.value = null;\r\n break;\r\n }\r\n }\r\n } catch (err) {\r\n logger(err, \"EmailMapper.ts (getSpToEmailMapping)\");\r\n }\r\n\r\n mappedVal.type = typeof mappedVal.value;\r\n return mappedVal;\r\n }\r\n\r\n public getOfficeJSToEmailMapping = (spColumnName: string, mailboxItem?: any): { mappedVal: IMappedValue, mailPropertyName: string } => {\r\n let mappedVal: IMappedValue = { value: null, type: null };\r\n let mailPropertyName = \"\";\r\n try {\r\n mailPropertyName = this.fieldSharePointColumns.find(fieldsPerCat => {\r\n return fieldsPerCat.fields.some(field => field === spColumnName);\r\n })?.category;\r\n\r\n if (mailPropertyName && mailboxItem) {\r\n switch (mailPropertyName.toLowerCase()) {\r\n case \"subject\":\r\n mappedVal.value = mailboxItem?.subject;\r\n break;\r\n case \"from\":\r\n mappedVal.value = mailboxItem?.sender?.emailAddress?.address; //email address? display name\r\n break;\r\n case \"date\":\r\n mappedVal.value = mailboxItem?.sentDateTime;\r\n break;\r\n case \"received\":\r\n mappedVal.value = mailboxItem?.receivedDateTime;\r\n break;\r\n case \"to\":\r\n mappedVal.value = mailboxItem?.toRecipients?.map(t => t.emailAddress?.address);\r\n break;\r\n case \"bcc\":\r\n mappedVal.value = mailboxItem?.bccRecipients?.map(bcc => bcc.emailAddress?.address);\r\n break;\r\n case \"cc\":\r\n mappedVal.value = mailboxItem?.ccRecipients?.map(cc => cc.emailAddress?.address);\r\n break;\r\n case \"categories\":\r\n mappedVal.value = mailboxItem?.categories?.map(cat => cat);\r\n break;\r\n case \"conversationindex\":\r\n mappedVal.value = mailboxItem?.conversationIndex;\r\n break;\r\n case \"conversationtopic\":\r\n mappedVal.value = mailboxItem?.conversationId;\r\n break;\r\n case \"attachments\":\r\n mappedVal.value = mailboxItem?.hasAttachments?.toString();\r\n break;\r\n case \"inreplyto\":\r\n mappedVal.value = null; //??\r\n break;\r\n case \"messageid\":\r\n mappedVal.value = mailboxItem?.internetMessageId;\r\n break;\r\n case \"references\":\r\n mappedVal.value = null; //??\r\n break;\r\n case \"replyto\":\r\n mappedVal.value = mailboxItem?.replyTo?.map(v => v.emailAddress?.address);\r\n break;\r\n case \"importance\":\r\n mappedVal.value = mailboxItem?.importance;\r\n break;\r\n case \"originalSubject\".toLowerCase():\r\n mappedVal.value = mailboxItem?.subject;\r\n break;\r\n default:\r\n mappedVal.value = null;\r\n break;\r\n }\r\n }\r\n } catch (err) {\r\n logger(err, \"EmailMapper.ts (getOfficeJSToEmailMapping)\");\r\n }\r\n\r\n mappedVal.type = typeof mappedVal.value;\r\n\r\n return {\r\n mappedVal, mailPropertyName\r\n };\r\n }\r\n\r\n public getAllListedColumns = (): string[] => {\r\n return this.allSharePointColumns;\r\n }\r\n\r\n public emailMappingCategoryNameResolver = (languageStrings: any, key: string): string => {\r\n let translation: string;\r\n switch (key) {\r\n case \"contentType\":\r\n translation = languageStrings.ContentType ?? \"No localization contentType\";\r\n break;\r\n case \"subject\":\r\n translation = languageStrings.Subject ?? \"No localization subject\";\r\n break;\r\n case \"from\":\r\n translation = languageStrings.From ?? \"No localization from\";\r\n break;\r\n case \"date\":\r\n translation = languageStrings.Date ?? \"No localization date\";\r\n break;\r\n case \"received\":\r\n translation = languageStrings.Received ?? \"No localization received\";\r\n break;\r\n case \"to\":\r\n translation = languageStrings.To ?? \"No localization to\";\r\n break;\r\n case \"bcc\":\r\n translation = languageStrings.Bcc ?? \"No localization bcc\";\r\n break;\r\n case \"cc\":\r\n translation = languageStrings.Cc ?? \"No localization cc\";\r\n break;\r\n case \"categories\":\r\n translation = languageStrings.Categories ?? \"No localization categories\";\r\n break;\r\n case \"conversationIndex\":\r\n translation = languageStrings.ConversationIndex ?? \"No localization conversationIndex\";\r\n break;\r\n case \"conversationTopic\":\r\n translation = languageStrings.ConversationTopic ?? \"No localization conversationIndex\";\r\n break;\r\n case \"attachments\":\r\n translation = languageStrings.Attachments ?? \"No localization attachments\";\r\n break;\r\n case \"inReplyTo\":\r\n translation = languageStrings.InReplyTo ?? \"No localization inReplyTo\";\r\n break;\r\n case \"messageId\":\r\n translation = languageStrings.MessageId ?? \"No localization messageId\";\r\n break;\r\n case \"references\":\r\n translation = languageStrings.References ?? \"No localization references\";\r\n break;\r\n case \"replyTo\":\r\n translation = languageStrings.ReplyTo ?? \"No localization replyTo\";\r\n break;\r\n case \"importance\":\r\n translation = languageStrings.Importance ?? \"No localization importance\";\r\n break;\r\n case \"originalSubject\":\r\n translation = languageStrings.OriginalSubject ?? \"No localization originalSubject\";\r\n break;\r\n default:\r\n translation = \"Invalid type.\";\r\n break;\r\n }\r\n return translation[0].toUpperCase() + translation.substring(1);\r\n }\r\n\r\n public emailTypeIconNameResolver = (mailPropertyName: string) => {\r\n switch (mailPropertyName.toLowerCase()) {\r\n case \"date\":\r\n return \"DateTime\";\r\n case \"received\":\r\n return \"DateTime\";\r\n case \"attachments\":\r\n return \"CheckboxComposite\";\r\n default:\r\n return \"TextField\";\r\n }\r\n }\r\n}\r\n\r\nconst emailMapper = new EmailMapper();\r\nexport default emailMapper;","import { sp, IFieldInfo, IRegionalSettingsInfo, IViewInfo } from \"@pnp/sp/presets/all\";\r\nimport { sharepoint } from \"../config/constants\";\r\nimport { parseString } from \"xml2js\";\r\nimport { IMetadataInfo } from \"../interfaces/IMetadataInfo\";\r\nimport { removeDuplicates } from \"../components/helpers/collectionHelpers\";\r\nimport { logger } from \"../../../utilities/logger\";\r\n\r\nexport class SharepointSpServices {\r\n constructor(private webUrl: string, private accessToken: string) {\r\n sp.setup({\r\n ie11: true,\r\n sp: {\r\n headers: {\r\n Accept: \"application/json;odata=verbose\",\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n baseUrl: webUrl,\r\n },\r\n });\r\n }\r\n\r\n setUpSp(accessToken: string, webUrl: string) {\r\n sp.setup({\r\n ie11: true,\r\n sp: {\r\n headers: {\r\n Accept: \"application/json;odata=verbose\",\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n baseUrl: webUrl,\r\n },\r\n });\r\n }\r\n\r\n getDocumentLibraryEnableFolderCreationSetting = async (sharePointListId: string): Promise => {\r\n try {\r\n const result = await sp.web.lists.getById(sharePointListId).select(\"EnableFolderCreation\")();\r\n return result.EnableFolderCreation;\r\n } catch (err) {\r\n logger(err, \"SharePointSptService.ts (getDocumentLibraryEnableFolderCreationSetting)\");\r\n return false;\r\n }\r\n };\r\n\r\n getSiteRegionalSettings = async (): Promise => {\r\n try {\r\n return await sp.web.regionalSettings.get();\r\n } catch (error) {\r\n logger(error, \"SharePointService.ts (getSiteRegionalSettings)\");\r\n return null;\r\n }\r\n };\r\n\r\n getDocumentLibraryMetadataFields = async (documentLibrary: string): Promise => {\r\n try {\r\n const contentTypes = await sp.web.lists.getById(documentLibrary).contentTypes.select(\"Id\").get();\r\n const result = await Promise.all(\r\n contentTypes.map(async (item) => {\r\n this.setUpSp(this.accessToken, this.webUrl);\r\n let res = await sp.web.lists\r\n .getById(documentLibrary)\r\n .contentTypes.getById(item.Id.StringValue)\r\n .fields.filter(sharepoint.contentTypeFiltering)\r\n .select(\"SchemaXml\")\r\n .get();\r\n if (!res.length) {\r\n return [];\r\n }\r\n\r\n return res.map(this.convertMetadataToFields);\r\n })\r\n );\r\n\r\n const metadataWithDuplicates = result.reduce((aggregates, current) => [...aggregates, ...current], []);\r\n return removeDuplicates(metadataWithDuplicates, \"Description\");\r\n } catch (err) {\r\n logger(err, \"SharePointSptService.ts (getDocumentLibraryMetadataFields)\");\r\n return [];\r\n }\r\n };\r\n\r\n private convertMetadataToFields = (item): IMetadataInfo => {\r\n let xmlData = {};\r\n parseString(item.SchemaXml, (err, result) => {\r\n if (result) {\r\n xmlData = result.Field.$;\r\n }\r\n });\r\n\r\n return {\r\n Type: xmlData[\"Type\"],\r\n Description: xmlData[\"Name\"],\r\n };\r\n };\r\n\r\n getTaxonomyTermSet = async (sharepointListId: string, internalName: string): Promise => {\r\n try {\r\n return await sp.web.lists\r\n .getById(sharepointListId)\r\n .fields.getByInternalNameOrTitle(internalName)\r\n .select(\"TermSetId,AnchorId\")\r\n .get();\r\n } catch (err) {\r\n logger(err, \"SharePointSptService.ts (getTaxonomyTerms)\");\r\n return null;\r\n }\r\n };\r\n\r\n getSharePointView = async (sharepointListId: string) => {\r\n const views: IViewInfo[] = await sp.web.lists\r\n .getById(sharepointListId)\r\n .views.select(\"Id,Title,DefaultView,ListViewXml\")\r\n .filter(\"Hidden eq false\")\r\n .get();\r\n return views;\r\n };\r\n}\r\n\r\n"],"names":["DocumentTemplateTypes","iconStyles","root","display","marginLeft","marginRight","rootContentType","selectedItems","waitFor","setIsCMCreateFolderPanelOpen","newDocumentTemplates","openCreateTemplateModal","languageStrings","useContext","LanguageContext","currentSharepointFolder","useSelector","state","isBusySaving","savingInBackground","workingDirectories","currentDirectory","length","siteInfo","tenantInfo","sites","searchValue","contentManagerDirectory","value","enableNewTemplateFilters","newTemplateDocumentSetFilters","newTemplateFolderFilters","newTemplateLibraryFilters","enforceStrictDocumentSetsOnly","useState","menuItem_New","setMenuItem_New","renderIcon","useCallback","template","templateId","Icon","getFileTypeIconProps","type","FileIconType","folder","size","imageFileType","styles","iconName","linkIconStyles","isContentType","contentTypeId","startsWith","SharePointFolderContentTypeIds","documentSet","docset","linkedFolder","extention","extension","genericFile","newItem","key","disabled","sharePointListId","text","NewOnly","iconProps","subMenuProps","items","useEffect","hasListInWorkingDir","some","x","ComponentTypes","SharePointList","userPermissions","canAddListItem","canEditListItem","isInFolder","serverRelativePath","directory","parentId","FolderViewWrapper","canViewFolder","newTemplates","filter","forEach","canCreateFolder","originalCreateFolder","Folder","onRenderIcon","onClick","includes","newTemplateFilterEnum","push","subMenuItem","title","dir","file","originalCreateListItem","ListItem","listItem","ShareableLinkRequestType","ShareableLinkRequestScope","InsightType","InsightContainerTypes","staggeredBaseQueryWithBailOut","retry","args","api","extraOptions","fetchBaseQuery","baseUrl","prepareHeaders","headers","result","errorStatus","error","status","fail","maxRetries","apiGraphSlice","createApi","reducerPath","baseQuery","endpoints","builder","getMetaDataFields","query","Headers","set","accessToken","driveId","itemId","url","piiConfig","privacySentitiveColumnName","privacySentitiveDataColumnName","method","getUsers","request","orderby","select","getAllUsers","top","getPeople","getGroups","getDriveInfoFromSharepointId","sharepointId","getItemWebUrl","getItem","getRecentFiles","transformResponse","response","newResponse","item","remoteItem","col_name","name","col_lastModifiedDateTime","lastModifiedDateTime","col_size","col_lastModifiedBy","lastModifiedBy","user","displayName","searchSharePoint","searchFilter","siteUrlList","from","queryString","Array","isArray","siteUrl","map","join","body","requests","entityTypes","fields","searchFields","graph","hitsContainers","getSiteIdFromDriveId","getDriveItemBySharingUrl","sharingUrl","base64Value","window","btoa","encodedUrl","replace","RegExp","replaceAll","sendMail","html","recipient","useLazyGetMetaDataFieldsQuery","useLazyGetUsersQuery","useLazyGetAllUsersQuery","useLazyGetPeopleQuery","useLazyGetGroupsQuery","useLazyGetDriveInfoFromSharepointIdQuery","useLazyGetRecentFilesQuery","useLazySearchSharePointQuery","useLazyGetItemWebUrlQuery","useLazyGetSiteIdFromDriveIdQuery","useLazyGetItemQuery","useLazyGetDriveItemBySharingUrlQuery","useLazySendMailQuery","apiPiiSlice","getTenantApiKey","checkPii","mutation","data","graphItemPii","useCheckPiiMutation","useGraphItemPiiMutation","apiNintexSlice","getTasks","assignee","stopInstance","instanceId","reason","useLazyGetTasksQuery","useLazyStopInstanceQuery","effectiveBasePermissionsPropName","apiSharePointSlice","getListColumns","getListColumnsSchema","getListServerRelativeUrl","sendSharepointItemToRecyclebin","renderListAsStream","viewXml","viewId","gridProps","filterSections","includeReplaceGroup","filterSectionItemsExpandParams","nextPageUrl","isReport","searchValueStr","trim","overrideViewXml","filterStrings","reportCondition","filterFieldCount","condition","field","section","daysOffset","filterField","RealFieldName","Type","selected","selectedCount","isWordSelected","fileType","isExcelSelected","isPowerPointSelected","isVisioSelected","fieldValues","filterValue","filterType","filterOp","filterFieldsString","viewIdurl","sortFields","buildSortByUrl","sort","parameters","DatesInUtc","ViewXml","OverrideViewXml","AddRequiredFields","AllowMultipleValueFilterForTaxonomyFields","RenderOptions","tryDecodeUriComponent","i","n","ListData","Row","getUserEffectivePermissionsFromMask","PermMask","renderListAsStreamTree","ReplaceGroup","renderListAsStreamByID","Id","renderListAsStreamGroupDrilldown","groupString","sortProps","nextHref","groupPagedUrl","URL","searchParams","append","href","renderListAsStreamGroupDrilldown2","renderListAsStreamNextPage","renderListAsStreamSearch","FirstGroupOnly","getItemByUniqueID","uniqueId","getFileByID","getItemBySPItemURL","spItemUrl","getItemByItemAndDriveID","checkoutItem","checkinItem","checkinType","comment","publishItem","unpublishItem","undoCheckout","getItemVersions","getItemByUniqueIDVersions","restoreVersionByLabel","versionLabel","deleteVersionByLabel","deleteAllVersions","bulkValidateUpdateListItems","folderPath","formValues","FieldName","FieldValue","itemIds","createDocumentAndGetEditLink","filename","fileWithExtention","documentTemplateType","one","getSiteExpandAuthor","getSiteGroupUsers","groupId","getDocumentLibraryGroupUsers","breakRoleInheritanceOfList","deleteLibraryCurrentRoleForGroup","userId","roleDefId","addLibraryCurrentRoleForGroup","getSiteRoleAssignments","getRoleDefinitions","moveUsertoSiteGroup","LoginName","addUsersToGroup","roleValue","users","loginNameTypeOveride","spListObjStr","propagateAcl","emailBody","emailSubject","includeAnonymousLinkInEmail","peoplePickerInput","isGroup","userGuid","email","toLowerCase","sendEmail","removeUserFromSiteGroup","getSecurityGroupMembersOwners","groupGuid","userType","getCopyJobProgress","copyJobInfo","getSharingInformation","getFollowedSites","direction","decending","directionField1","directionField2","useLazyGetListColumnsQuery","useLazyGetListColumnsSchemaQuery","useLazyRenderListAsStreamQuery","useLazyRenderListAsStreamGroupDrilldownQuery","useLazyRenderListAsStreamGroupDrilldown2Query","useLazyRenderListAsStreamNextPageQuery","useLazyRenderListAsStreamSearchQuery","useLazyGetItemByUniqueIDQuery","useLazyGetListServerRelativeUrlQuery","useLazyRenderListAsStreamByIDQuery","useLazySendSharepointItemToRecyclebinQuery","useLazyGetItemBySPItemURLQuery","useLazyGetItemByItemAndDriveIDQuery","useLazyGetFileByIDQuery","useLazyCheckoutItemQuery","useLazyCheckinItemQuery","useLazyUnpublishItemQuery","useLazyPublishItemQuery","useLazyUndoCheckoutQuery","useLazyGetItemVersionsQuery","useLazyGetItemByUniqueIDVersionsQuery","useLazyRestoreVersionByLabelQuery","useLazyDeleteVersionByLabelQuery","useLazyDeleteAllVersionsQuery","useLazyBulkValidateUpdateListItemsQuery","useLazyCreateDocumentAndGetEditLinkQuery","useLazyGetSiteExpandAuthorQuery","useLazyGetSiteGroupUsersQuery","useLazyGetSiteRoleAssignmentsQuery","useLazyMoveUsertoSiteGroupQuery","useLazyAddUsersToGroupQuery","useLazyRemoveUserFromSiteGroupQuery","useLazyGetDocumentLibraryGroupUsersQuery","useLazyAddLibraryCurrentRoleForGroupQuery","useLazyDeleteLibraryCurrentRoleForGroupQuery","useLazyBreakRoleInheritanceOfListQuery","useLazyGetRoleDefinitionsQuery","useLazyGetSecurityGroupMembersOwnersQuery","useLazyGetCopyJobProgressQuery","useLazyGetSharingInformationQuery","useLazyGetFollowedSitesQuery","useLazyRenderListAsStreamTreeQuery","tenantId","getData","isNextPageRequest","getFlowAccessToken","axiosRetryGet","this","getBaseUrl","authorization","accept","Error","statusText","postData","axiosRetryPost","getMyApprovals","approvalResponse","approvals","nextLink","concat","logger","respond","approvalName","properties","comments","reassign","assignedToEmail","userUniqueId","responses","userName","find","assignedTo","id","ApprovalsService","ContentManagerCopyMoveModeEnum","ContentManagerDirectoryEnum","ContentManagerHomeEnum","FileTypeEnum","OneDriveOverWriteEnum","removeDuplicates","arr","idsPresent","seen","Set","has","ArrayIdCombiner","filterDuplicatesStrings","collection","siteAndLibrary","index","indexOf","t","originalArray","prop","newArray","lookupObject","documentLibrary","site","siteDisplayName","reduce","acc","current","documentLibraries","DocumentLibrary","documentLibraryIsViewable","autoFolderCreationEnabled","FolderView","getSharePointAccessToken","SharepointSpServices","webUrl","getDocumentLibraryEnableFolderCreationSetting","removeSaveLocation","locations","Saving","pop","itemExists","existingItem","newItems","StoreItemHelper","folderExists","getExistingItem","existingItems","getExistingFolder","cannotBeRemoved","isCustomEntry","parentReference","getLastSplittedStringItem","folderId","filePath","Files","datePinned","Date","toDate","modifiedBy","sharedByName","shared","sharedBy","sharedByEmail","sharedDateTime","RecentFilesMapper","theme","getTheme","panelStyles","fontSize","color","palette","themeDarkAlt","profilePanelStyles","header","paddingLeft","paddingRight","content","uploadPanelStyles","paddingTop","footer","backgroundColor","settingsIconClass","mergeStyles","cursor","detailListStyles","margin","padding","MsOverflowStyle","headerWrapper","detailRowStyles","selectors","detailRowLinkStyles","neutralPrimary","textDecoration","maxWidth","detailRowPiiDetectedStyles","borderBottom","detailRowPiiNotDetectedStyles","detailRowPiiDetectedStylesCM","detailRowPiiNotDetectedStylesCM","clearButtonClass","flexDirection","alignItems","flexBasis","flexShrink","neutralLighter","borderRadius","getRTL","neutralSecondary","confirmDeleteButtonStyles","rootHovered","editFilePropertiesButtonStyles","paddingBottom","dropZoneStyles","borderWidth","borderStyle","borderColor","boxSizing","dropZoneStyleSets","mergeStyleSets","dropzoneActive","position","pointerEvents","left","bottom","right","zIndex","dragZoneStyleSets","dragzoneActive","fileIconHeaderIcon","brandedCommandbarIconStyles","breadCrumbContainerStyles","height","breadCrumbStyles","marginTop","marginBottom","chevron","lineHeight","overflowButton","previewWebPanelStyles","main","overflow","commands","payload","expanderConstants","home","pinned","recent","suggestions","approvalCenter","sharepoint","folders","files","sharepointDocument","libraries","subsites","oneDrive","teams","joinedTeams","channels","tess","activeProjects","draftProjects","finishedProjects","SET_SAVING_LOCATION","RESET_SAVING_LOCATION","ADD_WORKING_DIRECTORY","ADD_WORKING_DIRECTORIES","SET_WORKING_DIRECTORIES","SET_ONE_DRIVE_DETAILS","REMOVE_WORKING_DIRECTORY","RESET_WORKING_DIRECTORY","REMOVE_WORKING_DIRECTORIES_BY_INDEX","REMOVE_WORKING_DIRECTORIES_BY_INDEX_INDEX_AND_ADD_ITEM","SET_TENANT_INFO","SET_DATASOURCE","TOGGLE_LOADING","RESET_FILES","SET_FILES","SET_COMPOSE_FILES","SET_COMPOSE_VISIBILITY","RESET_COMPOSE","SET_FILE","ADD_UPLOADED_FILE","ADD_UPLOADED_FILES","SET_DUPLICATE_EMAILS","SET_FILES_EXPANDER","SET_FILES_CAN_OVERWRITE","SET_FILES_ONE_DRIVE_OVERWRITE_OPTION_IS_SELECTED","SET_FILE_SELECTED","REMOVE_FILE","DELETE_FILES_BY_ORIGINALNAME","UPDATE_FILE_NAME","SET_IS_SAVING_IN_BACKGROUND","SET_NEEDS_REDIRECT_TO_HOME","SET_IS_BUSY_SAVING","SET_IS_CHECKING_DUPLICATES","SET_IS_LOADING_METADATA","SET_OVERLAY_VISIBILITY","TOGGLE_RELOAD","REFRESH_RELOAD","RESET_REFRESH","SET_LOADING","INCREMENT_AMOUNT_LOADING","DECREMENT_AMOUNT_LOADING","ADD_FOLDER","GET_FOLDERS","SET_CURRENT_SHAREPOINT_FOLDER_CAN_VIEW","SET_SHAREPOINT_INFO","SET_IS_SITES_LOADING","SET_SITES_LAST_CACHE_REFRESH","RESET_SHAREPOINT_INFO","SET_MODE","SET_EXPANDED_ITEM","SET_USER_LICENSE_TYPE","SET_USER_FULL_PROFILE","SET_SHOW_FOLDER_DELETE_DIALOG","SET_USER_RECENT_ITEMS","SET_USER_PINNED_ITEMS","SET_USER_SUGGESTED_ITEMS","SET_USER_SHARED_ITEMS","SET_PINNED_IS_LOADING","SET_SUGGESTED_IS_LOADING","SET_RECENT_IS_LOADING","SET_SHARED_IS_LOADING","ADD_USER_RECENT_ITEM","ADD_USER_PINNED_ITEM","ADD_USER_SUGGESTED_ITEM","ADD_USER_SHARED_ITEM","GET_USER_RECENT_ITEMS","GET_USER_PINNED_ITEMS","GET_USER_SUGGESTED_ITEMS","GET_USER_SHARED_ITEMS","DELETE_USER_RECENT_ITEM","DELETE_USER_PINNED_ITEM","DELETE_USER_SUGGESTED_ITEM","DELETE_USER_SHARED_ITEM","RESET_USER_RECENT_ITEMS","RESET_USER_PINNED_ITEMS","RESET_USER_SUGGESTED_ITEMS","RESET_USER_SHARED_ITEMS","RESET_HOME_ITEMS","SET_USER_ONE_DRIVE_URL","SET_USER_ACCOUNT","RESET_USER_ACCOUNT","SET_SEARCH","SET_IS_IN_SEARCH_MODE","SET_SEARCH_FILTER_TYPE","SET_IS_TEAMS_LOADING","SET_TEAMS_LAST_SERVER_REFRESH","SET_TEAMS_LAST_CACHE_REFRESH","SET_TEAMS","SET_TEAM_CHANNELS","RESET_TEAMS","SET_ONE_DRIVE_LOCATION_BEFORE_SAVING","RESET_DRIVE_LOCATION_BEFORE_SAVING","ADD_REGIONAL_SETTINGS","SET_USER_PROFILE","SET_USER_SETTINGS","CLEAR_ALL_STATE","RESET_APPROVALS","SET_IS_APPROVALS_LOADING","SET_APPROVALS","SET_APPROVALSCOUNT","SET_LAST_APPROVAL_LOAD","REMOVE_APPROVAL","SET_CONTENT_MANAGER_DIRECTORY","RESET_CONTENT_MANAGER_DIRECTORY","SET_IS_CONTENT_MANAGER_CONTENT_LOADING","SET_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED","TOGGLE_IS_CONTENT_MANAGER_SIDEMENU_COLLAPSED","SET_CONTENT_MANAGER_FILTER_VALUE","SET_CONTENT_MANAGER_SEARCH_VALUE","SET_CONTENT_MANAGER_SEARCH_FILTER_TYPE","TOGGLE_CONTENT_MANAGER_RELOAD","SET_CONTENT_MANAGER_FILTER_FIELDS","SET_CONTENT_MANAGER_FILTER_SECTIONS","SET_CONTENT_MANAGER_FILTER_SECTIONS_RESET","SET_CONTENT_MANAGER_FILTER_SECTION_ITEM","SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS","SET_CONTENT_MANAGER_FILTER_SECTION_ITEMS_FROM_RANGE","SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SHOW_MORE","SET_CONTENT_MANAGER_FILTER_SECTION_TOGGLE_SLIDER","SET_CONTENT_MANAGER_MOVETO_MOVETOENABLED","SET_CONTENT_MANAGER_MOVETO_WORKING_DIRECTORIES","SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES","SET_CONTENT_MANAGER_MOVETO_SITEURL","SET_CONTENT_MANAGER_MOVETO_SOURCE_SERVERRELPATH","SET_CONTENT_MANAGER_MOVETO_BUSYMOVINGFILES","SET_CONTENT_MANAGER_MOVETO_SELECTED_FILES_ISBUSY_PROGRESS","SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS","SET_CONTENT_MANAGER_MOVETO_ADDTO_COPYJOBRESULTS","SET_CONTENT_MANAGER_MOVETO_COPYJOBRESULTS_IDS_TO_REMOVE","SET_CONTENT_MANAGER_MOVETO","SET_CONTENT_MANAGER_MOVETO_ERROR","SET_CONTENT_MANAGER_MOVETO_COMPLETED_ITEM_COUNT","SET_CONTENT_MANAGER_EXCHANGE","SET_CONTENT_MANAGER_EXCHANGE_PROGRESS","SET_CONTENT_MANAGER_EXCHANGE_ADDITIONAL_MAILBOXES","SET_CONTENT_MANAGER_SELECTED_HOME_SECTION","RESET_CONTENT_MANAGER_MOVETO","initialState","isApprovalsLoading","approvalCount","lastApprovalLoad","setApprovals","typedAction","setLastApprovalLoad","setApprovalsCount","approvalsCount","removeApproval","approval","resetApprovals","getApprovals","shouldUpdateSilently","completedCallback","dispatch","getState","action","toUTCString","newApprovals","selectedHomeSection","Pinned","isContentLoading","isSideMenuCollapsed","toggleReload","Home","filterFields","moveTo","mode","moveToEnabled","selectedFiles","sourceSiteUrl","sourceServerRelPath","destinationServerRelPath","busyFetchingFiles","busyMovingFiles","copyJobResults","isMoveComplete","isMoveCancelled","isMoveInProgress","isPreparingJobs","destinationDirectory","sourceDirectory","progressCountTotal","progressCountCompleted","exchange","selectedFolderId","selectedFolderName","selectedAccount","additionalMailboxes","undefined","setContentManagerDirectory","registerHistory","resetContentManagerDirectory","setIsContentManagerContentLoading","setIsContentManagerSideMenuCollapsed","toggleIsContentManagerSideMenuCollapsed","setContentManagerFilterValue","setContentManagerSearchValue","setContentManagerSearchFilterType","toggleContentManagerReload","setContentManagerFilterFields","setContentManagerFilterSections","setContentManagerFilterSectionsReset","setContentManagerFilterSectionItem","filterSection","sectionItem","isChecked","setContentManagerFilterSectionItems","sectionItems","setContentManagerFilterSectionItemsFromRange","setContentManagerFilterSectionToggleShowMOre","setContentManagerFilterSectionToggleSlider","setContentManagerMoveToMoveToEnabled","setContentManagerMoveToWorkingDirectory","setContentManagerMoveToSelectedFiles","setContentManagerMoveToSiteUrl","setContentManagerMoveToSourceServerRelPath","setContentManagerMoveToBusyMovingFiles","setContentManagerMoveToSelectedFilesIsBusyProgress","selectedIds","isBusy","setContentManagerMoveToCopyJobResults","CacheHelper","DocubirdCache","setContentManagerMoveToCopyJobResultsIdsToRemove","idsToRemove","setContentManagerMoveToAddToCopyJobResults","setContentManagerMoveTo","setContentManagerMoveToError","setContentManagerExchange","setContentManagerExchangeProgress","progress","setContentManagerSelectedHomeSection","setContentManagerExchangeAdditionalMailboxes","resetContentManagerMoveTo","incrementContentManagerMoveToCompletedItemCount","completedItemCount","registerHistoryEntry","showMoreExpanded","showSlider","copyJobResultsCompletedIds","selectedFile","UniqueId","CopySelectedEmails","CopyEntireFolderEmails","remove","selectedExchangeItems","spEmailPropertyMappings","taskId","message","logs","history","pushState","cleanUrl","location","split","locationName","SharePoint","Teams","Exchange","replaceState","document","canView","setCanViewFolder","folderState","values","initialLoad","setDatasourceValues","callerId","setExpandedItem","expanderItem","property","toggle","canOverwrite","expanderIsOpen","oneDriveOverwriteOption","notSelected","compose","isGraphQuery","isVisible","setFiles","setFile","setComposeFiles","setComposeVisibility","resetCompose","addUploadedFile","addUploadedFiles","resetFiles","setFilesCanOverwrite","canOverWrite","setFileExpander","setOneDriveOverwriteOptionSelected","oneDriveOverWriteOptionSelected","resetDuplicateFilesAndOverWriteSettings","isDuplicate","updatedFiles","filePreCommitResult","deleteFilesByOriginalName","originalFileNames","updateFileName","nameInfo","setFileIndex","canSaveAsPDF","validSaveAsPdfExtentions","ext","originalName","mapUpdateFileEntry","propertyName","idToUpdate","currentId","ModeEnum","mailCompose","setMode","locationBeforeSaving","setLocationBeforeSaving","resetLocationBeforeSaving","isPinnedItemsLoading","pinnedItems","setPinnedItems","resetPinnedItems","getPinnedItems","accountId","apiGetCompressedPinnedData","compressedPinnedData","fallback","decompressedPinned","LZString","decompressFromBase64","JSON","parse","apiGetOldPinnedItems","slice","addPinnedItem","itemToPin","updatedPinnedItems","existingPinnedItems","existingPinnedItem","apiSetPinnedItems","e","updatePinnedItems","removePinnedItem","existingSavedItems","updatedItems","MovePinnedItemUp","itemToMoveIndex","MovePinnedItemDown","getPinnedFolderIndex","pinnedIndex","findIndex","isFolderPinned","getPinnedFileIndex","isFilePinned","isRecentItemsLoading","recentItems","setRecentItems","resetRecentItems","getRecentItems","getLocalRecentItems","apiGetCompressedRecentData","compressedRecentData","decompressedData","localRecentItems","apiGetOldRecentItems","recentItem","a","b","Promise","all","graphRecentFiles","graphRecentStoreItems","graphRemovedDuplicates","combined","addRecentItem","newRecentItems","updatedRecentItems","existingRecentItems","existingRecentItem","apiSetRecentItems","removeRecentItem","addRegionalSettings","regionalSetting","regionalSettingsReducer","isSavingInBackground","isSuccess","isCheckingForDuplicates","needsRedirectToHome","errorMessages","isLoadingMetadata","setIsSavingInBackground","setIsBusySaving","setIsCheckingForDuplicates","setIsBusyLoadingMetadata","setNeedsRedirectToHome","isOneDriveFolder","setSavingLocation","resetSavingLocation","friendlyName","appTitle","appLogo","appColor","allowedAdvancedSearchFields","allowedSiteCollections","allowedTeams","hiddenMetadataFields","datasources","metadataTextColors","getTenantInfo","apiGetTenantInfo","allowedField","allowedSite","allowedTeam","hiddenField","enablePII","tenantEnableApprovalHooks","apiKey","enableRedaction","replaceFileNameWithGUID","disableFileRename","enablePermissionManagement","openDocumentsInClientApp","enableCopyMoveTo","enableSharing","nintexClientId","nintexClientSecret","minVersionLimit","autoDeleteMinorVersionsOnPublish","requiredMetadataOnPublish","enableExchange","emailToMetadataMapping","hideAutoPreview","hideDocumentLibrariesInTeams","hideTeamsSitesInSharePoint","isTessEnabled","disableMailCategorization","enableAdvSearchMultiSites","disableAdvSearchContentTypes","disableAutoOpenAfterNewFileFromTemplate","setTenantInfo","addWorkingDirectory","addWorkingDirectories","setWorkingDirectories","setOneDriveDetails","oneDriveDetails","removeTopWorkingDirectory","resetWorkingDirectories","removeDirectoriesByIndex","removeDirectoriesByIndexAndAddItem","oneDriveRootDetails","updatedWorkingDirectories","parseInt","locationTitle","contentType","subject","date","received","to","bcc","cc","categories","conversationIndex","attachments","messageId","replyTo","importance","originalSubject","emailMappingTypes","IEmailMapper","emailMapper","fieldColumnMap","fieldSharePointColumns","allSharePointColumns","exchangeEmail","getColumnValue","columnName","f","setColumnNameValue","updateValuesFromExchange","exchangeData","findMappedColumnNames","fieldName","s","setMapping","jsonMappingString","mappingObject","updateMappingLists","getEmailMappingString","stringify","getSpToEmailMapping","spColumnName","mailbox","mailSendHeaders","mappedVal","mailPropertyName","fieldsPerCat","category","normalizedSubject","emailAddress","dateTimeCreated","receivedDateTime","ReceivedDateTime","resolve","reject","getAsync","Office","AsyncResultStatus","Succeeded","bccEmailAddress","v","c","ConversationIndex","conversationId","hasAttachments","toString","HasAttachments","internetMessageId","EmailAddress","Address","ReplyTo","Importance","getOfficeJSToEmailMapping","mailboxItem","sender","address","sentDateTime","toRecipients","bccRecipients","ccRecipients","cat","err","getAllListedColumns","emailMappingCategoryNameResolver","translation","ContentType","Subject","From","Received","To","Bcc","Cc","Categories","ConversationTopic","Attachments","InReplyTo","MessageId","References","OriginalSubject","toUpperCase","substring","emailTypeIconNameResolver","keys","Object","sharePointColumnNames","fieldSharePointColumnMap","emailColumn","spColumns","sp","web","lists","getById","EnableFolderCreation","getSiteRegionalSettings","regionalSettings","get","getDocumentLibraryMetadataFields","contentTypes","setUpSp","StringValue","contentTypeFiltering","res","convertMetadataToFields","metadataWithDuplicates","aggregates","xmlData","parseString","SchemaXml","Field","$","Description","getTaxonomyTermSet","sharepointListId","internalName","getByInternalNameOrTitle","getSharePointView","views","setup","ie11","Accept","Authorization"],"sourceRoot":""}